Lộ trình
Google CloudAssociateTuần 1: Nền tảngBài 3 / 30

Ngày 3: IAM cơ bản

Thời lượng: 45 phút
Mục tiêu: 2 nhiệm vụ chính
Tiến độ lộ trình
gcp-acengày 3
hoàn thành3 / 30 bài
Bối cảnh bài học

Đọc IAM GCP bằng principal, permission, role và policy binding; thiết kế least privilege cho user, group và service account.

đọc hiểuthực hànhcheckpoint
Bài giảng hôm nay

Học hiểu, rồi mới thực hành

Đọc IAM GCP bằng principal, permission, role và policy binding; thiết kế least privilege cho user, group và service account.

Bắt đầu đọc bài giảng

Nhiệm vụ bài học hôm nay

  • Học Role, Permission, Principal trong IAM
  • Thực hành gán role Viewer cho 1 user thử nghiệm
Instructor walkthrough

Bài giảng chi tiết: từ bài toán đến bằng chứng

Scenario xuyên suốt

Developer được Owner toàn project chỉ để đọc logs, workload dùng service account key commit trong repo và custom role chứa wildcard. Bài học dạy cách thu hẹp quyền mà vẫn giữ evidence và khả năng vận hành.

01Đọc bài toán

Xác định actor, workload, constraint và trạng thái cuối cần đạt.

02Vẽ luồng / boundary

Chỉ ra request, dependency, identity và failure domain trước khi chọn công cụ.

03Chọn và thực hành

Thay đổi nhỏ nhất trong lab cô lập; command nào cũng phải nói rõ nó kiểm tra điều gì.

04Kiểm chứng / recovery

Đối chiếu trạng thái thực tế, tạo một failure variant và ghi cách hoàn tác.

Cách nối lý thuyết với thực tế
  • Principal có thể là user, group, service account, domain hoặc workforce/workload identity tùy context.
  • Permission là hành động; role là tập permission; policy binding gắn role với principal ở resource scope.
  • IAM policy kế thừa theo hierarchy; role cấp ở organization/folder có blast radius rộng hơn project/resource.
  • Predefined roles nên ưu tiên; custom role chỉ khi predefined role không đủ, với review/version/owner.

IAM từ hành động đến binding

Principal → role → permissions chưa đủ; cần thêm scope và inheritance. User/group phù hợp human access; service account/workload identity phù hợp application. Policy binding có thể ở organization/folder/project/resource và inherited access làm effective permissions rộng hơn binding nhìn thấy tại resource.

Least privilege

Bắt đầu từ task: developer cần đọc logs, deployer cần deploy service, app cần đọc bucket. Chọn predefined role nhỏ nhất, đặt scope nhỏ nhất, review group membership/expiry và test deny path. Custom role cần rationale, owner, version và tránh wildcard.

Credential safety

Không commit service account JSON key. Ưu tiên attached service account, workload identity hoặc impersonation; nếu legacy key bắt buộc, có rotation/revocation/monitoring/secret storage.

Bài tập

Tạo access matrix và migration plan khỏi Owner. Dùng get-iam-policy read-only, xác định direct/inherited binding và viết evidence cho việc role mới vẫn đủ task nhưng không có quyền thừa.

Terminal reference

Command list và cách dùng

Chạy từng lệnh theo đúng thứ tự. Trước các lệnh có thể tạo hoặc thay đổi tài nguyên, hãy kiểm tra profile, account và region.

Commands · read-only checkpoints
gcloud projects get-iam-policy LAB_PROJECT_ID --format="yaml(bindings)"
gcloud iam roles describe roles/viewer --format="yaml(name,title,includedPermissions)"
gcloud iam service-accounts list --project=LAB_PROJECT_ID
Hands-on lab

Thực hành theo scenario

  1. Lập access matrix cho developer, auditor, deployer và application: principal, role, scope, permissions cần/không cần, owner và review date.
  2. Đọc policy binding read-only trên lab project; phân biệt direct/inherited/group access và test effective permission.
  3. Thiết kế migration từ Owner → predefined narrow roles; mô phỏng service account impersonation, không tạo key dài hạn.
  4. Nếu tạo Viewer binding lab, đặt đúng project và gỡ sau khi verify; lưu output đã redacted.
Evidence checkpoint

Kiểm chứng kết quả

Không coi lệnh chạy thành công là đủ. Hãy đối chiếu output với trạng thái mong đợi:

  • Phân biệt principal/permission/role/binding.
  • Role scope và inheritance có blast-radius analysis.
  • Least privilege matrix có denied/unneeded actions.
  • Không dùng service account key dài hạn.
  • Có review/revoke/rollback evidence.
Transfer to exam / production

Bẫy thường gặp và trade-off

ACE câu IAM thường đánh vào “role vs permission”, inheritance và service account. Chọn scope nhỏ nhất đáp ứng task; đừng dùng Owner để chữa AccessDenied.

Checkpoint · 3 phút

Kiểm tra nhanh

Câu hỏi: Ứng dụng chạy trên Compute Engine cần đọc object trong một bucket cụ thể. Cách cấp quyền nào phù hợp nhất?

Kết thúc bài

Checklist trước khi sang Ngày 2