Halaman ini berisi informasi tentang cara menganalisis setelan kebijakan organisasi Anda untuk melihat resource mana yang tercakup dalam kebijakan organisasi mana. Dengan menggunakan Policy Analyzer untuk Kebijakan Organisasi, Anda dapat membuat kueri analisis untuk mendapatkan informasi tentang kebijakan organisasi kustom dan standar.
Kueri analisis terdiri dari cakupan dan batasan.
- Batasan: menentukan nama resource batasan.
Cakupan: menentukan organisasi untuk cakupan analisis. Semua kebijakan organisasi dengan batasan yang ditentukan dalam cakupan ini disertakan dalam analisis.
Untuk mengetahui informasi selengkapnya tentang kebijakan organisasi, lihat Pengantar Layanan Kebijakan Organisasi.
Untuk mengetahui informasi selengkapnya tentang cara membuat batasan kustom, lihat Membuat dan mengelola batasan kustom.
Untuk informasi selengkapnya tentang batasan terkelola, lihat Menggunakan batasan.
Sebelum memulai
Enable the Cloud Asset API.
Anda harus mengaktifkan API di project yang akan digunakan untuk mengirim kueri. Resource ini tidak harus sama dengan resource yang Anda gunakan untuk cakupan kueri.
Opsional: Jika Anda ingin menjalankan lebih dari 20 kueri analisis kebijakan per organisasi per hari, pastikan Anda memiliki aktivasi level organisasi untuk paket premium Security Command Center. Untuk informasi selengkapnya, lihat Pertanyaan penagihan.
Peran dan izin yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk menjalankan analisis kebijakan organisasi, minta administrator untuk memberi Anda peran IAM berikut pada resource organisasi tempat Anda ingin melakukan analisis:
-
Untuk melakukan analisis:
Cloud Asset Viewer (
roles/cloudasset.viewer
) -
Untuk melihat batasan:
Organization Policy Viewer (
roles/orgpolicy.policyViewer
)
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk menjalankan analisis kebijakan organisasi. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk menjalankan analisis kebijakan organisasi:
-
Untuk melakukan analisis:
-
cloudasset.assets.analyzeOrgPolicy
-
cloudasset.assets.searchAllResources
-
cloudasset.assets.searchAllIamPolicies
-
-
Untuk melihat batasan kustom dan terkelola:
orgpolicy.customConstraints.get
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Harga dan kuota
Policy Analyzer untuk Kebijakan Organisasi dalam skala besar (di atas 20 kueri per organisasi per hari) dan visualisasi pewarisan hanya tersedia untuk pelanggan dengan aktivasi Security Command Center level organisasi.
Kuota untuk Penganalisis Kebijakan untuk Kebijakan Organisasi dibagikan di antara semua alat Penganalisis Kebijakan. Untuk informasi selengkapnya, lihat Pertanyaan terkait penagihan.
Menganalisis kebijakan yang dikonfigurasi
Kebijakan organisasi dibuat dari batasan dan kondisi opsional yang menjadi dasar penerapan batasan tersebut. Anda dapat menggunakan Penganalisis Kebijakan untuk menampilkan daftar kebijakan organisasi dengan batasan tertentu dan resource yang dilampirkan ke kebijakan tersebut.
Untuk setiap kebijakan organisasi yang terdeteksi dalam cakupan kueri, Penganalisis Kebijakan akan menampilkan entri hasil. Entri hasil berisi kolom berikut:
consolidatedPolicy
: resource tempat kebijakan organisasi disertakan, dan penerapan kebijakan yang efektif pada resource tersebut sehubungan dengan aturan evaluasi hierarki.project
: ID resource project tempat kebijakan gabungan ini berada.folders
: ID resource folder yang merupakan ancestor resource tempat kebijakan organisasi dilampirkan.organization
: ID resource organisasi yang merupakan ancestor resource tempat kebijakan organisasi dilampirkan.policyBundle
: kebijakan organisasi yang dikonfigurasi penuh yang dilampirkan ke resource di atas, dan kebijakan organisasi yang ditentukan pada ancestor-nya dalam hierarki resource.
Jika resource Anda dilindungi oleh perimeter layanan Kontrol Layanan VPC, Anda
harus membuat aturan keluar
di perimeter resource organisasi yang mengizinkan akses ke
layanan cloudasset.googleapis.com
dan
metode google.cloud.asset.v1.AssetService.SearchAllResources
. Jika Anda tidak memiliki aturan keluar, permintaan akan gagal dengan error NETWORK_NOT_IN_SAME_SERVICE_PERIMETER
. Untuk mengetahui informasi selengkapnya, lihat
Men-debug permintaan yang diblokir oleh Kontrol Layanan VPC.
Konsol
Di konsol Google Cloud, buka halaman Policy Analyzer.
Di bagian Analisis kebijakan organisasi, temukan panel berlabel Di mana kebijakan organisasi tertentu dikonfigurasi?, lalu klik Buat kueri di panel tersebut.
Di kotak Select query organization, pilih organisasi yang kebijakannya ingin Anda analisis.
Pilih jenis batasan yang ingin Anda analisis. Untuk batasan standar atau dikelola, pilih Batasan bawaan. Untuk batasan kustom, pilih Custom constraint.
Masukkan nama batasan yang ingin Anda analisis. Awalan untuk jenis batasan yang Anda analisis sudah disertakan. Misalnya, untuk batasan pembatasan domain yang telah ditentukan sebelumnya, masukkan
iam.allowedPolicyMemberDomains
, untuk batasan pembuatan akun layanan yang dikelola, masukkaniam.managed.disableServiceAccountKeyCreation
, dan untuk batasan kustom, masukkan namanya, sepertidisableGkeAutoUpgrade
.Klik Analyze, lalu Run query. Halaman laporan menampilkan parameter kueri yang Anda masukkan, dan tabel hasil dari semua resource yang dikenai batasan ini secara langsung.
Anda dapat menyimpan kueri ini untuk dilihat lagi nanti dengan mengklik Salin URL kueri. Untuk melihat kueri ini, buka URL yang dihasilkan.
Anda dapat memvisualisasikan pewarisan batasan yang dianalisis dengan memilih minimal satu resource dari daftar, lalu mengklik Lihat pewarisan. Anda juga dapat langsung membuka tampilan visualisasi saat membuat kueri analisis dengan mengklik Analisis, lalu Visualisasi. Lihat Memvisualisasikan pewarisan untuk mengetahui informasi selengkapnya.
gcloud
Untuk mendapatkan analisis tentang cara penerapan batasan kebijakan organisasi
dalam organisasi, gunakan
perintah gcloud asset analyze-org-policies
:
gcloud asset analyze-org-policies \
--constraint=CONSTRAINT_NAME \
--scope=organizations/ORGANIZATION_ID \
--limit=LIMIT_POLICIES \
--filter=FILTER_QUERY
Ganti kode berikut:
CONSTRAINT_NAME: nama batasan kebijakan organisasi yang ingin Anda analisis. Untuk daftar batasan, lihat Batasan kebijakan organisasi.
ORGANIZATION_ID: ID resource organisasi Anda. Untuk mengetahui informasi selengkapnya tentang cara menemukan ID organisasi, lihat Membuat dan mengelola organisasi.
LIMIT_POLICIES: jumlah entri hasil yang ingin Anda lihat. Untuk melihat entri tanpa batas, masukkan
unlimited
.FILTER_QUERY: kueri filter untuk hanya melihat kebijakan yang cocok dengan ekspresi pemfilteran Anda. Satu-satunya kolom yang tersedia untuk pemfilteran adalah
consolidated_policy.attached_resource
. Misalnya,consolidated_policy.attached_resource="//cloudresourcemanager.googleapis.com/projects/1234567890"
hanya akan menampilkan kebijakan yang dilampirkan ke project dengan project ID1234567890
.
Respons YAML mirip dengan berikut ini:
Contoh respons YAML
--- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 rules: - enforce: true policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 reset: true - appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true --- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true
REST
Untuk mendapatkan analisis tentang cara batasan kebijakan organisasi diterapkan
dalam organisasi, gunakan metode analyzeOrgPolicies
Cloud Asset API.
Metode HTTP dan URL:
GET https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_ID:analyzeOrgPolicies
Meminta isi JSON:
JSON_REQUEST="{ 'constraint': 'CONSTRAINT_NAME', 'filter': 'FILTER_QUERY', 'page_size': PAGE_SIZE, 'page_token': PAGE_TOKEN }"
Ganti kode berikut:
ORGANIZATION_ID: ID resource organisasi Anda. Untuk mengetahui informasi selengkapnya tentang cara menemukan ID organisasi, lihat Membuat dan mengelola organisasi.
CONSTRAINT_NAME: nama batasan kebijakan organisasi yang ingin Anda analisis. Untuk daftar batasan, lihat Batasan kebijakan organisasi.
FILTER_QUERY: kueri filter untuk hanya melihat kebijakan yang cocok dengan ekspresi pemfilteran Anda. Satu-satunya kolom yang tersedia untuk pemfilteran adalah
consolidated_policy.attached_resource
. Misalnya,consolidated_policy.attached_resource="//cloudresourcemanager.googleapis.com/projects/1234567890"
hanya akan menampilkan kebijakan yang dilampirkan ke project dengan project ID1234567890
.PAGE_SIZE: jumlah entri hasil per halaman yang ingin Anda lihat. Untuk melihat entri tanpa batas, masukkan
unlimited
. Permintaan yang dibuat dengan tanda ini ditetapkan akan menampilkan nilainextPageToken
jika jumlah total entri hasil lebih besar dari PAGE_SIZE.PAGE_TOKEN: hanya akan ditetapkan pada permintaan setelah permintaan pertama yang menyertakan flag
page_size
. Anda dapat menggunakan nilainextPageToken
yang diterima dari respons sebelumnya untuk menampilkan halaman hasil tertentu.
Respons JSON mirip dengan berikut ini:
Contoh respons JSON
{ "orgPolicyResults": [ { "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/123456789012", "rules": [ { "values": { "allowedValues": [ "C0265whk2" ] } }, { "values": { "allowedValues": [ "C03kd36xr" ] } } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/123456789012" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/123456789012", "rules": [ { "values": { "allowedValues": [ "C03kd36xr" ] } } ], "inheritFromParent": true, "appliedResource": "//cloudresourcemanager.googleapis.com/folders/123456789012" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123", "rules": [ { "values": { "allowedValues": [ "C0265whk2" ] } } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123" } ] }, { "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123", "rules": [ { "values": { "allowedValues": [ "C0265whk2" ] } } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123", "rules": [ { "values": { "allowedValues": [ "C0265whk2" ] } } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123" } ] } ] "constraint": { "googleDefinedConstraint": { "name": "constraints/iam.allowedPolicyMemberDomains", "displayName": "Domain restricted sharing", "description": "This list constraint defines one or more Cloud Identity or Google Workspace customer IDs whose principals can be added to IAM policies. \u003cbr\u003eBy default, all user identities are allowed to be added to IAM policies. Only allowed values can be defined in this constraint, denied values are not supported. \u003cbr\u003eIf this constraint is active, only principals that belong to the allowed customer IDs can be added to IAM policies.", "constraintDefault": "ALLOW", "listConstraint": {} } } }
Menganalisis penampung
Penampung dalam konteks ini adalah resource project, folder, atau organisasi. Anda dapat menggunakan Policy Analyzer untuk menampilkan daftar semua penampung yang memiliki kebijakan organisasi dengan batasan tertentu yang diterapkan pada penampung tersebut. Policy Analyzer juga menampilkan nama lengkap setiap penampung, induk penampung dalam hierarki, dan tag yang diwarisi oleh atau dilampirkan ke penampung.
Untuk setiap penampung yang terdeteksi dalam cakupan kueri, Policy Analyzer akan menampilkan entri hasil. Entri hasil berisi kolom berikut:
consolidatedPolicy
: penampung tempat kebijakan organisasi disertakan, dan penegakan kebijakan yang efektif pada penampung tersebut sehubungan dengan aturan evaluasi hierarki.conditionEvaluation
: jika kondisi yang disertakan menghasilkan penegakan kebijakan organisasi,evaluationValue
adalahTRUE
. Jika kondisi tersebut menyebabkan kebijakan organisasi tidak diterapkan,evaluationValue
adalahFALSE
. Jika kondisi tidak didukung oleh satu atau beberapa resource tempat kebijakan organisasi diterapkan, kondisi itu sendiri akan ditampilkan.effectiveTags
: semua tag yang langsung dilampirkan ke atau diwarisi oleh penampung dan induk penampung dalam hierarki.folders
: ID resource folder yang berisi penampung tempat kebijakan organisasi dilampirkan.fullResourceName
: nama lengkap penampung.organization
: ID resource organisasi yang merupakan ancestor dari penampung tempat kebijakan organisasi dilampirkan.parent
: nama resource lengkap induk penampung ini.policyBundle
: kebijakan organisasi yang dikonfigurasi langsung di penampung, jika ada, dan kebijakan organisasi yang ditentukan pada ancestor penampung dalam hierarki resource.project
: ID penampung tempat kebijakan organisasi disertakan, jika merupakan resource project.
Jika resource Anda dilindungi oleh perimeter layanan Kontrol Layanan VPC, Anda
harus membuat aturan keluar
di perimeter resource organisasi yang mengizinkan akses ke
layanan cloudasset.googleapis.com
dan
metode google.cloud.asset.v1.AssetService.SearchAllResources
. Jika Anda tidak memiliki aturan keluar, permintaan akan gagal dengan error NETWORK_NOT_IN_SAME_SERVICE_PERIMETER
. Untuk mengetahui informasi selengkapnya, lihat
Men-debug permintaan yang diblokir oleh Kontrol Layanan VPC.
Konsol
Di konsol Google Cloud, buka halaman Policy Analyzer.
Di bagian Analisis kebijakan organisasi, temukan panel berlabel Project atau folder mana yang terpengaruh oleh batasan kebijakan organisasi?, lalu klik Buat kueri di panel tersebut.
Di kotak Select query organization, pilih organisasi yang kebijakannya ingin Anda analisis.
Pilih jenis batasan yang ingin Anda analisis. Untuk batasan yang telah ditentukan sebelumnya atau dikelola, pilih Batasan bawaan. Untuk batasan kustom, pilih Custom constraint.
Masukkan nama batasan yang ingin Anda analisis. Awalan untuk jenis batasan yang Anda analisis sudah disertakan. Misalnya, untuk batasan pembatasan domain yang telah ditentukan sebelumnya, masukkan
iam.allowedPolicyMemberDomains
, untuk batasan pembuatan akun layanan yang dikelola, masukkaniam.managed.disableServiceAccountKeyCreation
, dan untuk batasan kustom, masukkan namanya, sepertidisableGkeAutoUpgrade
.Klik Run query. Halaman laporan menampilkan parameter kueri yang Anda masukkan, dan tabel hasil dari semua penampung yang menerapkan atau mewarisi batasan ini.
Anda dapat menyimpan kueri ini untuk dilihat lagi nanti dengan mengklik Salin URL kueri. Untuk melihat kueri ini, buka URL yang dihasilkan.
Anda dapat memvisualisasikan pewarisan batasan yang dianalisis dengan memilih setidaknya satu penampung dari daftar, lalu mengklik Lihat pewarisan. Anda juga dapat langsung membuka tampilan visualisasi saat membuat kueri analisis dengan mengklik Analisis, lalu Visualisasi. Lihat Memvisualisasikan pewarisan untuk mengetahui informasi selengkapnya.
gcloud
Untuk mendapatkan analisis tentang cara batasan kebijakan organisasi diterapkan pada
penampung dalam organisasi, gunakan
perintah gcloud asset analyze-org-policy-governed-containers
:
gcloud asset analyze-org-policy-governed-containers \
--constraint=CONSTRAINT_NAME \
--scope=organizations/ORGANIZATION_ID \
--limit=LIMIT_CONTAINERS \
--filter=FILTER_QUERY
Ganti kode berikut:
CONSTRAINT_NAME: nama batasan kebijakan organisasi yang ingin Anda analisis. Untuk daftar batasan, lihat Batasan kebijakan organisasi.
ORGANIZATION_ID: ID resource organisasi Anda. Untuk mengetahui informasi selengkapnya tentang cara menemukan ID organisasi, lihat Membuat dan mengelola organisasi.
LIMIT_CONTAINERS: jumlah entri hasil yang ingin Anda lihat. Untuk melihat entri tanpa batas, masukkan
unlimited
.FILTER_QUERY: kueri filter untuk hanya melihat penampung yang cocok dengan ekspresi pemfilteran Anda. Satu-satunya kolom yang tersedia untuk pemfilteran adalah
parent
. Misalnya,parent="//cloudresourcemanager.googleapis.com/organizations/012345678901"
hanya akan menampilkan penampung yang merupakan turunan organisasi dengan ID organisasi012345678901
.
Respons YAML mirip dengan berikut ini:
Contoh respons YAML
--- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/donghe-project1 attachedResource: //cloudresourcemanager.googleapis.com/projects/donghe-project1 rules: - values: allowedValues: - projects/donghe-project1/zones/us-central1-a/instances/instance-1 fullResourceName: //cloudresourcemanager.googleapis.com/projects/donghe-project1 parent: //cloudresourcemanager.googleapis.com/folders/86513245445 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/donghe-project1 attachedResource: //cloudresourcemanager.googleapis.com/projects/donghe-project1 inheritFromParent: true rules: - values: allowedValues: - projects/donghe-project1/zones/us-central1-a/instances/instance-1 --- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/jeffreyai-prj01-on-ipa1 attachedResource: //cloudresourcemanager.googleapis.com/projects/jeffreyai-prj01-on-ipa1 rules: - denyAll: true fullResourceName: //cloudresourcemanager.googleapis.com/projects/jeffreyai-prj01-on-ipa1 parent: //cloudresourcemanager.googleapis.com/organizations/474566717491 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/jeffreyai-prj01-on-ipa1 attachedResource: //cloudresourcemanager.googleapis.com/projects/jeffreyai-prj01-on-ipa1 inheritFromParent: true rules: - denyAll: true --- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 rules: - values: allowedValues: - projects/opa-test-project-1-364621/zones/us-central1-a/instances/instance-1 fullResourceName: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 parent: //cloudresourcemanager.googleapis.com/folders/666681422980 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 rules: - values: allowedValues: - projects/opa-test-project-1-364621/zones/us-central1-a/instances/instance-1
REST
Untuk mendapatkan analisis tentang cara batasan kebijakan organisasi diterapkan pada penampung dalam organisasi, gunakan metode analyzeOrgPolicyGovernedContainers
Cloud Asset API.
Metode HTTP dan URL:
GET https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_ID:analyzeOrgPolicyGovernedContainers
Meminta isi JSON:
JSON_REQUEST="{ 'constraint': 'CONSTRAINT_NAME', 'filter': '"FILTER_QUERY"', 'page_size': PAGE_SIZE, 'page_token': PAGE_TOKEN }"
Ganti kode berikut:
ORGANIZATION_ID: ID resource organisasi Anda. Untuk mengetahui informasi selengkapnya tentang cara menemukan ID organisasi, lihat Membuat dan mengelola organisasi.
CONSTRAINT_NAME: nama batasan kebijakan organisasi yang ingin Anda analisis. Untuk daftar batasan, lihat Batasan kebijakan organisasi.
FILTER_QUERY: kueri filter untuk hanya melihat penampung yang cocok dengan ekspresi pemfilteran Anda. Satu-satunya kolom yang tersedia untuk pemfilteran adalah
parent
. Misalnya,parent="//cloudresourcemanager.googleapis.com/organizations/012345678901"
hanya akan menampilkan penampung yang merupakan turunan organisasi dengan ID organisasi012345678901
.PAGE_SIZE: jumlah halaman entri hasil yang ingin Anda lihat. Untuk melihat entri tanpa batas, masukkan
unlimited
. Permintaan yang dibuat dengan tanda ini ditetapkan akan menampilkan nilainextPageToken
jika jumlah total entri hasil lebih besar dari PAGE_SIZE.PAGE_TOKEN: hanya akan ditetapkan pada permintaan setelah permintaan pertama yang menyertakan flag
page_size
. Anda dapat menggunakan nilainextPageToken
yang diterima dari respons sebelumnya untuk menampilkan halaman hasil tertentu.
Respons JSON mirip dengan berikut ini:
Contoh respons JSON
{ "governedContainers": [ { "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-2", "parent": "//cloudresourcemanager.googleapis.com/folders/513502730678", "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/666681422980", "rules": [ { "enforce": true } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/666681422980" } ] }, { "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-1", "parent": "//cloudresourcemanager.googleapis.com/folders/513502730678", "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/666681422980", "rules": [ { "enforce": true } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/666681422980" } ] } ] "constraint": { "googleDefinedConstraint": { "name": "constraints/compute.requireOsLogin", "displayName": "Require OS Login", "description": "This boolean constraint, when set to \u003ccode\u003etrue\u003c/code\u003e, enables OS Login on all newly created Projects. All VM instances created in new projects will have OS Login enabled. On new and existing projects, this constraint prevents metadata updates that disable OS Login at the project or instance level. \u003cbr\u003eBy default, the OS Login feature is disabled on Compute Engine projects.\u003cbr\u003eGKE instances in private clusters running node pool versions 1.20.5-gke.2000 and later support OS Login. GKE instances in public clusters do not currently support OS Login. If this constraint is applied to a Project running public clusters, GKE instances running in that Project may not function properly.", "constraintDefault": "ALLOW", "booleanConstraint": {} } } }
Menganalisis aset
Aset dalam konteks ini adalah resource Google Cloud atau kebijakan izin Identity and Access Management (IAM). Anda dapat menggunakan Policy Analyzer untuk menampilkan daftar semua aset yang memiliki kebijakan organisasi dengan batasan tertentu yang diterapkan pada aset tersebut. Batasan kustom, batasan terkelola, dan batasan standar berikut didukung:
constraints/ainotebooks.accessMode
constraints/ainotebooks.disableFileDownloads
constraints/ainotebooks.disableRootAccess
constraints/ainotebooks.disableTerminal
constraints/ainotebooks.environmentOptions
constraints/ainotebooks.requireAutoUpgradeSchedule
constraints/ainotebooks.restrictVpcNetworks
constraints/compute.disableGuestAttributesAccess
constraints/compute.disableInstanceDataAccessApis
constraints/compute.disableNestedVirtualization
constraints/compute.disableSerialPortAccess
constraints/compute.disableSerialPortLogging
constraints/compute.disableVpcExternalIpv6
constraints/compute.requireOsLogin
constraints/compute.requireShieldedVm
constraints/compute.restrictLoadBalancerCreationForTypes
constraints/compute.restrictProtocolForwardingCreationForTypes
constraints/compute.restrictXpnProjectLienRemoval
constraints/compute.setNewProjectDefaultToZonalDNSOnly
constraints/compute.skipDefaultNetworkCreation
constraints/compute.trustedImageProjects
constraints/compute.vmCanIpForward
constraints/compute.vmExternalIpAccess
constraints/gcp.detailedAuditLoggingMode
constraints/gcp.resourceLocations
constraints/iam.allowedPolicyMemberDomains
constraints/iam.automaticIamGrantsForDefaultServiceAccounts
constraints/iam.disableServiceAccountCreation
constraints/iam.disableServiceAccountKeyCreation
constraints/iam.disableServiceAccountKeyUpload
constraints/iam.restrictCrossProjectServiceAccountLienRemoval
constraints/iam.serviceAccountKeyExpiryHours
constraints/resourcemanager.accessBoundaries
constraints/resourcemanager.allowedExportDestinations
constraints/sql.restrictAuthorizedNetworks
constraints/sql.restrictNoncompliantDiagnosticDataAccess
constraints/sql.restrictNoncompliantResourceCreation
constraints/sql.restrictPublicIp
constraints/storage.publicAccessPrevention
constraints/storage.restrictAuthTypes
constraints/storage.uniformBucketLevelAccess
Penganalisis Kebijakan menampilkan nama lengkap setiap aset, induk aset dalam hierarki, dan resource project, folder, dan organisasi ancestor di atas aset dalam hierarki.
Untuk setiap aset yang terdeteksi dalam cakupan kueri, Policy Analyzer akan menampilkan entri hasil.
Entri hasil untuk resource berisi kolom berikut:
consolidatedPolicy
: resource tempat kebijakan organisasi disertakan, dan penerapan kebijakan yang efektif pada resource tersebut sehubungan dengan aturan evaluasi hierarki.conditionEvaluation
: jika kondisi yang disertakan menghasilkan penegakan kebijakan organisasi,evaluationValue
adalahTRUE
. Jika kondisi tersebut menyebabkan kebijakan organisasi tidak diterapkan,evaluationValue
adalahFALSE
. Jika kondisi tidak didukung oleh satu atau beberapa resource tempat kebijakan organisasi diterapkan, kondisi itu sendiri akan ditampilkan.assetType
: jenis resource aset.effectiveTags
: semua tag yang langsung dilampirkan ke atau diwarisi oleh resource yang menjadi tempat kebijakan organisasi dilampirkan dan induk resource dalam hierarki.folders
: ID resource folder yang berisi resource tempat kebijakan organisasi dilampirkan.fullResourceName
: nama resource lengkap dari resource.organization
: nama resource relatif organisasi yang berisi resource.parent
: nama resource lengkap induk resource.project
: ID project yang berisi resource.policyBundle
: kebijakan organisasi yang dikonfigurasi penuh yang dilampirkan ke resource di atas, dan kebijakan organisasi yang ditentukan pada ancestor-nya dalam hierarki resource.
Entri hasil untuk kebijakan izin berisi kolom berikut:
consolidatedPolicy
: resource tempat kebijakan organisasi disertakan, dan penerapan kebijakan yang efektif pada resource tersebut sehubungan dengan aturan evaluasi hierarki.assetType
: jenis resource dari resource tempat kebijakan izin dilampirkan.attachedResource
: nama lengkap resource tempat kebijakan izin disertakan.folders
: nama resource relatif dari folder apa pun yang berisi kebijakan izin.organization
: nama resource relatif organisasi yang berisi kebijakan izin.policy
: kebijakan izinkan.project
: nama resource relatif project yang berisi kebijakan izin.policyBundle
: kebijakan organisasi yang dikonfigurasi penuh yang dilampirkan ke resource di atas, dan kebijakan organisasi yang ditentukan pada ancestor-nya dalam hierarki resource.
Jika resource Anda dilindungi oleh perimeter layanan Kontrol Layanan VPC, Anda
harus membuat aturan keluar
di perimeter resource organisasi yang mengizinkan akses ke
layanan cloudasset.googleapis.com
dan
metode google.cloud.asset.v1.AssetService.SearchAllResources
. Jika Anda tidak memiliki aturan keluar, permintaan akan gagal dengan error NETWORK_NOT_IN_SAME_SERVICE_PERIMETER
. Untuk mengetahui informasi selengkapnya, lihat
Men-debug permintaan yang diblokir oleh Kontrol Layanan VPC.
Konsol
Di konsol Google Cloud, buka halaman Policy Analyzer.
Di bagian Analyze organization policy, temukan panel berlabel Which resources are affected by an organization policy constraint? dan klik Create query di panel tersebut.
Di kotak Select query organization, pilih organisasi yang kebijakannya ingin Anda analisis.
Pilih jenis batasan yang ingin Anda analisis. Untuk batasan standar atau dikelola, pilih Batasan bawaan. Untuk batasan kustom, pilih Custom constraint.
Masukkan nama batasan yang ingin Anda analisis. Awalan untuk jenis batasan yang Anda analisis sudah disertakan. Misalnya, untuk batasan akses tingkat bucket yang telah ditentukan sebelumnya, masukkan
storage.uniformBucketLevelAccess
, untuk batasan yang dikelola pembuatan akun layanan, masukkaniam.managed.disableServiceAccountKeyCreation
, dan untuk batasan kustom, masukkan namanya, sepertidisableGkeAccess
.Klik Run query. Halaman laporan menampilkan parameter kueri yang Anda masukkan, dan tabel hasil dari semua aset yang dikenai atau diwarisi batasan ini.
Anda dapat menyimpan kueri ini untuk dilihat lagi nanti dengan mengklik Salin URL kueri. Untuk melihat kueri ini, buka URL yang dihasilkan.
Anda dapat memvisualisasikan pewarisan batasan yang dianalisis dengan memilih minimal satu aset dari daftar, lalu mengklik Lihat pewarisan. Anda juga dapat langsung membuka tampilan visualisasi saat membuat kueri analisis dengan mengklik Analisis, lalu Visualisasi. Lihat Memvisualisasikan pewarisan untuk mengetahui informasi selengkapnya.
gcloud
Untuk mendapatkan analisis tentang cara batasan kebijakan organisasi diterapkan pada
aset dalam organisasi, gunakan
perintah gcloud asset analyze-org-policy-governed-assets
:
gcloud asset analyze-org-policy-governed-assets \
--constraint=CONSTRAINT_NAME \
--scope=organizations/ORGANIZATION_ID \
--limit=LIMIT_ASSETS \
--filter=FILTER_QUERY
Ganti kode berikut:
CONSTRAINT_NAME: nama batasan kebijakan organisasi yang ingin Anda analisis. Untuk daftar batasan, lihat Batasan kebijakan organisasi.
ORGANIZATION_ID: ID resource organisasi Anda. Untuk mengetahui informasi selengkapnya tentang cara menemukan ID organisasi, lihat Membuat dan mengelola organisasi.
LIMIT_ASSETS: jumlah entri hasil yang ingin Anda lihat. Untuk melihat entri tanpa batas, masukkan
unlimited
.FILTER_QUERY: kueri filter untuk hanya melihat aset yang cocok dengan ekspresi pemfilteran Anda. Kolom yang tersedia untuk pemfilteran adalah
governed_resource.folders
,governed_resource.project
,governed_iam_policy.folders
, dangoverned_iam_policy.project
. Misalnya,governed_resource.project="projects/1234567890"
hanya akan menampilkan aset yang dilampirkan ke project dengan project ID1234567890
.
Respons YAML mirip dengan berikut ini:
Contoh respons YAML
--- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-2 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-2 rules: - enforce: false governedResource: folders: - folders/513502730678 - folders/666681422980 fullResourceName: //container.googleapis.com/projects/opa-test-project-2/zones/us-central1-c/clusters/opa-test-project-2-cluster-1/nodePools/default-pool organization: organizations/474566717491 parent: //container.googleapis.com/projects/opa-test-project-2/zones/us-central1-c/clusters/opa-test-project-2-cluster-1 project: projects/892625391619 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-2 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-2 reset: true - appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 attachedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true --- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/project2-244918 attachedResource: //cloudresourcemanager.googleapis.com/projects/project2-244918 rules: - enforce: false governedResource: folders: - folders/800636178739 - folders/408342778736 fullResourceName: //container.googleapis.com/projects/project2-244918/zones/us-central1-c/clusters/cluster-1/nodePools/default-pool organization: organizations/474566717491 parent: //container.googleapis.com/projects/project2-244918/zones/us-central1-c/clusters/cluster-1 project: projects/761097189269 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/project2-244918 attachedResource: //cloudresourcemanager.googleapis.com/projects/project2-244918 rules: - enforce: false - appliedResource: //cloudresourcemanager.googleapis.com/folders/408342778736 attachedResource: //cloudresourcemanager.googleapis.com/folders/408342778736 rules: - condition: description: cond-desc1 expression: resource.matchTag("474566717491/env", "prod") title: cond-title1 enforce: false - enforce: true - appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 attachedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true --- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 attachedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true governedResource: fullResourceName: //container.googleapis.com/projects/probe-per-rt-project/zones/us-west1-a/clusters/test-cluster-for-backup/nodePools/default-pool organization: organizations/474566717491 parent: //container.googleapis.com/projects/probe-per-rt-project/zones/us-west1-a/clusters/test-cluster-for-backup project: projects/896190383908 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 attachedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true
REST
Untuk mendapatkan analisis tentang cara batasan kebijakan organisasi diterapkan pada
aset dalam organisasi, gunakan metode analyzeOrgPolicyGovernedAssets
Cloud Asset API.
Metode HTTP dan URL:
GET https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_ID:analyzeOrgPolicyGovernedAssets
Meminta isi JSON:
JSON_REQUEST="{ 'constraint': 'CONSTRAINT_NAME', 'filter': 'FILTER_QUERY', 'page_size': PAGE_SIZE, 'page_token': PAGE_TOKEN }"
Ganti kode berikut:
ORGANIZATION_ID: ID resource organisasi Anda. Untuk mengetahui informasi selengkapnya tentang cara menemukan ID organisasi, lihat Membuat dan mengelola organisasi.
CONSTRAINT_NAME: nama batasan kebijakan organisasi yang ingin Anda analisis. Untuk daftar batasan, lihat Batasan kebijakan organisasi.
FILTER_QUERY: kueri filter untuk hanya melihat aset yang cocok dengan ekspresi pemfilteran Anda. Kolom yang tersedia untuk pemfilteran adalah
governed_resource.folders
,governed_resource.project
,governed_iam_policy.folders
, dangoverned_iam_policy.project
. Misalnya,governed_resource.project="projects/1234567890"
hanya akan menampilkan aset yang dilampirkan ke project dengan project ID1234567890
.PAGE_SIZE: jumlah halaman entri hasil yang ingin Anda lihat. Untuk melihat entri tanpa batas, masukkan
unlimited
. Permintaan yang dibuat dengan tanda ini ditetapkan akan menampilkan nilainextPageToken
jika jumlah total entri hasil lebih besar dari PAGE_SIZE.PAGE_TOKEN: hanya akan ditetapkan pada permintaan setelah permintaan pertama yang menyertakan flag
page_size
. Anda dapat menggunakan nilainextPageToken
yang diterima dari respons sebelumnya untuk menampilkan halaman hasil tertentu.
Respons JSON mirip dengan berikut ini:
Contoh respons JSON
{ "governedAssets": [ { "governedResource": { "fullResourceName": "//container.googleapis.com/projects/opa-test-project-2/zones/us-central1-c/clusters/opa-test-project-2-cluster-1/nodePools/default-pool", "parent": "//container.googleapis.com/projects/opa-test-project-2/zones/us-central1-c/clusters/opa-test-project-2-cluster-1", "project": "projects/892625391619", "folders": [ "folders/513502730678", "folders/666681422980" ], "organization": "organizations/474566717491" }, "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-2", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-2" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-2", "reset": true, "appliedResource": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-2" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/organizations/474566717491", "rules": [ { "enforce": true } ], "appliedResource": "//cloudresourcemanager.googleapis.com/organizations/474566717491" } ] }, { "governedResource": { "fullResourceName": "//container.googleapis.com/projects/project2-244918/zones/us-central1-c/clusters/cluster-1/nodePools/default-pool", "parent": "//container.googleapis.com/projects/project2-244918/zones/us-central1-c/clusters/cluster-1", "project": "projects/761097189269", "folders": [ "folders/800636178739", "folders/408342778736" ], "organization": "organizations/474566717491" }, "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/projects/project2-244918", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/projects/project2-244918" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/projects/project2-244918", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/projects/project2-244918" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/408342778736", "rules": [ { "enforce": false, "condition": { "expression": "resource.matchTag(\"474566717491/env\", \"prod\")", "title": "cond-title1", "description": "cond-desc1" } }, { "enforce": true } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/408342778736" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/organizations/474566717491", "rules": [ { "enforce": true } ], "appliedResource": "//cloudresourcemanager.googleapis.com/organizations/474566717491" } ] } ] "constraint": { "customConstraint": { "name": "organizations/474566717491/customConstraints/custom.disableGkeAutoUpgrade", "resourceTypes": [ "container.googleapis.com/NodePool" ], "methodTypes": [ "CREATE", "UPDATE" ], "condition": "resource.management.autoUpgrade == false", "actionType": "ALLOW", "displayName": "Disable GKE auto upgrade", "description": "Only allow GKE NodePool resource create or updates if AutoUpgrade is not enabled" } } }
Memvisualisasikan pewarisan
Jika memiliki aktivasi level organisasi untuk paket premium Security Command Center, Anda dapat memvisualisasikan pewarisan kebijakan organisasi yang telah dianalisis menggunakan konsol Google Cloud.
Untuk melihat visualisasi pewarisan, buat kueri analisis kebijakan organisasi untuk kebijakan yang dikonfigurasi, penampung, atau aset. Di halaman Run query analysis, klik Analyze, lalu pilih Visualize.
Anda juga dapat membuka URL kueri tersimpan, memilih resource yang ingin ditandai, lalu mengklik
Lihat pewarisan.Halaman Pewarisan resource menampilkan visualisasi hierarki resource untuk resource yang dipilih dalam kueri analisis Anda:
Menunjukkan apakah resource adalah organisasi, folder, atau project.
Titik biru menunjukkan bahwa resource dipilih dalam kueri.
Menunjukkan bahwa resource mengganti kebijakan resource induknya.
Menunjukkan bahwa resource mereset kebijakan organisasi ke setelan default yang dikelola Google untuk kebijakan tersebut. Resource yang mereset kebijakan ke default memiliki garis putus-putus yang menghubungkannya ke induknya.
Menunjukkan bahwa resource menggabungkan kebijakan dengan induknya.
Menunjukkan bahwa kebijakan organisasi pada resource ini menerapkan batasan Boolean yang diterapkan, atau batasan daftar dengan nilai yang diizinkan.
Menunjukkan bahwa kebijakan organisasi pada resource ini adalah batasan daftar dengan nilai yang ditolak.
Menunjukkan bahwa kebijakan organisasi pada resource ini adalah batasan boolean yang tidak diterapkan.
Langkah selanjutnya
- Pelajari lebih lanjut cara Menggunakan batasan.
- Pelajari cara Membuat dan mengelola batasan kustom.