Halaman ini menjelaskan cara memecahkan masalah kebijakan batas akses akun utama, izin, dan penolakan Identity and Access Management (IAM).
Menggunakan Pemecah Masalah Kebijakan
Jika Anda perlu memecahkan masalah akses untuk akun utama tertentu, gunakan Pemecah Masalah Kebijakan untuk IAM.
Pemecah Masalah Kebijakan membantu Anda memahami apakah akun utama dapat mengakses resource. Dengan mempertimbangkan akun utama, resource, dan izin, Pemecah Masalah Kebijakan akan memeriksa kebijakan izinkan, kebijakan tolak, dan kebijakan batas akses akun utama (PAB) yang memengaruhi akses akun utama. Kemudian, class ini memberi tahu Anda apakah, berdasarkan kebijakan tersebut, akun utama dapat menggunakan izin yang ditentukan untuk mengakses resource. Bagian ini juga mencantumkan kebijakan yang relevan dan menjelaskan pengaruhnya terhadap akses akun utama.Untuk mempelajari cara menggunakan Pemecah Masalah Kebijakan guna memecahkan masalah kebijakan izin, kebijakan tolak, dan kebijakan batas akses akun utama, lihat Memecahkan masalah izin IAM.
Melihat semua kebijakan izin dan tolak yang berlaku untuk resource
Di Google Cloud, kebijakan izinkan dan tolak berikut memengaruhi akses ke resource:
- Kebijakan izinkan resource
- Kebijakan penolakan resource, jika ada
- Kebijakan izinkan project induk, folder, dan organisasi resource, jika ada
- Kebijakan penolakan project, folder, dan organisasi induk resource, jika ada
Kebijakan izinkan dan tolak project induk, folder, dan organisasi memengaruhi akses ke resource karena adanya pewarisan kebijakan. Jika Anda melampirkan kebijakan izinkan atau tolak ke project, folder, atau organisasi, kebijakan tersebut juga berlaku untuk semua resource di dalam project, folder, atau organisasi tersebut.
Misalnya, jika kebijakan penolakan untuk organisasi mengatakan bahwa akun utama tidak dapat menggunakan izin tertentu, akun utama tidak dapat menggunakan izin tersebut untuk resource apa pun dalam organisasi. Aturan ini berlaku meskipun folder dan project di dalam organisasi tersebut memiliki kebijakan penolakan yang lebih permisif, atau mengizinkan kebijakan yang memberikan izin kepada entity utama.
Demikian pula, jika kebijakan izinkan untuk suatu project memberikan izin khusus kepada akun utama, maka akun utama memiliki izin tersebut untuk setiap resource dalam project, asalkan tidak ditolak.
Gabungan dari semua kebijakan ini disebut kebijakan yang berlaku atau kebijakan efektif untuk resource.
Di Google Cloud, Anda bisa mendapatkan daftar semua kebijakan izinkan dan tolak
yang memengaruhi akses ke project menggunakan perintah gcloud beta projects
get-ancestors-iam-policy
dengan flag --include-deny
. Bersama-sama,
kebijakan ini membentuk kebijakan yang berlaku untuk project. Anda dapat
menyelidiki setiap kebijakan untuk melihat pengaruhnya terhadap akses akun utama.
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
PROJECT_ID
: ID project Google Cloud Anda. Project ID adalah string alfanumerik, sepertimy-project
.
Jalankan perintah
gcloud beta projects get-ancestors-iam-policy
:
Linux, macOS, atau Cloud Shell
gcloud beta projects get-ancestors-iam-policy PROJECT_ID --include-deny --format=json
Windows (PowerShell)
gcloud beta projects get-ancestors-iam-policy PROJECT_ID --include-deny --format=json
Windows (cmd.exe)
gcloud beta projects get-ancestors-iam-policy PROJECT_ID --include-deny --format=json
Respons berisi kebijakan izinkan dan tolak untuk proyek; folder apa pun yang merupakan ancestor
project; dan organisasi. Contoh berikut menunjukkan kebijakan izinkan untuk
organisasi 1234567890123
dan project my-project
, serta kebijakan penolakan
project my-project
:
[ { "id": "1234567890123", "policy": { "bindings": [ { "members": [ "group:cloud-admins@example.com" ], "role": "roles/iam.denyAdmin" }, { "members": [ "user:raha@example.com" ], "role": "roles/iam.serviceAccountAdmin" } ], "etag": "BwXW6Eab7TI=", "version": 1 }, "type": "organization" }, { "id": "my-project", "policy": { "bindings": [ { "members": [ "group:cloud-admins@example.com" ], "role": "roles/owner" } ], "etag": "BwXXjOM7L6M=", "type": "project" } }, { "id": "my-project", "policy": { "createTime": "2022-02-14T21:46:35.865279Z", "displayName": "My deny policy", "etag": "MTgyMzg2ODcwNTEyMjMxMTM3Mjg=", "kind": "DenyPolicy", "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F123456789012/denypolicies/my-deny-policy", "rules": [ { "denyRule": { "deniedPermissions": [ "iam.googleapis.com/serviceAccounts.create" ], "deniedPrincipals": [ "user:raha@example.com" ] }, "description": "Prevent service account creation" } ], "uid": "c83e3dc3-d8a6-6f51-4018-814e9f200b05", "updateTime": "2022-02-14T21:46:35.865279Z" }, "type": "project" } ]
Dalam contoh ini, Raha diberi peran Service Account Admin (roles/iam.serviceAccountAdmin
) di organisasi, tetapi project memiliki kebijakan penolakan yang mencegah Raha menggunakan izin iam.googleapis.com/serviceAccounts.create
. Akibatnya, jika
Raha mencoba membuat akun layanan di project
my-project
, permintaan akan ditolak.
Dalam beberapa kasus, Anda mungkin hanya perlu melihat kebijakan izinkan yang efektif untuk resource—misalnya, jika organisasi Anda tidak menggunakan kebijakan tolak. Dalam kasus ini, Anda dapat menggunakan metode berikut untuk melihat kebijakan izin yang efektif:
Lihat kebijakan izin IAM resource di Google Cloud Console. Google Cloud Console otomatis menampilkan kebijakan efektif setiap resource.
Untuk mempelajari cara melihat kebijakan izin IAM resource di Google Cloud Console, lihat Melihat akses saat ini.
Gunakan Cloud Asset API untuk mendapatkan kebijakan izinkan resource yang efektif. Untuk mempelajari lebih lanjut, baca Melihat kebijakan IAM yang efektif.
Telusuri kebijakan yang diizinkan
Jika perlu menemukan binding peran tertentu dalam kebijakan izinkan, Anda dapat menelusuri kebijakan izinkan.
Inventaris Aset Cloud memungkinkan Anda menelusuri kebijakan izinkan untuk binding peran yang cocok dengan parameter yang ditentukan. Anda dapat menggunakan berbagai parameter penelusuran, termasuk parameter berikut:
- Jenis aset
- Jenis Utama:
- Peran
- Project
- Folder
- Organisasi
Untuk mengetahui informasi selengkapnya, lihat Menelusuri kebijakan izin IAM.