Policy

Menentukan kebijakan Identity and Access Management (IAM). Kebijakan ini digunakan untuk menentukan kebijakan kontrol akses untuk resource Cloud Platform.

Policy terdiri dari daftar bindings. binding mengikat daftar members ke role, dengan anggota dapat berupa akun pengguna, grup Google, domain Google, dan akun layanan. role adalah daftar izin yang memiliki nama dan ditentukan oleh IAM.

Contoh JSON

{
  "bindings": [
    {
      "role": "roles/owner",
      "members": [
        "user:mike@example.com",
        "group:admins@example.com",
        "domain:google.com",
        "serviceAccount:my-other-app@appspot.gserviceaccount.com"
      ]
    },
    {
      "role": "roles/viewer",
      "members": ["user:sean@example.com"]
    }
  ]
}

Contoh YAML

bindings:
- members:
  - user:mike@example.com
  - group:admins@example.com
  - domain:google.com
  - serviceAccount:my-other-app@appspot.gserviceaccount.com
  role: roles/owner
- members:
  - user:sean@example.com
  role: roles/viewer

Untuk mengetahui deskripsi IAM dan fitur-fiturnya, lihat panduan developer IAM.

Representasi JSON
{
  "version": number,
  "bindings": [
    {
      object(Binding)
    }
  ],
  "etag": string
}
Kolom
version
(deprecated)

number

Tidak digunakan lagi.

bindings[]

object(Binding)

Mengaitkan daftar members ke role. bindings tanpa anggota akan menyebabkan error.

etag

string (bytes format)

etag digunakan untuk kontrol konkurensi optimis sebagai cara untuk membantu mencegah pembaruan kebijakan secara bersamaan agar tidak menimpa satu sama lain. Sebaiknya sistem menggunakan etag dalam siklus read-modify-write untuk melakukan pembaruan kebijakan guna menghindari kondisi perlombaan: etag ditampilkan dalam respons ke getIamPolicy, dan sistem diharapkan menempatkan etag tersebut dalam permintaan ke setIamPolicy untuk memastikan bahwa perubahannya akan diterapkan ke versi kebijakan yang sama.

Jika tidak ada etag yang diberikan dalam panggilan ke setIamPolicy, kebijakan yang ada akan ditimpa secara membabi buta.

String berenkode base64.

Binding

Mengaitkan members dengan role.

Representasi JSON
{
  "role": string,
  "members": [
    string
  ],
  "condition": {
    object(Expr)
  }
}
Kolom
role

string

Peran yang ditetapkan ke members. Misalnya, roles/viewer, roles/editor, atau roles/owner.

members[]

string

Menentukan identitas yang meminta akses untuk resource Cloud Platform. members dapat memiliki nilai berikut:

  • allUsers: ID khusus yang mewakili siapa saja yang ada di internet; dengan atau tanpa Akun Google.

  • allAuthenticatedUsers: ID khusus yang mewakili siapa saja yang diautentikasi dengan Akun Google atau akun layanan.

  • user:{emailid}: Alamat email yang mewakili Akun Google tertentu. Misalnya, alice@gmail.com .

  • serviceAccount:{emailid}: Alamat email yang mewakili akun layanan. Contoh, my-other-app@appspot.gserviceaccount.com.

  • group:{emailid}: Alamat email yang mewakili grup Google. Contoh, admins@example.com.

  • domain:{domain}: Nama domain Google Apps yang mewakili semua pengguna domain tersebut. Misalnya google.com atau example.com.

condition

object(Expr)

Tidak diterapkan. Kondisi yang terkait dengan binding ini. CATATAN: kondisi yang tidak terpenuhi tidak akan mengizinkan akses pengguna melalui binding saat ini. Binding yang berbeda, termasuk kondisinya, diperiksa secara independen.

Expr

Merepresentasikan teks ekspresi. Contoh:

title: "User account presence"
description: "Determines whether the request has a user account"
expression: "size(request.user) > 0"
Representasi JSON
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
Kolom
expression

string

Representasi tekstual ekspresi dalam sintaksis Common Expression Language.

Konteks aplikasi pesan yang berisi menentukan kumpulan fitur CEL terkenal yang didukung.

title

string

Judul opsional untuk ekspresi, yaitu string pendek yang menjelaskan tujuannya. Ini dapat digunakan, misalnya, di UI yang memungkinkan untuk memasukkan ekspresi.

description

string

Deskripsi opsional untuk ekspresi. Ini adalah teks yang lebih panjang yang menjelaskan ekspresi, misalnya saat diarahkan ke ekspresi tersebut di UI.

location

string

String opsional yang menunjukkan lokasi ekspresi untuk pelaporan error, misalnya nama file dan posisi dalam file.