Halaman ini menjelaskan cara menolak akses akun utama dengan mencegah mereka dalam menggunakan izin Identity dan Access Management (IAM) tertentu.
Dalam IAM, Anda menolak akses dengan kebijakan penolakan. Setiap kebijakan penolakan dilampirkan ke organisasi, folder, atau project Google Cloud. Kebijakan penolakan berisi aturan penolakan, yang mengidentifikasi akun utama dan mencantumkan izin yang tidak dapat digunakan oleh akun utama.
Kebijakan penolakan terpisah dari kebijakan izin, yang juga dikenal sebagai kebijakan IAM . Kebijakan izinkan menyediakan akses ke resource dengan memberikan peran IAM ke akun utama.
Anda dapat mengelola kebijakan penolakan dengan konsol Google Cloud, Google Cloud CLI,
atau REST API v2
IAM.
Sebelum memulai
Enable the IAM API.
Menyiapkan autentikasi.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
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.
Terraform
Untuk menggunakan contoh Terraform di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
Go
Untuk menggunakan contoh Go di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
Java
Untuk menggunakan contoh Java di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
Node.js
Untuk menggunakan contoh Node.js di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
Python
Untuk menggunakan contoh Python di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud.
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 Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk mengelola kebijakan penolakan, minta administrator untuk memberi Anda peran IAM berikut pada organisasi:
-
Untuk melihat kebijakan penolakan:
Deny Reviewer (
roles/iam.denyReviewer
) -
Untuk melihat, membuat, memperbarui, dan menghapus kebijakan penolakan:
Deny Admin (
roles/iam.denyAdmin
)
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk mengelola kebijakan penolakan. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk mengelola kebijakan penolakan:
-
Untuk melihat kebijakan penolakan:
-
iam.denypolicies.get
-
iam.denypolicies.list
-
-
Untuk membuat, memperbarui, dan menghapus kebijakan penolakan:
-
iam.denypolicies.create
-
iam.denypolicies.delete
-
iam.denypolicies.get
-
iam.denypolicies.update
-
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Mengidentifikasi izin yang akan ditolak
Sebelum membuat kebijakan penolakan, Anda harus memutuskan izin mana yang ingin ditolak, dan akun utama mana yang harus ditolak izinnya.
Hanya beberapa izin yang dapat ditolak. Untuk mengetahui daftar izin yang dapat Anda tolak, lihat Izin yang didukung dalam kebijakan penolakan.
Dalam beberapa kasus, Anda juga dapat menggunakan grup izin untuk menolak serangkaian izin. Untuk mengetahui informasi selengkapnya, lihat Grup izin.
Anda mengelola kebijakan penolakan dengan REST API
v2
, yang memerlukan format khusus untuk nama izin. Misalnya, izin untuk membuat peran khusus IAM diberi nama sebagai berikut:v1
API:iam.roles.create
v2
API:iam.googleapis.com/roles.create
Membuat kebijakan penolakan
Anda dapat menambahkan kebijakan penolakan ke organisasi, folder, dan project. Setiap resource dapat memiliki hingga 500 kebijakan penolakan.
Kebijakan penolakan berisi aturan penolakan, yang menentukan hal berikut:
- Izin untuk penolakan.
- Akun utama yang izinnya ditolak.
Opsional: Akun utama yang dikecualikan dari penolakan izin.
Misalnya, Anda dapat menolak izin ke suatu grup, tetapi mengecualikan pengguna tertentu yang termasuk dalam grup tersebut.
Opsional: Ekspresi kondisi yang menentukan kapan utama tidak dapat menggunakan izin. Dalam kebijakan penolakan, ekspresi kondisi hanya dapat digunakan fungsinya untuk tag resource—fungsi laninnya dan operator lain yang tidak mendukung.
Setiap resource dapat memiliki hingga 500 aturan penolakan di seluruh kebijakan penolakan yang dilampirkan.
Kebijakan penolakan diwariskan melalui hierarki resource. Misalnya, jika Anda menolak izin pada tingkat organisasi, yang izin tersebut juga akan ditolak pada folder dan project dalam organisasi tersebut, serta pada resource khusus layanan dalam setiap project.
Kebijakan penolakan akan menggantikan izin kebijakan. Jika akun utama diberi peran yang berisi izin tertentu, tetapi kebijakan penolakan mengatakan akun utama tidak dapat digunakan izinnya, maka akun utama tidak dapat izin penggunaannya.
Konsol
Di konsol Google Cloud, buka tab Deny di halaman IAM.
Pilih project, folder, atau organisasi.
Klik
Buat kebijakan penolakan.Di bagian Policy name, tentukan ID kebijakan dengan melakukan salah satu hal berikut:
- Di kolom Nama tampilan, masukkan nama tampilan untuk kebijakan. Mengisi kolom ini akan otomatis mengisi kolom ID. Jika Anda ingin mengubah ID kebijakan, perbarui teks di kolom ID.
- Di kolom ID, masukkan ID untuk kebijakan.
Di bagian Aturan tolak, tentukan aturan tolak kebijakan. Setiap kebijakan penolakan harus memiliki minimal satu aturan penolakan. Untuk menambahkan aturan penolakan tambahan, klik Tambahkan aturan penolakan.
Untuk setiap aturan tolak, lakukan hal berikut:
- Di kolom Denied principals, tambahkan satu atau beberapa akun utama yang ingin Anda cegah agar tidak menggunakan izin yang ditentukan. Akun utama dapat
berupa salah satu jenis akun utama dalam daftar ID utama
v2
IAM, kecuali akun utama yang ID-nya dimulai dengandeleted:
. - Opsional: Di kolom Akun utama pengecualian, tambahkan akun utama yang ingin Anda izinkan untuk menggunakan izin yang ditentukan, meskipun akun utama tersebut disertakan di bagian Akun utama yang ditolak. Misalnya, Anda dapat menggunakan kolom ini untuk membuat pengecualian bagi pengguna tertentu yang termasuk dalam grup yang ditolak.
Di bagian Izin yang ditolak, tambahkan izin yang ingin Anda tolak. Izin harus didukung dalam kebijakan penolakan.
Dalam beberapa kasus, Anda juga dapat menggunakan grup izin untuk menolak serangkaian izin. Untuk informasi selengkapnya, lihat Grup izin.
Opsional: Tambahkan izin pengecualian. Izin pengecualian adalah izin yang tidak ingin Anda tolak dengan aturan tolak ini, meskipun izin tersebut disertakan dalam daftar izin yang ditolak. Misalnya, Anda dapat menggunakan kolom ini untuk membuat pengecualian bagi izin tertentu dalam grup izin.
Untuk menambahkan izin pengecualian, klik Izin pengecualian, klik
Tambahkan izin lain, lalu masukkan izin di kolom Izin 1. Lanjutkan menambahkan izin hingga Anda menambahkan semua izin yang ingin dikecualikan dari kebijakan tolak.Opsional: Tambahkan kondisi penolakan untuk menentukan kapan akun utama tidak dapat menggunakan izin. Untuk menambahkan kondisi penolakan, klik
Tambahkan kondisi penolakan, lalu tentukan kolom berikut:- Judul: Opsional. Rangkuman singkat dari tujuan terhadap kondisi.
- Deskripsi: opsional. Deskripsi panjang dari kondisi.
Ekspresi kondisi: Anda dapat menambahkan ekspresi kondisi menggunakan Pembuat kondisi atau Editor kondisi. Pembuat kondisi menyediakan antarmuka interaktif untuk memilih jenis kondisi, operator, dan detail lain yang berlaku terkait ekspresi yang Anda inginkan. Editor kondisi menyediakan antarmuka berbasis teks untuk memasukkan ekspresi secara manual menggunakan sintaksis Common Expression Language (CEL).
Kondisi penolakan harus didasarkan pada tag resource. Fungsi dan operator lainnya tidak didukung.
- Di kolom Denied principals, tambahkan satu atau beberapa akun utama yang ingin Anda cegah agar tidak menggunakan izin yang ditentukan. Akun utama dapat
berupa salah satu jenis akun utama dalam daftar ID utama
Klik Create.
gcloud
Untuk membuat kebijakan penolakan untuk resource, mulailah dengan membuat file JSON yang berisi kebijakan tersebut. Kebijakan penolakan menggunakan format berikut:
{ "displayName": "POLICY_NAME", "rules": [ { "denyRule": DENY_RULE_1 }, { "denyRule": DENY_RULE_2 }, { "denyRule": DENY_RULE_N } ] }
Berikan nilai berikut:
POLICY_NAME
: Nama tampilan untuk kebijakan penolakan.-
DENY_RULE_1
,DENY_RULE_2
,...DENY_RULE_N
: Aturan penolakan dalam kebijakan. Setiap aturan penolakan dapat berisi kolom berikut:-
deniedPermissions
: Daftar izin yang tidak dapat digunakan oleh akun utama yang ditentukan. Izin harus didukung dalam kebijakan penolakan.Dalam beberapa kasus, Anda juga dapat menggunakan grup izin untuk menolak serangkaian izin. Untuk informasi selengkapnya, lihat Grup izin.
-
exceptionPermissions
: Daftar izin yang dapat digunakan oleh akun utama yang ditentukan, meskipun izin tersebut disertakan dalamdeniedPermissions
. Misalnya, Anda dapat menggunakan kolom ini untuk membuat pengecualian bagi izin tertentu dalam grup izin. -
deniedPrincipals
: Daftar utama yang tidak dapat menggunakan izin yang ditentukan. Gunakanv2
format API untuk ID utama. -
exceptionPrincipals
: Opsional. Daftar utama yang dapat digunakan izin yang ditentukan, meskipun akun utama tersebut disertakan didalamnyadeniedPrincipals
. Misalnya, Anda dapat menggunakan kolom ini untuk membuat pengecualian bagi pengguna tertentu yang termasuk dalam grup yang ditolak. Gunakan format APIv2
untuk ID utama. -
denialCondition
: Opsional. Ekspresi kondisi yang menentukan kapan akun utama tidak dapat menggunakan izin. Berisi kolom berikut:-
expression
: Ekspresi kondisi yang menggunakan sintaksis Expression Language (CEL). Ekspresi tersebut harus menggunakan fungsi CEL untuk mengevaluasi tag resource. Fungsi dan operator lain tidak didukung. -
title
: Opsional. Rangkuman singkat dari tujuan terhadap kondisi. -
description
: Opsional. Deskripsi panjang dari kondisi.
-
Contoh aturan penolakan, lihat Kasus penggunaan umum.
-
Misalnya, kebijakan penolakan berikut berisi satu aturan penolakan, yang menolak satu izin untuk Lucian:
{ "displayName": "My deny policy.", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] }
Selanjutnya, jalankan perintah
gcloud iam policies create
:gcloud iam policies create POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --policy-file=POLICY_FILE
Berikan nilai berikut:
-
POLICY_ID
: ID untuk kebijakan penolakan. -
ATTACHMENT_POINT
: ID untuk resource yang t kebijakan penolakannya melekat. Untuk mempelajari cara memformat nilai ini, lihat Titik lampiran. -
POLICY_FILE
: Jalur file untuk file JSON yang berisi kebijakan penolakan.
Secara default, jika perintah ini berhasil dijalankan, output apa pun tidak akan dicetak. Untuk mencetak respons mendetail, tambahkan flag
--format=json
ke perintah.Misalnya, perintah berikut akan membuat kebijakan penolakan bernama
my-deny-policy
untuk projectmy-project
, menggunakan file bernamapolicy.json
:gcloud iam policies create my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --policy-file=policy.json
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi penyedia Terraform.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Node.js IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
REST
Metode
policies.createPolicy
membuat kebijakan penolakan untuk resource.Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
ENCODED_ATTACHMENT_POINT
: ID yang dienkode URL-encodedunruk resource yang kebijakan penolakan yang dilampirkan. Untuk mempelajari cara memformat nilai ini, lihat Titik lampiran. POLICY_ID
: ID untuk kebijakan penolakan.POLICY_NAME
: Nama tampilan untuk kebijakan tolak.-
DENY_RULE_1
,DENY_RULE_2
,...DENY_RULE_N
: Aturan penolakan dalam kebijakan. Setiap aturan penolakan dapat berisi kolom berikut:-
deniedPermissions
: Daftar izin yang tidak dapat digunakan oleh akun utama yang ditentukan. Izin harus didukung dalam kebijakan penolakan.Dalam beberapa kasus, Anda juga dapat menggunakan grup izin untuk menolak serangkaian izin. Untuk informasi selengkapnya, lihat Grup izin.
-
exceptionPermissions
: Daftar izin yang dapat digunakan oleh akun utama yang ditentukan, meskipun izin tersebut disertakan dalamdeniedPermissions
. Misalnya, Anda dapat menggunakan kolom ini untuk membuat pengecualian bagi izin tertentu dalam grup izin. -
deniedPrincipals
: Daftar utama yang tidak dapat menggunakan izin yang ditentukan. Gunakanv2
format API untuk ID utama. -
exceptionPrincipals
: Opsional. Daftar utama yang dapat digunakan izin yang ditentukan, meskipun akun utama tersebut disertakan didalamnyadeniedPrincipals
. Misalnya, Anda dapat menggunakan kolom ini untuk membuat pengecualian bagi pengguna tertentu yang termasuk dalam grup yang ditolak. Gunakan format APIv2
untuk ID utama. -
denialCondition
: Opsional. Ekspresi kondisi yang menentukan kapan akun utama tidak dapat menggunakan izin. Berisi kolom berikut:-
expression
: Ekspresi kondisi yang menggunakan sintaksis Expression Language (CEL). Ekspresi tersebut harus menggunakan fungsi CEL untuk mengevaluasi tag resource. Fungsi dan operator lain tidak didukung. -
title
: Opsional. Rangkuman singkat dari tujuan terhadap kondisi. -
description
: Opsional. Deskripsi panjang dari kondisi.
-
Contoh aturan penolakan, lihat Kasus penggunaan umum.
-
Metode HTTP dan URL:
POST https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies?policyId=POLICY_ID
Meminta isi JSON:
{ "displayName": "POLICY_NAME", "rules": [ { "denyRule": DENY_RULE_1 }, { "denyRule": DENY_RULE_2 }, { "denyRule": DENY_RULE_N } ] }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan menerima respons JSON seperti berikut:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/89cb3e508bf1ff01", "metadata": { "@type": "type.googleapis.com/google.iam.v2.PolicyOperationMetadata", "createTime": "2022-06-28T19:06:12.455151Z" }, "response": { "@type": "type.googleapis.com/google.iam.v2.Policy", "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-28T19:06:12.455151Z", "updateTime": "2022-06-28T22:26:21.968687Z" "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] } }
Respons mengidentifikasi operasi yang berjalan lama. Anda dapat memantau status operasi yang berjalan lama untuk mengetahui kapan tersebut selesai. Untuk detailnya, lihat Periksa status operasi yang berjalan lama di halaman ini.
Mencantumkan kebijakan penolakan
Resource dapat memiliki beberapa kebijakan penolakan. Anda dapat mencantumkan semua kebijakan penolakan yang dilampirkan ke resource, lalu melihat setiap kebijakan penolakan untuk melihat aturan penolakan dalam setiap kebijakan.
Konsol
Di konsol Google Cloud, buka tab Deny di halaman IAM.
Pilih project, folder, atau organisasi.
Konsol Google Cloud mencantumkan semua kebijakan penolakan yang berlaku untuk project, folder, atau organisasi tersebut. Hal ini mencakup kebijakan penolakan yang telah diwarisi dari resource lain. Untuk informasi selengkapnya tentang pewarisan kebijakan penolakan, lihat Pewarisan kebijakan penolakan.
gcloud
Untuk mencantumkan kebijakan penolakan resource, jalankan perintah
gcloud iam policies list
:gcloud iam policies list \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --format=json
Berikan nilai berikut:
-
ATTACHMENT_POINT
: ID untuk resource yang t kebijakan penolakannya melekat. Untuk mempelajari cara memformat nilai ini, lihat Titik lampiran.
Misalnya, perintah berikut mencantumkan kebijakan penolakan yang melekat pada organisasi yang ID numeriknya adalah
123456789012
:gcloud iam policies list \ --attachment-point=cloudresourcemanager.googleapis.com/organizations/123456789012 \ --kind=denypolicies \ --format=json
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Node.js IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
REST
Metode
policies.listPolicies
mencantumkan kebijakan penolakan untuk resource.Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
ENCODED_ATTACHMENT_POINT
: ID yang dienkode URL-encodedunruk resource yang kebijakan penolakan yang dilampirkan. Untuk mempelajari cara memformat nilai ini, lihat Titik lampiran.
Metode HTTP dan URL:
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "policies": [ { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1067607927478/denypolicies/test-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "createTime": "2022-06-28T19:06:12.455151Z", "updateTime": "2022-06-28T22:26:21.968687Z" }, { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1067607927478/denypolicies/test-policy-2", "uid": "8465d710-ea20-0a08-d92c-b2a3ebf766ab", "kind": "DenyPolicy", "displayName": "My second deny policy.", "createTime": "2022-06-05T19:21:53.595455Z", "updateTime": "2022-06-05T19:21:53.595455Z" }, { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1067607927478/denypolicies/test-policy-3", "uid": "ee9f7c2f-7e8c-b05c-d4e5-e03bfb2954e0", "kind": "DenyPolicy", "displayName": "My third deny policy.", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z" } ] }
Melihat kebijakan penolakan
Anda dapat menampilkan kebijakan penolakan untuk melihat aturan penolakan di dalamnya, termasuk izin yang ditolak dan akun utama yang tidak dapat menggunakan izin tersebut.
Konsol
Di konsol Google Cloud, buka tab Deny di halaman IAM.
Pilih project, folder, atau organisasi.
Di kolom Policy ID, klik ID kebijakan yang ingin Anda lihat.
Konsol Google Cloud menampilkan detail kebijakan penolakan, termasuk ID kebijakan, saat kebijakan dibuat, dan aturan tolak dalam kebijakan penolakan.
gcloud
Untuk mendapatkan kebijakan penolakan resource, jalankan perintah
gcloud iam policies get
:gcloud iam policies get POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --format=json
Berikan nilai berikut:
-
POLICY_ID
: ID untuk kebijakan penolakan. -
ATTACHMENT_POINT
: ID untuk resource yang t kebijakan penolakannya melekat. Untuk mempelajari cara memformat nilai ini, lihat Titik lampiran.
Misalnya, perintah berikut mendapatkan kebijakan penolakan bernama
my-deny-policy
untuk projectmy-project
dan menyimpannya dalam file bernamapolicy.json
:gcloud iam policies get my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --format=json \ > ./policy.json
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Node.js IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
REST
Metode
policies.get
mendapatkan kebijakan penolakan untuk resource.Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
ENCODED_ATTACHMENT_POINT
: ID yang dienkode URL-encodedunruk resource yang kebijakan penolakan yang dilampirkan. Untuk mempelajari cara memformat nilai ini, lihat Titik lampiran. POLICY_ID
: ID untuk kebijakan penolakan.
Metode HTTP dan URL:
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] }
Memperbarui kebijakan penolakan
Setelah membuat kebijakan penolakan, Anda dapat memperbarui aturan penolakan di dalamnya, serta nama tampilannya.
Anda dapat memperbarui kebijakan penolakan menggunakan konsol Google Cloud, atau menggunakan salah satu metode terprogram berikut:
- gcloud CLI
- REST API
- Library klien IAM
Memperbarui kebijakan penolakan menggunakan konsol Google Cloud
Di konsol Google Cloud, buka tab Deny di halaman IAM.
Pilih project, folder, atau organisasi.
Di kolom Policy ID, klik ID kebijakan yang ingin Anda edit.
Klik
Edit.Perbarui kebijakan penolakan:
- Untuk mengubah nama tampilan kebijakan, edit kolom Nama tampilan.
- Untuk mengedit aturan tolak yang ada, klik aturan tolak, lalu ubah akun utama, akun utama pengecualian, izin yang ditolak, izin pengecualian, atau kondisi penolakan aturan.
- Untuk menghapus aturan tolak, temukan aturan tolak yang ingin Anda hapus, lalu klik Hapus di baris tersebut.
- Untuk menambahkan aturan tolak, klik Add deny rule, lalu buat aturan tolak seperti yang Anda lakukan saat membuat kebijakan tolak.
Setelah selesai memperbarui kebijakan tolak, klik Simpan.
Memperbarui kebijakan penolakan secara terprogram
Untuk memperbarui kebijakan penolakan menggunakan gcloud CLI, REST API, atau library klien IAM, gunakan pola read-modify-write:
- Baca versi kebijakan saat ini.
- Ubah informasi dalam kebijakan sesuai kebutuhan.
- Tulis kebijakan yang telah diperbarui.
Baca kebijakan penolakan
gcloud
Untuk mendapatkan kebijakan penolakan resource, jalankan perintah
gcloud iam policies get
:gcloud iam policies get POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --format=json
Berikan nilai berikut:
-
POLICY_ID
: ID untuk kebijakan penolakan. -
ATTACHMENT_POINT
: ID untuk resource yang t kebijakan penolakannya melekat. Untuk mempelajari cara memformat nilai ini, lihat Titik lampiran.
Misalnya, perintah berikut mendapatkan kebijakan penolakan bernama
my-deny-policy
untuk projectmy-project
dan menyimpannya dalam file bernamapolicy.json
:gcloud iam policies get my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --format=json \ > ./policy.json
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Node.js IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
REST
Metode
policies.get
mendapatkan kebijakan penolakan untuk resource.Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
ENCODED_ATTACHMENT_POINT
: ID yang dienkode URL-encodedunruk resource yang kebijakan penolakan yang dilampirkan. Untuk mempelajari cara memformat nilai ini, lihat Titik lampiran. POLICY_ID
: ID untuk kebijakan penolakan.
Metode HTTP dan URL:
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] }
Mengubah kebijakan penolakan
Untuk mengubah kebijakan penolakan, Anda harus mengubah salinan kebijakan yang sebelumnya Anda baca dari IAM. Anda dapat memperbarui nama tampilan, atau menambahkan, mengubah, atau menghapus aturan tolak. Perubahan tidak akan diterapkan hingga Anda menulis kebijakan yang diupdate.
Misalnya, Anda dapat menambahkan izin ke aturan penolakan yang ada:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2021-10-05T19:22:26.770543Z", "updateTime": "2021-10-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create", "iam.googleapis.com/roles.delete" ] } } ] }
Menulis kebijakan penolakan yang diperbarui
Setelah mengubah kebijakan penolakan secara lokal, Anda harus menulis kebijakan penolakan yang telah diperbarui ke IAM.
Setiap kebijakan penolakan berisi kolom
etag
yang mengidentifikasi versi kebijakan.etag
berubah setiap kali Anda memperbarui kebijakan. Saat Anda menulis kebijakan yang telah diperbaruietag
dalam permintaan Anda yang harus cocok denganetag
saat ini yang tersimpan di IAM; Jika nilainya tidak sesuai, permintaan akan gagal. Fitur ini membantu mencegah perubahan serentak agar tidak saling menimpa.gcloud
Untuk memperbarui kebijakan penolakan resource, jalankan
gcloud iam policies update
perintah:gcloud iam policies update POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --policy-file=POLICY_FILE
Berikan nilai berikut:
-
POLICY_ID
: ID untuk kebijakan penolakan. -
ATTACHMENT_POINT
: ID untuk resource yang t kebijakan penolakannya melekat. Untuk mempelajari cara memformat nilai ini, lihat Titik lampiran. -
POLICY_FILE
: Jalur file untuk file JSON yang berisi kebijakan penolakan.
Secara default, jika perintah ini berhasil dijalankan, output apa pun tidak akan dicetak. Untuk mencetak respons mendetail, tambahkan flag
--format=json
ke perintah.Misalnya, perintah berikut akan memperbarui kebijakan penolakan bernama
my-deny-policy
untuk projectmy-project
, menggunakan file bernamapolicy.json
:gcloud iam policies update my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --policy-file=policy.json
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Node.js IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
REST
Metode
policies.update
memperbarui kebijakan penolakan.Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
ENCODED_ATTACHMENT_POINT
: ID yang dienkode URL-encodedunruk resource yang kebijakan penolakan yang dilampirkan. Untuk mempelajari cara memformat nilai ini, lihat Titik lampiran. POLICY_ID
: ID untuk kebijakan penolakan.-
POLICY
: Kebijakan penolakan yang diperbarui.Misalnya, untuk menambahkan izin ke kebijakan yang ditampilkan di langkah sebelumnya, ganti
POLICY
dengan kode berikut:{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create", "iam.googleapis.com/roles.delete" ] } } ] }
Metode HTTP dan URL:
PUT https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID
Meminta isi JSON:
POLICY
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan menerima respons JSON seperti berikut:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/8b2d0ab2daf1ff01", "metadata": { "@type": "type.googleapis.com/google.iam.v2.PolicyOperationMetadata", "createTime": "2021-10-05T22:26:21.968687Z" }, "response": { "@type": "type.googleapis.com/google.iam.v2.Policy", "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTgxNTIxNDE3NTYxNjQxODYxMTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T22:26:21.968687Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create", "iam.googleapis.com/roles.delete" ] } } ] } }
Respons mengidentifikasi operasi yang berjalan lama. Anda dapat memantau status operasi yang berjalan lama untuk mengetahui kapan tersebut selesai. Untuk detailnya, lihat Periksa status operasi yang berjalan lama di halaman ini.
Menghapus kebijakan penolakan
Jika tidak ingin lagi menerapkan aturan dalam kebijakan penolakan, Anda dapat menghapus kebijakan penolakan.
Secara opsional, Anda dapat menentukan
etag
untuk versi kebijakan yang akan dihapus. Jika Anda menentukannyaetag
, harus cocok denganetag
saat ini yang disimpan oleh IAM; jika nilainya tidak sesuai, permintaan akan gagal. Anda dapat menggunakan fitur ini untuk memastikan bahwa Anda menghapus kebijakan yang dimaksud, bukan versi terbaru kebijakan tersebut.Jika Anda menghapus
etag
dari permintaan, IAM akan menghapus kebijakan tanpa syarat.Konsol
Di konsol Google Cloud, buka tab Deny di halaman IAM.
Pilih project, folder, atau organisasi.
Di kolom Policy ID, klik ID kebijakan yang ingin Anda hapus.
Klik
Delete. Pada dialog konfirmasi, klik Konfirmasi.
gcloud
Untuk menghapus kebijakan penolakan dari resource, jalankan perintah
gcloud iam policies delete
:gcloud iam policies delete POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies
Berikan nilai berikut:
-
POLICY_ID
: ID untuk kebijakan penolakan. -
ATTACHMENT_POINT
: ID untuk resource yang t kebijakan penolakannya melekat. Untuk mempelajari cara memformat nilai ini, lihat Titik lampiran.
Secara opsional, Anda dapat menambahkan tanda
--etag=ETAG
. GantiETAG
dengan nilaietag
saat ini untuk kebijakan penolakan.Secara default, jika perintah ini berhasil dijalankan, output apa pun tidak akan dicetak. Untuk mencetak respons mendetail, tambahkan flag
--format=json
ke perintah.Misalnya, perintah berikut menghapus kebijakan penolakan bernama
my-deny-policy
dari projectmy-project
:gcloud iam policies delete my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Node.js IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
REST
Metode
policies.delete
menghapus kebijakan penolakan dari resource.Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
ENCODED_ATTACHMENT_POINT
: ID yang dienkode URL-encodedunruk resource yang kebijakan penolakan yang dilampirkan. Untuk mempelajari cara memformat nilai ini, lihat Titik lampiran. POLICY_ID
: ID untuk kebijakan penolakan.-
ETAG
: Opsional. ID untuk versi kebijakan. Jika ada, nilai ini harus cocok dengan nilaietag
saat ini untuk kebijakan.
Metode HTTP dan URL:
DELETE https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID?etag=ETAG
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan menerima respons JSON seperti berikut:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/8223fe308bf1ff01", "metadata": { "@type": "type.googleapis.com/google.iam.v2.PolicyOperationMetadata", "createTime": "2021-10-05T19:45:00.133311Z" }, "response": { "@type": "type.googleapis.com/google.iam.v2.Policy", "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-28T19:06:12.455151Z", "updateTime": "2022-07-05T19:45:00.133311Z", "deleteTime": "2022-07-05T19:45:00.133311Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] } }
Respons mengidentifikasi operasi yang berjalan lama. Anda dapat memantau status operasi yang berjalan lama untuk mengetahui kapan tersebut selesai. Untuk detailnya, lihat Periksa status operasi yang berjalan lama di halaman ini.
Memeriksa status operasi yang berjalan lama
Saat Anda menggunakan REST API atau library klien, metode apa pun yang mengubah kebijakan penolakan yang menampilkan operasi yang berjalan lama atau LRO. Operasi yang berjalan lama akan melacak status permintaan dan menunjukkan apakah perubahan pada kebijakan sudah selesai.
Go
Contoh kode di halaman ini menunjukkan cara menunggu operasi yang berjalan lama selesai, lalu mengakses hasilnya.
Java
Contoh kode di halaman ini menunjukkan cara menunggu operasi yang berjalan lama selesai, lalu mengakses hasilnya.
Node.js
Contoh kode di halaman ini menunjukkan cara menunggu operasi yang berjalan lama selesai, lalu mengakses hasilnya.
Python
Contoh kode di halaman ini menunjukkan cara menunggu operasi yang berjalan lama selesai, lalu mengakses hasilnya.
REST
Metode
policies.operations.get
menampilkan status operasi yang berjalan lama.Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
ENCODED_ATTACHMENT_POINT
: ID yang dienkode URL-encodedunruk resource yang kebijakan penolakan yang dilampirkan. Untuk mempelajari cara memformat nilai ini, lihat Titik lampiran. -
OPERATION_ID
: ID untuk operasi. Anda menerima ID ini sebagai respons atas permintaan asli Anda, sebagai bagian dari nama operasi. Gunakan nilai heksadesimal di akhir nama operasi. Contoh,89cb3e508bf1ff01
.
Metode HTTP dan URL:
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/operations/OPERATION_ID
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan menerima respons JSON seperti berikut:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/89cb3e508bf1ff01", "done": true }
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 kolomdone
ditetapkantrue
, operasi akan selesai, dan Anda dapat berhenti mendapatkan operasi tersebut.Langkah selanjutnya
- Identifikasi izin yang didukung dalam kebijakan penolakan.
- Mendapatkan format ID utama dalam kebijakan penolakan.
- Cari tahu cara memecahkan masalah akses dengan kebijakan penolakan.
- Pelajari lebih lanjut cara menolak akses ke akun utama.
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2024-12-22 UTC.