Saat Anda menetapkan kebijakan organisasi pada resource, semua turunan resource tersebut akan mewarisi kebijakan organisasi secara default. Jika Anda menetapkan kebijakan organisasi pada resource organisasi, batasan tersebut akan diwarisi oleh semua resource turunan.
Anda dapat menetapkan kebijakan organisasi yang sama dengan konfigurasi yang berbeda pada resource turunan, yang akan menggantikan atau digabungkan dengan kebijakan yang diwariskan berdasarkan aturan evaluasi hierarki.
Sebelum memulai
Baca halaman Memahami batasan untuk mempelajari apa itu batasan.
Baca ringkasan Layanan Kebijakan Organisasi untuk mempelajari cara kerja kebijakan organisasi.
Contoh hierarki
Dalam diagram hierarki resource berikut, setiap resource menetapkan kebijakan organisasi dan menentukan apakah resource tersebut mewarisi kebijakan resource induknya. Bentuk berwarna mewakili nilai yang diizinkan atau ditolak oleh kebijakan organisasi.
Batasan adalah definisi perilaku yang dikontrol oleh kebijakan organisasi. Dalam contoh sebelumnya, Constraint merepresentasikan default batasan, yang menentukan perilaku saat tidak ada kebijakan organisasi untuk batasan. Default batasan dalam contoh ini mengizinkan semua nilai
. Node di bawahnya menentukan kebijakan organisasi yang menggantikan default batasan dengan mengizinkan atau menolak nilai.Kebijakan efektif di setiap node dievaluasi berdasarkan aturan pewarisan. Jika kebijakan organisasi tidak ditetapkan, resource akan mewarisi perilaku batasan default. Jika Anda menetapkan kebijakan organisasi, kebijakan Anda akan digunakan. Pada contoh sebelumnya, Organization Node menentukan kebijakan yang mengizinkan
persegi merah dan lingkaran hijau.Resource yang berada dalam hierarki di bawah Node Organisasi dievaluasi sebagai berikut:
Resource 1 menentukan kebijakan yang menetapkan
inheritFromParent
keTRUE
dan mengizinkan berlian biru. Kebijakan dari Node Organisasi diwarisi dan digabungkan dengan kebijakan yang ditetapkan pada Resource 1. Kebijakan yang berlaku mengevaluasi untuk mengizinkan persegi merah, lingkaran hijau, dan berlian biru.Resource 2 menentukan kebijakan yang menetapkan
inheritFromParent
keTRUE
dan menolak lingkaran hijau . Nilai tolak selalu lebih diutamakan selama rekonsiliasi kebijakan. Kebijakan dari Node Organisasi diwarisi dan digabungkan dengan kebijakan yang ditetapkan pada Resource 2. Kebijakan yang berlaku dievaluasi untuk hanya mengizinkan persegi merah .Resource 3 menentukan kebijakan yang menetapkan
inheritFromParent
keFALSE
dan mengizinkan segi enam kuning . Kebijakan dari Node Organisasi tidak diwariskan, sehingga kebijakan yang berlaku hanya mengizinkan segi enam kuning .Resource 4 menentukan kebijakan yang menetapkan
inheritFromParent
keFALSE
dan mencakup nilairestoreDefault
. Kebijakan dari Node Organisasi tidak diwarisi, dan perilaku batasan default digunakan, sehingga kebijakan efektif dievaluasi untuk mengizinkan semua nilai .
Aturan evaluasi hierarki
Aturan berikut mengatur cara kebijakan organisasi dievaluasi pada resource tertentu. Anda memerlukan peran Administrator Kebijakan Organisasi untuk menetapkan kebijakan organisasi.
Tidak ada kebijakan organisasi yang ditetapkan
Jika Anda tidak menetapkan kebijakan organisasi, resource akan mewarisi dari ancestor terendahnya dengan kebijakan yang ditetapkan. Jika tidak ada kebijakan yang ditetapkan di mana pun dalam hierarki ancestor, maka perilaku default batasan akan diterapkan.
Pewarisan
Resource yang memiliki kebijakan organisasi yang ditetapkan secara default menggantikan kebijakan yang ditetapkan oleh resource induknya dalam hierarki. Namun, jika resource telah
menetapkan inheritFromParent = true
, maka Kebijakan efektif resource induk
diwarisi, digabungkan, dan disesuaikan untuk mengevaluasi kebijakan
efektif yang dihasilkan. Contoh:
- Folder menolak nilai
projects/123
. - Project di bawah folder tersebut menolak nilai
projects/456
.
Kedua kebijakan digabungkan, dan dalam hal ini menghasilkan kebijakan efektif yang menolak projects/123
dan projects/456
.
Mewarisi perilaku default
Perilaku default tidak pernah digabungkan. Jika kebijakan ditetapkan, kebijakan tersebut akan selalu menggantikan perilaku default. Contoh:
constraints/iam.allowServiceAccountCredentialLifetimeExtension
ditetapkan keDENY
secara default di tingkat organisasi.- Untuk batasan ini, project yang berada langsung di bawah organisasi tersebut mengizinkan
nilai
SomeServiceAccount
.
Karena perilaku default tidak pernah digabungkan dan selalu diganti, hal ini menghasilkan
kebijakan efektif yang mengizinkan SomeServiceAccount
. Sebaliknya, jika
kebijakan ditetapkan secara eksplisit ke DENY
di tingkat organisasi, aturan "nilai DENY
lebih diprioritaskan" akan berlaku dan kebijakan yang efektif adalah
DENY
.
Melarang pewarisan
Jika resource memiliki kebijakan yang mencakup inheritFromParent = false
, resource tersebut tidak mewarisi kebijakan organisasi dari induknya. Sebagai gantinya, resource mewarisi
perilaku default batasan kecuali jika Anda menetapkan kebijakan dengan nilai yang diizinkan atau ditolak.
Menyelesaikan konflik kebijakan
Saat resource mewarisi kebijakan organisasi, kebijakan yang diwarisi akan digabungkan dan disesuaikan dengan kebijakan organisasi resource induk. Saat
mengevaluasi kebijakan organisasi dengan aturan daftar, nilai DENY
selalu
diprioritaskan. Contoh:
- Folder menolak nilai
projects/123
. - Project di bawah folder tersebut mengizinkan nilai
projects/123
.
Kebijakan digabungkan dan nilai DENY
lebih diprioritaskan. Kebijakan efektif menolak semua nilai, dan dievaluasi dengan cara yang sama, baik resource induk maupun turunan menolak nilai. Sebaiknya jangan menyertakan nilai dalam daftar yang diizinkan dan ditolak. Melakukannya dapat membuat kebijakan Anda lebih sulit dipahami.
Kebijakan organisasi dengan aturan boolean tidak menggabungkan dan menyelaraskan kebijakan. Jika kebijakan ditentukan pada resource, nilai TRUE
atau FALSE
tersebut
digunakan untuk menentukan kebijakan yang berlaku. Contoh:
Folder menetapkan
enforced: true
untukconstraints/iam.managed.disableServiceAccountCreation
.Project di bawah folder tersebut menetapkan
enforced: false
untukconstraints/iam.managed.disableServiceAccountCreation
.
Nilai enforced: true
yang ditetapkan di folder diabaikan karena
enforced: false
ditentukan di project itu sendiri. Kebijakan organisasi tidak diterapkan di project tersebut.
Reset ke kebijakan default
Dengan memanggil RestoreDefault
, kebijakan organisasi menggunakan perilaku
default batasan untuk resource ini. Resource turunan juga mewarisi
perilaku ini.