Indeks
IAMPolicy
(antar muka)AuditConfig
(pesan)AuditLogConfig
(pesan)AuditLogConfig.LogType
(enum)Binding
(pesan)GetIamPolicyRequest
(pesan)GetPolicyOptions
(pesan)Policy
(pesan)SetIamPolicyRequest
(pesan)TestIamPermissionsRequest
(pesan)TestIamPermissionsResponse
(pesan)
IAMPolicy
Ringkasan API
Mengelola kebijakan Identity and Access Management (IAM).
Setiap implementasi API yang menawarkan fitur kontrol akses akan mengimplementasikan antarmuka google.iam.v1.IAMPolicy.
Model data
Kontrol akses diterapkan saat akun utama (akun pengguna atau layanan) mengambil beberapa tindakan pada resource yang diekspos oleh layanan. Resource, yang diidentifikasi oleh nama yang mirip URI, merupakan unit spesifikasi kontrol akses. Implementasi layanan dapat memilih perincian kontrol akses dan izin yang didukung untuk resource-nya. Misalnya, satu layanan database mungkin mengizinkan kontrol akses untuk ditentukan hanya pada tingkat Table, sedangkan layanan lain mungkin mengizinkan kontrol akses untuk juga ditentukan pada tingkat Column.
Struktur Kebijakan
Lihat google.iam.v1.Policy
Ini sengaja bukan API gaya CRUD karena kebijakan kontrol akses dibuat dan dihapus secara implisit beserta resource yang terlampir.
GetIamPolicy |
---|
Mendapatkan kebijakan kontrol akses untuk resource. Menampilkan kebijakan kosong jika resource ada dan tidak memiliki kebijakan yang disetel.
|
SetIamPolicy |
---|
Menetapkan kebijakan kontrol akses pada resource yang ditentukan. Menggantikan kebijakan yang ada. Dapat menampilkan error
|
TestIamPermissions |
---|
Menampilkan izin yang dimiliki pemanggil atas resource yang ditentukan. Jika resource tidak ada, tindakan ini akan menampilkan kumpulan izin kosong, bukan error Catatan: Operasi ini dirancang untuk digunakan dalam membangun UI berbasis izin dan alat command line, bukan untuk pemeriksaan otorisasi. Operasi ini mungkin "gagal dibuka" tanpa peringatan.
|
AuditConfig
Menentukan konfigurasi audit untuk layanan. Konfigurasi menentukan jenis izin yang dicatat dalam log, dan identitas apa, jika ada, yang dikecualikan dari logging. AuditConfig harus memiliki satu atau beberapa AuditLogConfigs.
Jika terdapat AuditConfigs untuk allServices
dan layanan tertentu, gabungan dari dua AuditConfigs akan digunakan untuk layanan tersebut: log_types yang ditentukan di setiap AuditConfig diaktifkan, dan Exempted_members di setiap AuditLogConfig akan dikecualikan.
Contoh Kebijakan dengan beberapa AuditConfig:
{
"audit_configs": [
{
"service": "allServices",
"audit_log_configs": [
{
"log_type": "DATA_READ",
"exempted_members": [
"user:jose@example.com"
]
},
{
"log_type": "DATA_WRITE"
},
{
"log_type": "ADMIN_READ"
}
]
},
{
"service": "sampleservice.googleapis.com",
"audit_log_configs": [
{
"log_type": "DATA_READ"
},
{
"log_type": "DATA_WRITE",
"exempted_members": [
"user:aliya@example.com"
]
}
]
}
]
}
Untuk sampleservice, kebijakan ini memungkinkan logging DATA_READ, DATA_WRITE, dan ADMIN_READ. Kode ini juga mengecualikan jose@example.com
dari logging DATA_READ, dan aliya@example.com
dari logging DATA_WRITE.
Kolom | |
---|---|
service |
Menentukan layanan yang akan diaktifkan untuk logging audit. Misalnya, |
audit_log_configs[] |
Konfigurasi untuk logging setiap jenis izin. |
AuditLogConfig
Menyediakan konfigurasi untuk mencatat jenis izin ke dalam log. Contoh:
{
"audit_log_configs": [
{
"log_type": "DATA_READ",
"exempted_members": [
"user:jose@example.com"
]
},
{
"log_type": "DATA_WRITE"
}
]
}
Tindakan ini memungkinkan logging 'DATA_READ' dan 'DATA_WRITE', sekaligus mengecualikan jose@example.com dari logging DATA_READ.
Kolom | |
---|---|
log_type |
Jenis log yang diaktifkan konfigurasi ini. |
exempted_members[] |
Menentukan identitas yang tidak menyebabkan logging untuk jenis izin ini. Mengikuti format |
LogType
Daftar jenis izin valid yang logging dapat dikonfigurasi. Penulisan admin selalu dicatat dalam log, dan tidak dapat dikonfigurasi.
Enum | |
---|---|
LOG_TYPE_UNSPECIFIED |
Huruf besar/kecil default. Tidak boleh seperti ini. |
ADMIN_READ |
yang dibaca admin. Contoh: CloudIAM getIamPolicy |
DATA_WRITE |
Penulisan data. Contoh: Pengguna CloudSQL membuat |
DATA_READ |
Pembacaan data. Contoh: Daftar Pengguna CloudSQL |
Binding
Mengaitkan members
, atau akun utama, dengan role
.
Kolom | |
---|---|
role |
Peran yang ditetapkan ke daftar |
members[] |
Menentukan akun utama yang meminta akses untuk resource Google Cloud.
|
condition |
Kondisi yang terkait dengan binding ini. Jika kondisi bernilai Jika kondisi bernilai Untuk mempelajari resource mana yang mendukung kondisi dalam kebijakan IAM-nya, lihat dokumentasi IAM. |
GetIamPolicyRequest
Pesan permintaan untuk metode GetIamPolicy
.
Kolom | |
---|---|
resource |
WAJIB: Resource tempat kebijakan diminta. Lihat Nama resource untuk mengetahui nilai yang sesuai untuk kolom ini. |
options |
OPSIONAL: Objek |
GetPolicyOptions
Mengenkapsulasi setelan yang disediakan untuk GetIamPolicy.
Kolom | |
---|---|
requested_policy_version |
Opsional. Versi kebijakan maksimum yang akan digunakan untuk memformat kebijakan. Nilai yang valid adalah 0, 1, dan 3. Permintaan yang mencantumkan nilai yang tidak valid akan ditolak. Permintaan kebijakan dengan binding peran bersyarat harus menentukan versi 3. Kebijakan tanpa binding peran bersyarat dapat menentukan nilai yang valid atau tidak menyetel kolom. Kebijakan dalam respons mungkin menggunakan versi kebijakan yang Anda tentukan, atau mungkin menggunakan versi kebijakan yang lebih rendah. Misalnya, jika Anda menentukan versi 3, tetapi kebijakan tidak memiliki binding peran bersyarat, respons akan menggunakan versi 1. Untuk mempelajari resource mana yang mendukung kondisi dalam kebijakan IAM-nya, lihat dokumentasi IAM. |
Kebijakan
Kebijakan Identity and Access Management (IAM), yang menentukan kontrol akses untuk resource Google Cloud.
Policy
adalah kumpulan bindings
. binding
mengikat satu atau beberapa members
, atau akun utama, ke satu role
. Akun utama dapat berupa akun pengguna, akun layanan, grup Google, dan domain (seperti G Suite). role
adalah daftar izin yang memiliki nama; setiap role
dapat berupa peran IAM yang telah ditetapkan atau peran khusus yang dibuat pengguna.
Untuk beberapa jenis resource Google Cloud, binding
juga dapat menentukan condition
, yang merupakan ekspresi logis yang mengizinkan akses ke resource hanya jika ekspresi bernilai true
. Kondisi dapat menambahkan batasan berdasarkan atribut permintaan, resource, atau keduanya. Untuk mempelajari resource mana yang mendukung kondisi dalam kebijakan IAM-nya, lihat dokumentasi IAM.
Contoh JSON:
{
"bindings": [
{
"role": "roles/resourcemanager.organizationAdmin",
"members": [
"user:mike@example.com",
"group:admins@example.com",
"domain:google.com",
"serviceAccount:my-project-id@appspot.gserviceaccount.com"
]
},
{
"role": "roles/resourcemanager.organizationViewer",
"members": [
"user:eve@example.com"
],
"condition": {
"title": "expirable access",
"description": "Does not grant access after Sep 2020",
"expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
}
}
],
"etag": "BwWWja0YfJA=",
"version": 3
}
Contoh YAML:
bindings:
- members:
- user:mike@example.com
- group:admins@example.com
- domain:google.com
- serviceAccount:my-project-id@appspot.gserviceaccount.com
role: roles/resourcemanager.organizationAdmin
- members:
- user:eve@example.com
role: roles/resourcemanager.organizationViewer
condition:
title: expirable access
description: Does not grant access after Sep 2020
expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
etag: BwWWja0YfJA=
version: 3
Untuk deskripsi tentang IAM dan fiturnya, lihat dokumentasi IAM.
Kolom | |
---|---|
version |
Menentukan format kebijakan. Nilai yang valid adalah Setiap operasi yang memengaruhi binding peran bersyarat harus menentukan versi
Penting: Jika menggunakan IAM Conditions, Anda harus menyertakan kolom Jika kebijakan tidak menyertakan ketentuan apa pun, operasi pada kebijakan tersebut dapat menentukan versi yang valid atau membiarkan kolom tidak disetel. Untuk mempelajari resource mana yang mendukung kondisi dalam kebijakan IAM-nya, lihat dokumentasi IAM. |
bindings[] |
Mengaitkan daftar
|
audit_configs[] |
Menentukan konfigurasi logging audit cloud untuk kebijakan ini. |
etag |
Penting: Jika menggunakan IAM Conditions, Anda harus menyertakan kolom |
SetIamPolicyRequest
Pesan permintaan untuk metode SetIamPolicy
.
Kolom | |
---|---|
resource |
WAJIB: Resource untuk kebijakan yang ditentukan. Lihat Nama resource untuk mengetahui nilai yang sesuai untuk kolom ini. |
policy |
WAJIB: Kebijakan lengkap yang akan diterapkan ke |
update_mask |
OPSIONAL: FieldMask yang menentukan kolom kebijakan yang akan diubah. Hanya kolom dalam mask yang akan diubah. Jika tidak ada mask yang disediakan, mask default berikut akan digunakan:
|
TestIamPermissionsRequest
Pesan permintaan untuk metode TestIamPermissions
.
Kolom | |
---|---|
resource |
WAJIB: Resource yang detail kebijakannya diminta. Lihat Nama resource untuk mengetahui nilai yang sesuai untuk kolom ini. |
permissions[] |
Kumpulan izin untuk memeriksa |
TestIamPermissionsResponse
Pesan respons untuk metode TestIamPermissions
.
Kolom | |
---|---|
permissions[] |
Subset |