Halaman ini menjelaskan cara memecahkan masalah kebijakan izinkan, tolak, dan Principal Access Boundary (PAB) 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 memeriksa kebijakan izinkan, kebijakan tolak, dan kebijakan Principal Access Boundary (PAB) yang memengaruhi akses akun utama. Kemudian, Pemecah Masalah Kebijakan akan memberi tahu Anda apakah, berdasarkan kebijakan tersebut, akun utama dapat menggunakan izin yang ditentukan untuk mengakses resource. Pemecah Masalah Kebijakan juga mencantumkan kebijakan yang relevan dan menjelaskan pengaruhnya terhadap akses akun utama.Untuk mempelajari cara menggunakan Pemecah Masalah Kebijakan guna memecahkan masalah kebijakan izinkan, kebijakan tolak, dan kebijakan Principal Access Boundary, lihat Memecahkan masalah izin IAM.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk melihat semua kebijakan izinkan dan tolak, minta administrator untuk memberi Anda peran IAM Security Reviewer (roles/iam.securityReviewer) di organisasi yang berisi resource.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
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 Google Cloud project 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
untuk 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 konsol. Google Cloud Konsol otomatis menampilkan kebijakan efektif setiap resource's.
Untuk mempelajari cara melihat kebijakan izin IAM resource di Google Cloud konsol, 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.