Kebijakan batas akses akun utama (PAB) memungkinkan Anda membatasi resource yang dapat diakses oleh kumpulan akun utama. Halaman ini menjelaskan cara mengedit kebijakan batas akses akun utama yang ada, dan cara mengedit binding kebijakan untuk kebijakan batas akses akun utama guna mengubah siapa yang menjadi sasaran kebijakan.
Sebelum memulai
Menyiapkan autentikasi.
Select the tab for how you plan to use the samples on this page:
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Untuk informasi selengkapnya, lihat Mengautentikasi untuk menggunakan REST dalam Google Cloud dokumentasi autentikasi.
Peran yang diperlukan untuk mengedit kebijakan batas akses akun utama
Untuk mendapatkan izin yang
diperlukan untuk mengedit kebijakan batas akses akun utama,
minta administrator untuk memberi Anda
peran IAM Principal Access Boundary Admin (roles/iam.principalAccessBoundaryAdmin
) di organisasi Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin iam.principalaccessboundarypolicies.update
, yang diperlukan untuk mengedit kebijakan batas akses akun utama.
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Peran yang diperlukan untuk mengedit binding kebijakan batas akses akun utama
Izin yang Anda perlukan untuk mengedit binding kebijakan untuk kebijakan batas akses akun utama bergantung pada kumpulan akun utama yang terikat dengan kebijakan.
Untuk mendapatkan izin yang Anda perlukan untuk mengedit binding kebijakan untuk kebijakan batas akses akun utama, minta administrator untuk memberi Anda peran IAM berikut:
-
Pengguna Batas Akses Akun Utama (
roles/iam.principalAccessBoundaryUser
) di organisasi Anda -
Edit binding kebijakan untuk kebijakan batas akses akun utama yang terikat ke kumpulan identitas tenaga kerja:
IAM Workforce Pool Admin (
roles/iam.workforcePoolAdmin
) di kumpulan identitas tenaga kerja target -
Mengedit binding kebijakan untuk kebijakan batas akses akun utama yang terikat dengan workload identity pool:
IAM Workload Identity Pool Admin (
roles/iam.workloadIdentityPoolAdmin
) di project yang memiliki workload identity pool target -
Dapatkan status operasi yang berjalan lama untuk mengedit binding yang mereferensikan workload identity pool:
IAM Operation Viewer (
roles/iam.operationViewer
) di project yang memiliki workload identity pool target -
Mengedit binding kebijakan untuk kebijakan batas akses akun utama yang terikat ke domain Google Workspace:
Admin IAM Workspace Pool (
roles/iam.workspacePoolAdmin
) di organisasi -
Mengedit binding kebijakan untuk kebijakan batas akses akun utama yang terikat dengan kumpulan akun utama project:
Admin IAM Project (
roles/resourcemanager.projectIamAdmin
) pada project -
Mendapatkan status operasi yang berjalan lama untuk mengedit binding yang mereferensikan kumpulan akun utama project:
IAM Operation Viewer (
roles/iam.operationViewer
) pada project -
Mengedit binding kebijakan untuk kebijakan batas akses akun utama yang terikat dengan kumpulan akun utama folder:
Folder IAM Admin (
roles/resourcemanager.folderIamAdmin
) di folder tersebut -
Mengedit binding kebijakan untuk kebijakan batas akses akun utama yang terikat dengan kumpulan akun utama organisasi:
Administrator Organisasi (
roles/resourcemanager.organizationAdmin
) di organisasi
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk mengedit binding kebijakan untuk kebijakan batas akses akun utama. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk mengedit binding kebijakan untuk kebijakan batas akses akun utama:
-
iam.principalaccessboundarypolicies.bind
di organisasi -
Edit binding kebijakan untuk kebijakan batas akses akun utama yang terikat ke kumpulan identitas tenaga kerja:
iam.workforcePools.updatePolicyBinding
di kumpulan identitas tenaga kerja target -
Edit binding kebijakan untuk kebijakan batas akses akun yang terikat ke workload identity pool:
iam.workloadIdentityPools.updatePolicyBinding
di project yang memiliki workload identity pool target -
Dapatkan status operasi yang berjalan lama untuk mengedit binding yang mereferensikan workload identity pool:
iam.operations.get
di project yang memiliki workload identity pool target -
Mengedit binding kebijakan untuk kebijakan batas akses akun utama yang terikat ke domain Google Workspace:
iam.workspacePools.updatePolicyBinding
di organisasi -
Edit binding kebijakan untuk kebijakan batas akses akun utama yang terikat dengan kumpulan akun utama project:
resourcemanager.projects.updatePolicyBinding
pada project -
Mendapatkan status operasi yang berjalan lama untuk mengedit binding yang mereferensikan kumpulan akun utama project:
iam.operations.get
di project -
Edit binding kebijakan untuk kebijakan batas akses akun utama yang terikat ke kumpulan akun utama folder:
resourcemanager.folders.updatePolicyBinding
di folder -
Mengedit binding kebijakan untuk kebijakan batas akses akun utama yang terikat dengan kumpulan akun utama organisasi:
resourcemanager.organizations.updatePolicyBinding
di organisasi
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Mengedit kebijakan batas akses akun utama yang ada
Jika Anda ingin menambahkan aturan ke kebijakan batas akses akun utama, menghapus aturan dari kebijakan batas akses akun utama, atau mengubah metadata kebijakan batas akses akun utama, edit kebijakan batas akses akun utama.
Anda dapat mengedit kebijakan batas akses akun utama menggunakan konsol Google Cloud, gcloud CLI, atau IAM REST API.
Di konsol Google Cloud, buka halaman Kebijakan Batas Akses Utama.
Pilih organisasi yang memiliki kebijakan batas akses akun utama yang ingin Anda edit.
Klik ID kebijakan kebijakan batas akses akun utama yang ingin Anda edit.
Klik
Edit kebijakan.Untuk mengedit aturan kebijakan, lakukan hal berikut:
- Klik aturan yang ingin diedit.
- Edit deskripsi aturan, atau resource yang disertakan dalam aturan.
- Klik Selesai.
Untuk menghapus aturan dari kebijakan, klik
Hapus di baris aturan tersebut.Untuk mengedit nama tampilan kebijakan, edit kolom Nama tampilan.
Untuk mengedit versi penerapan kebijakan, klik daftar Versi penerapan, lalu pilih nilai baru.
Klik Simpan.
Perintah
gcloud iam principal-access-boundary-policies update
memperbarui kebijakan batas akses akun utama yang ada.
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
-
PAB_POLICY_ID
: ID kebijakan batas akses akun utama yang ingin Anda update—misalnya,example-policy
. ORG_ID
: ID organisasi yang memiliki kebijakan batas akses utama. ID organisasi berupa angka, seperti123456789012
.-
FIELD_TO_UPDATE=UPDATED_VALUE
: Kolom yang ingin Anda perbarui dan nilai yang diperbarui yang sesuai.Berikut adalah contoh flag yang dapat Anda gunakan untuk memperbarui kolom dalam kebijakan:
-
--display-name=DISPLAY_NAME
: Ganti nama tampilan kebijakan denganDISPLAY_NAME
. -
--details-enforcement-version=ENFORCEMENT_VERSION
: Perbarui versi penerapan kebijakan keENFORCEMENT_VERSION
. -
--details-rules=RULES_FILE.json
: Ganti aturan kebijakan batas akses akun utama dengan aturan diRULES_FILE.json
. Untuk mempelajari cara memformat file aturan, lihat Membuat kebijakan batas akses akun utama.Jika menggunakan flag ini, Anda tidak dapat menggunakan flag
--add-details-rules
. -
--add-details-rules=RULES_FILE
: Menambahkan aturan diRULES_FILE.json
ke aturan yang ada dalam kebijakan. Untuk mempelajari cara memformat file aturan, lihat Membuat kebijakan batas akses akun utama.Jika menggunakan flag ini, Anda tidak dapat menggunakan flag
--details-rules
. -
--remove-details-rules=RULES_FILE
: Hapus aturan diRULES_FILE.json
dari aturan kebijakan yang ada. Untuk mempelajari cara memformat file aturan, lihat Membuat kebijakan batas akses akun utama. Hanya aturan yang sama persis dengan salah satu aturan diRULES_FILE.json
yang akan dihapus.Jika menggunakan flag ini, Anda tidak dapat menggunakan flag
--clear-rule-details
. -
--clear-details-rules
: Menghapus semua aturan dari kebijakan batas akses akun utama.Jika menggunakan flag ini, Anda tidak dapat menggunakan flag
--remove-rule-details
.
Untuk daftar lengkap flag yang dapat Anda gunakan untuk memperbarui kebijakan batas akses akun utama, lihat referensi perintah
gcloud iam principal-access-boundary-policies update
. -
FORMAT
: Format untuk respons. Gunakanjson
atauyaml
.
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud iam principal-access-boundary-policies updatePAB_POLICY_ID \ --organization=ORG_ID --location=global \ --FIELD_TO_UPDATE =UPDATED_VALUE \ --format=FORMAT
Windows (PowerShell)
gcloud iam principal-access-boundary-policies updatePAB_POLICY_ID ` --organization=ORG_ID --location=global ` --FIELD_TO_UPDATE =UPDATED_VALUE ` --format=FORMAT
Windows (cmd.exe)
gcloud iam principal-access-boundary-policies updatePAB_POLICY_ID ^ --organization=ORG_ID --location=global ^ --FIELD_TO_UPDATE =UPDATED_VALUE ^ --format=FORMAT
Respons berisi operasi yang berjalan lama yang mewakili permintaan Anda. Setelah operasi selesai, respons akan mencetak kebijakan batas akses akun utama yang diperbarui.
Request issued for: [example-policy] Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715374208720-6181fae5e2034-2d8a712b-5c92e5b9] to complete...done. Updated principalAccessBoundaryPolicy [example-policy]. { "name": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-policy", "uid": "puid_13364150419245236225", "etag": "W/\"Gh/PcTdJD/AWHUhPW45kdw==\"", "displayName": "Updated display name", "createTime": "2024-05-07T00:05:48.295209Z", "updateTime": "2024-05-10T20:50:09.200421Z", "details": [ "rules": { [ "description": "Make principals eligible to access example.com" "resources": { "//cloudresourcemanager.googleapis.com/organizations/123456789012" }, "effect": ALLOW ] }, "enforcementVersion": "1" ] }
Metode
principalAccessBoundaryPolicies.patch
memperbarui kebijakan batas akses akun utama yang ada.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
ORG_ID
: ID organisasi yang memiliki kebijakan batas akses utama. ID organisasi berupa angka, seperti123456789012
.-
PAB_POLICY_ID
: ID kebijakan batas akses akun utama yang ingin Anda update—misalnya,example-policy
. -
FIELDS_TO_UPDATE
: Daftar kolom yang dipisahkan koma yang ingin Anda perbarui. Jika Anda tidak menentukan kolom yang akan diperbarui, IAM akan mengganti kebijakan yang ada dengan konten isi permintaan.Nilai yang diterima adalah
displayName
,details
,details.rules
,details.rules.description
,details.rules.resources
,details.rules.effect
, dandetails.enforcementVersion
. DISPLAY_NAME
: Opsional. Deskripsi kebijakan batas akses utama yang dapat dibaca manusia—misalnya,Example policy
. Nama tampilan dapat terdiri dari maksimal 63 karakter.-
PAB_RULES
: Daftar aturan batas akses akun utama, yang menentukan resource yang memenuhi syarat untuk diakses oleh akun utama yang terpengaruh. Kebijakan batas akses akun utama dapat memiliki hingga 500 aturan. Setiap aturan memiliki format berikut:{ "description": "
DESCRIPTION ", "resources": [RESOURCES ], "effect": ALLOW }Ganti nilai berikut:
DESCRIPTION
: Opsional. Deskripsi aturan kebijakan batas akses utama. Deskripsi dapat berisi maksimal 256 karakter.-
RESOURCES
: Daftar resource Pengelola Resource (project, folder, dan organisasi) yang Anda inginkan agar dapat diakses oleh akun utama. Setiap akun utama yang tunduk pada kebijakan ini memenuhi syarat untuk mengakses resource ini.Setiap kebijakan batas akses akun utama dapat mereferensikan maksimal 500 resource di semua aturan dalam kebijakan.
-
ENFORCEMENT_VERSION
: Versi kebijakan batas akses akun utama yang digunakan IAM saat menerapkan kebijakan. Versi penerapan menentukan izin yang diterapkan IAM untuk kebijakan batas akses akun utama.Nilai yang diterima adalah
1
danlatest
.Untuk mengetahui informasi selengkapnya tentang versi penerapan, lihat Versi penerapan batas akses akun utama.
Metode HTTP dan URL:
PATCH https://iam.googleapis.com/v3/organizations/ORG_ID /locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID ?updateMask=FIELDS_TO_UPDATE
Meminta isi JSON:
{ "displayName":DISPLAY_NAME , "details": { "rules": [PAB_RULES ], "enforcementVersion": "ENFORCEMENT_VERSION ", } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://iam.googleapis.com/v3/organizations/ORG_ID /locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID ?updateMask=FIELDS_TO_UPDATE "
PowerShell (Windows)
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://iam.googleapis.com/v3/organizations/ORG_ID /locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID ?updateMask=FIELDS_TO_UPDATE " | Select-Object -Expand Content
Respons berisi operasi yang berjalan lama yang mewakili permintaan Anda. Untuk mempelajari cara mendapatkan status operasi yang berjalan lama, lihat Memeriksa status operasi yang berjalan lama di halaman ini.
{ "name": "organizations/123456789012/locations/global/operations/operation-1715626721931-6185a7953ef76-76f80ee4-19cd1bf7", "metadata": { "@type": "type.googleapis.com/google.iam.v3.OperationMetadata", "createTime": "2024-05-13T18:58:43.721277235Z", "target": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-policy", "verb": "update", "requestedCancellation": false, "apiVersion": "v3" }, "done": false }
Mengubah target penerapan kebijakan batas akses akun utama
Setelah membuat binding kebijakan untuk kebijakan batas akses akun utama, Anda tidak dapat mengubah ID kebijakan atau akun utama yang ditetapkan dalam binding. Akibatnya, jika ingin mengubah siapa yang akan dikenai kebijakan batas akses akun utama, Anda harus melakukan salah satu hal berikut:
- Untuk menyaring kumpulan akun utama yang menerapkan kebijakan batas akses akun utama, Anda dapat mengubah kondisi dalam binding kebijakan. Untuk mengubah kondisi dalam binding, edit binding kebijakan.
- Untuk menerapkan kebijakan batas akses akun utama untuk kumpulan akun utama tambahan, buat binding kebijakan baru yang mengikat kebijakan ke kumpulan akun utama tersebut.
- Untuk menghapus kebijakan batas akses akun utama dari kumpulan akun utama, hapus binding kebijakan yang mengikat kebijakan ke kumpulan akun utama.
Mengedit binding kebijakan yang ada untuk kebijakan batas akses akun utama
Setelah membuat binding kebijakan, Anda dapat mengedit binding untuk mengubah kondisi dalam binding atau nama tampilan binding.
Anda dapat mengedit binding kebijakan menggunakan konsol Google Cloud, gcloud CLI, atau IAM REST API.
Di konsol Google Cloud, buka halaman Kebijakan Batas Akses Utama.
Pilih organisasi yang memiliki kebijakan batas akses akun utama yang ingin Anda edit.
Klik ID kebijakan kebijakan batas akses akun utama yang binding-nya ingin Anda edit.
Klik tab Bindings.
Temukan ID binding yang ingin diedit. Di baris binding tersebut, klik
Actions, lalu klik Edit binding.Untuk memperbarui nama tampilan binding, edit kolom Nama tampilan.
Untuk menambahkan kondisi ke binding, lakukan hal berikut:
- Klik Tambahkan kondisi.
- Di kolom Title, masukkan ringkasan singkat tentang tujuan kondisi.
- Opsional: Di kolom Description, masukkan deskripsi kondisi yang lebih panjang.
- Di kolom Expression, masukkan ekspresi kondisi yang menggunakan
sintaksis Common Expression Language (CEL). Ekspresi
harus mereferensikan atribut
principal.type
atauprincipal.subject
. Atribut lainnya tidak didukung. - Klik Simpan.
Untuk memperbarui kondisi yang ada, lakukan hal berikut:
- Klik Edit kondisi di samping nama kondisi.
- Perbarui judul, deskripsi, atau ekspresi kondisi.
- Klik Simpan.
Untuk menyimpan perubahan, klik Save.
Perintah
gcloud iam policy-bindings update
memperbarui binding kebijakan yang ada.
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
-
BINDING_ID
: ID binding kebijakan yang ingin Anda update—misalnya,example-binding
. -
RESOURCE_TYPE
: Jenis resource Resource Manager (project, folder, atau organisasi) yang merupakan turunan dari binding kebijakan. Gunakan nilaiproject
,folder
, atauorganization
Jenis resource bergantung pada akun utama yang ditetapkan dalam binding kebijakan. Untuk melihat jenis resource yang akan digunakan, lihat Jenis utama yang didukung.
RESOURCE_ID
: ID project, folder, atau organisasi yang merupakan turunan dari binding kebijakan. Project ID berupa string alfanumerik, sepertimy-project
. Folder dan ID organisasi berupa numerik, seperti123456789012
.-
FIELD_TO_UPDATE=UPDATED_VALUE
: Kolom yang ingin Anda perbarui dan nilai yang diperbarui yang sesuai.Berikut adalah contoh flag yang dapat Anda gunakan untuk memperbarui kolom dalam binding kebijakan:
-
--display-name=DISPLAY_NAME
: Ganti nama tampilan binding denganDISPLAY_NAME
. -
--condition-description=CONDITION_DESCRIPTION
: Jika binding memiliki kondisi, ganti deskripsi kondisi denganCONDITION_DESCRIPTION
. Jika tidak, tambahkan kondisi baru ke binding dengan deskripsi yang ditentukan. Jika menggunakan flag ini untuk memperbarui binding yang tidak memiliki kondisi, Anda juga harus menetapkan flag--condition-expression
. -
--condition-expression=CONDITION_EXPRESSION
: Jika binding memiliki kondisi, ganti ekspresi kondisi denganCONDITION_EXPRESSION
. Jika tidak, tambahkan kondisi baru ke binding dengan ekspresi yang ditentukan. -
--condition-title=CONDITION_TITLE
: Jika binding memiliki kondisi, ganti judul kondisi denganCONDITION_TITLE
. Jika tidak, tambahkan kondisi baru ke binding dengan judul yang ditentukan. Jika menggunakan flag ini untuk mengupdate binding yang tidak memiliki kondisi, Anda juga harus menetapkan flag--condition-expression
.
Untuk daftar lengkap kolom yang dapat Anda perbarui, lihat referensi perintah
gcloud iam policy-bindings update
. -
FORMAT
: Format untuk respons. Gunakanjson
atauyaml
.
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud iam policy-bindings updateBINDING_ID \ --RESOURCE_TYPE =RESOURCE_ID --location=global \ --FIELD_TO_UPDATE =UPDATED_VALUE \ --format=FORMAT
Windows (PowerShell)
gcloud iam policy-bindings updateBINDING_ID ` --RESOURCE_TYPE =RESOURCE_ID --location=global ` --FIELD_TO_UPDATE =UPDATED_VALUE ` --format=FORMAT
Windows (cmd.exe)
gcloud iam policy-bindings updateBINDING_ID ^ --RESOURCE_TYPE =RESOURCE_ID --location=global ^ --FIELD_TO_UPDATE =UPDATED_VALUE ^ --format=FORMAT
Respons berisi operasi yang berjalan lama yang mewakili permintaan Anda. Untuk mempelajari cara mendapatkan status operasi yang berjalan lama, lihat Memeriksa status operasi yang berjalan lama di halaman ini.
Update request issued for: [my-binding] Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715374545618-6181fc272c6f9-55ff07f4-97d0ac76] to complete...done. Updated policyBinding [my-binding]. { "createTime": "2024-05-06T18:08:24.729843Z", "displayName": "Updated display name", "etag": "W/\"xkdnPfTxoxyVqOwhQSJbMg==\"", "name": "organizations/123456789012/locations/global/policyBindings/example-binding", "policy": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-pab-policy", "policyKind": "PRINCIPAL_ACCESS_BOUNDARY", "policyUid": "puid_9519202237377675265", "target": { "principalSet": "//cloudresourcemanager.googleapis.com/organizations/123456789012" }, "uid": "buid_9904260005517852673", "updateTime": "2024-05-06T18:11:16.798841Z" }
Metode
policyBindings.patch
memperbarui binding kebijakan yang ada.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
RESOURCE_TYPE
: Jenis resource Resource Manager (project, folder, atau organisasi) yang merupakan turunan dari binding kebijakan. Gunakan nilaiprojects
,folders
, atauorganizations
Jenis resource bergantung pada akun utama yang ditetapkan dalam binding kebijakan. Untuk melihat jenis resource yang akan digunakan, lihat Jenis utama yang didukung.
RESOURCE_ID
: ID project, folder, atau organisasi yang merupakan turunan dari binding kebijakan. Project ID berupa string alfanumerik, sepertimy-project
. Folder dan ID organisasi berupa numerik, seperti123456789012
.-
BINDING_ID
: ID binding kebijakan yang ingin Anda update—misalnya,example-binding
. -
FIELDS_TO_UPDATE
: Daftar kolom yang dipisahkan koma yang ingin Anda perbarui. Jika Anda tidak menentukan kolom yang akan diperbarui, IAM akan mengganti binding yang ada dengan konten isi permintaan.Nilai yang diterima adalah
displayName
,condition
,condition.expression
,condition.title
, dancondition.description
. DISPLAY_NAME
: Opsional. Deskripsi binding yang dapat dibaca manusia—misalnya,Example binding
. Nama tampilan dapat terdiri dari maksimal 63 karakter.-
CONDITION_DETAILS
: Opsional. Ekspresi kondisi yang menentukan akun utama dalam kumpulan akun utama yang akan menerapkan kebijakan batas akses akun utama. Berisi kolom berikut:-
expression
: Ekspresi kondisi yang menggunakan sintaksis Common Expression Language (CEL). Ekspresi harus mereferensikan atributprincipal.type
atauprincipal.subject
. Atribut lainnya tidak didukung.Ekspresi dapat berisi hingga 10 operator logika (
&&
,||
,!
), dan dapat memiliki panjang hingga 250 karakter. -
title
: Opsional. Rangkuman singkat dari tujuan terhadap kondisi. -
description
: Opsional. Deskripsi panjang dari kondisi.
-
Metode HTTP dan URL:
POST https://iam.googleapis.com/v3/RESOURCE_TYPE /RESOURCE_ID /locations/global/policyBindings/BINDING_ID ?updateMask=FIELDS_TO_UPDATE
Meminta isi JSON:
{ "displayName":DISPLAY_NAME , "condition": {CONDITION_DETAILS } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://iam.googleapis.com/v3/RESOURCE_TYPE /RESOURCE_ID /locations/global/policyBindings/BINDING_ID ?updateMask=FIELDS_TO_UPDATE "
PowerShell (Windows)
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://iam.googleapis.com/v3/RESOURCE_TYPE /RESOURCE_ID /locations/global/policyBindings/BINDING_ID ?updateMask=FIELDS_TO_UPDATE " | Select-Object -Expand Content
Respons berisi operasi yang berjalan lama yang mewakili permintaan Anda. Untuk mempelajari cara mendapatkan status operasi yang berjalan lama, lihat Memeriksa status operasi yang berjalan lama di halaman ini.
{ "name": "organizations/123456789012/locations/global/operations/operation-1715373159010-6181f6fcccfa7-dcd0055c-00c22cad", "metadata": { "@type": "type.googleapis.com/google.iam.v3.OperationMetadata", "createTime": "2024-05-10T20:32:39.254910121Z", "target": "organizations/123456789012/locations/global/policyBindings/example-binding", "verb": "update", "requestedCancellation": false, "apiVersion": "v3" }, "done": false }
Memeriksa status operasi yang berjalan lama
Saat Anda menggunakan REST API atau library klien, metode apa pun yang mengubah kebijakan atau binding batas akses utama akan menampilkan operasi yang berjalan lama (LRO). Operasi yang berjalan lama melacak status permintaan dan menunjukkan apakah perubahan pada kebijakan atau binding sudah selesai.
Metode
operations.get
menampilkan status operasi yang berjalan lama.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
OPERATION_NAME
: Nama lengkap operasi. Anda menerima nama ini sebagai respons atas permintaan asli Anda.Nama operasi memiliki format berikut:
RESOURCE_TYPE /RESOURCE_ID /locations/global/operations/OPERATION_ID
Metode HTTP dan URL:
GET https://iam.googleapis.com/v3/OPERATION_NAME
Untuk mengirim permintaan, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://iam.googleapis.com/v3/OPERATION_NAME "
PowerShell (Windows)
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://iam.googleapis.com/v3/OPERATION_NAME " | Select-Object -Expand Content
API Explorer (browser)
Buka halaman referensi metode. Panel API Explorer terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.
Anda akan melihat respons JSON seperti berikut:
{ "name": "organizations/314340013352/locations/global/operations/operation-1732752311821-627edd607a3df-9a62cdea-2a7d9f07", "metadata": { "@type": "type.googleapis.com/google.iam.v3.OperationMetadata", "createTime": "2024-11-28T00:05:12.006289686Z", "endTime": "2024-11-28T00:05:12.192141801Z", "target": "organizations/314340013352/locations/global/principalAccessBoundaryPolicies/example-policy", "verb": "create", "requestedCancellation": false, "apiVersion": "v3" }, "done": true, "response": {PAB_POLICY } }
Jika kolom done
operasi tidak ada, terus pantau statusnya dengan
mendapatkan operasi tersebut berulang kali. Gunakan backoff eksponensial terpotong untuk menambahkan penundaan di antara setiap permintaan. Saat kolom done
ditetapkan ke true
, operasi akan selesai, dan Anda dapat berhenti mendapatkan operasi tersebut.
Langkah berikutnya
- Membuat dan menerapkan kebijakan batas akses akun utama
- Melihat kebijakan batas akses akun utama
- Menghapus kebijakan batas akses akun utama