Halaman ini menjelaskan cara memecahkan masalah kebijakan izin, penolakan, dan batas akses akun utama Identity and Access Management (IAM).
Melihat semua kebijakan izin dan tolak yang berlaku untuk resource
Di Trusted Cloud, kebijakan izin dan penolakan 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 Trusted 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 Trusted 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": [ "principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/cloud-admins" ], "role": "roles/iam.denyAdmin" }, { "members": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/raha@example.com" ], "role": "roles/iam.serviceAccountAdmin" } ], "etag": "BwXW6Eab7TI=", "version": 1 }, "type": "organization" }, { "id": "my-project", "policy": { "bindings": [ { "members": [ "principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/cloud-admins" ], "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": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/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 konsol Trusted Cloud . Konsol Trusted Cloud otomatis menampilkan kebijakan efektif setiap resource.
Untuk mempelajari cara melihat kebijakan izin IAM resource di konsolTrusted Cloud , 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.