Deployments: getIamPolicy

Mendapatkan kebijakan kontrol akses untuk resource. Dapat kosong jika tidak ada kebijakan atau resource tersebut. Coba sekarang.

Permintaan

Permintaan HTTP

GET https://www.googleapis.com/deploymentmanager/v2beta/projects/project/global/deployments/resource/getIamPolicy

Parameter

Nama parameter Nilai Deskripsi
Parameter jalur
project string Project ID untuk permintaan ini.
resource string Nama atau ID resource untuk permintaan ini.

Otorisasi

Permintaan ini memerlukan otorisasi dengan setidaknya salah satu cakupan berikut:

Cakupan
https://www.googleapis.com/auth/cloud-platform
https://www.googleapis.com/auth/ndev.cloudman

Isi permintaan

Jangan berikan isi permintaan dengan metode ini.

Respons

Jika berhasil, metode ini akan menampilkan isi respons dengan struktur berikut:

{
  "version": integer,
  "bindings": [
    {
      "role": string,
      "members": [
        string
      ],
      "condition": {
        "expression": string,
        "title": string,
        "description": string,
        "location": string
      }
    }
  ],
  "auditConfigs": [
    {
      "service": string,
      "exemptedMembers": [
        string
      ],
      "auditLogConfigs": [
        {
          "logType": string,
          "exemptedMembers": [
            string
          ],
          "ignoreChildExemptions": boolean
        }
      ]
    }
  ],
  "rules": [
    {
      "description": string,
      "permissions": [
        string
      ],
      "action": string,
      "ins": [
        string
      ],
      "notIns": [
        string
      ],
      "conditions": [
        {
          "iam": string,
          "sys": string,
          "svc": string,
          "op": string,
          "values": [
            string
          ]
        }
      ],
      "logConfigs": [
        {
          "counter": {
            "metric": string,
            "field": string,
            "customFields": [
              {
                "name": string,
                "value": string
              }
            ]
          },
          "dataAccess": {
            "logMode": string
          },
          "cloudAudit": {
            "logName": string,
            "authorizationLoggingOptions": {
              "permissionType": string
            }
          }
        }
      ]
    }
  ],
  "etag": bytes,
  "iamOwned": boolean
}
Nama properti Nilai Deskripsi Catatan
version integer Menentukan format kebijakan.

Nilai yang valid adalah `0`, `1`, dan `3`. Permintaan yang menentukan nilai tidak valid akan ditolak.

Setiap operasi yang memengaruhi binding peran bersyarat harus menentukan versi `3`. Persyaratan ini berlaku untuk operasi berikut:

* Mendapatkan kebijakan yang menyertakan binding peran bersyarat * Menambahkan binding peran bersyarat ke kebijakan * Mengubah binding peran bersyarat dalam kebijakan * Menghapus binding peran apa pun, dengan atau tanpa kondisi, dari kebijakan yang menyertakan kondisi

**Penting:** Jika menggunakan IAM Conditions, Anda harus menyertakan kolom `etag` setiap kali memanggil `setIamPolicy`. Jika Anda menghilangkan kolom ini, IAM akan mengizinkan Anda menimpa kebijakan versi `3` dengan kebijakan versi `1`, dan semua kondisi dalam kebijakan versi `3` akan hilang.

Jika kebijakan tidak menyertakan kondisi apa pun, operasi pada kebijakan tersebut dapat menentukan versi yang valid atau membiarkan kolom tidak ditetapkan.

Untuk mempelajari resource yang mendukung kondisi dalam kebijakan IAM-nya, lihat [dokumentasi IAM](https://cloud.google.com/iam/help/conditions/resource-policies).

bindings[] list Mengaitkan daftar `anggota` ke `peran`. Secara opsional, dapat menentukan `kondisi` yang menentukan cara dan waktu `binding` diterapkan. Setiap `binding` harus berisi minimal satu anggota.
bindings[].role string Peran yang ditetapkan ke `anggota`. Misalnya, `roles/viewer`, `roles/editor`, atau `roles/owner`.
bindings[].members[] list 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@example.com` .



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

* `group:{emailid}`: Alamat email yang mewakili grup Google. Misalnya, `admins@example.com`.

* `deleted:user:{emailid}?uid={uniqueid}`: Alamat email (plus ID unik) yang mewakili pengguna yang baru-baru ini dihapus. Misalnya, `alice@example.com?uid=123456789012345678901`. Jika pengguna dipulihkan, nilai ini akan dikembalikan ke `user:{emailid}` dan pengguna yang dipulihkan akan mempertahankan peran dalam binding.

* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: Alamat email (plus ID unik) yang mewakili akun layanan yang baru-baru ini dihapus. Misalnya, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. Jika akun layanan dibatalkan penghapusannya, nilai ini akan dikembalikan ke `serviceAccount:{emailid}` dan akun layanan yang dibatalkan penghapusannya akan mempertahankan peran dalam binding.

* `deleted:group:{emailid}?uid={uniqueid}`: Alamat email (plus ID unik) yang mewakili grup Google yang baru-baru ini dihapus. Misalnya, `admins@example.com?uid=123456789012345678901`. Jika grup dipulihkan, nilai ini akan dikembalikan ke `group:{emailid}` dan grup yang dipulihkan akan mempertahankan peran dalam binding.



* `domain:{domain}`: Domain G Suite (primer) yang mewakili semua pengguna domain tersebut. Misalnya, `google.com` atau `example.com`.







bindings[].condition nested object Kondisi yang terkait dengan binding ini.

Jika kondisi bernilai `true`, binding ini akan berlaku untuk permintaan saat ini.

Jika kondisi bernilai `false`, berarti binding ini tidak berlaku untuk permintaan saat ini. Namun, binding peran yang berbeda mungkin memberikan peran yang sama kepada satu atau beberapa anggota dalam binding ini.

Untuk mempelajari resource mana yang mendukung kondisi dalam kebijakan IAM-nya, lihat [dokumentasi IAM](https://cloud.google.com/iam/help/conditions/resource-policies).
bindings[].condition.expression string Representasi tekstual ekspresi dalam sintaksis Common Expression Language.
bindings[].condition.title string Opsional. Judul untuk ekspresi, yaitu string singkat yang menjelaskan tujuannya. Ini dapat digunakan, misalnya, di UI yang memungkinkan untuk memasukkan ekspresi.
bindings[].condition.description string Opsional. Deskripsi ekspresi. Ini adalah teks yang lebih panjang yang menjelaskan ekspresi, misalnya saat diarahkan ke ekspresi tersebut di UI.
bindings[].condition.location string Opsional. String yang menunjukkan lokasi ekspresi untuk pelaporan error, misalnya nama file dan posisi dalam file.
auditConfigs[] list Menentukan konfigurasi logging audit cloud untuk kebijakan ini.

auditConfigs[].service string Menentukan layanan yang akan diaktifkan untuk logging audit. Misalnya, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` adalah nilai khusus yang mencakup semua layanan.
auditConfigs[].exemptedMembers[] list

auditConfigs[].auditLogConfigs[] list Konfigurasi untuk logging setiap jenis izin.
auditConfigs[].auditLogConfigs[].logType string Jenis log yang diaktifkan konfigurasi ini.
auditConfigs[].auditLogConfigs[].exemptedMembers[] list Menentukan identitas yang tidak menyebabkan logging untuk jenis izin ini. Mengikuti format [Binding.members][] yang sama.
auditConfigs[].auditLogConfigs[].ignoreChildExemptions boolean

rules[] list Jika lebih dari satu aturan ditentukan, aturan akan diterapkan dengan cara berikut: - Semua aturan LOG yang cocok selalu diterapkan. - Jika ada aturan DENY/DENY_WITH_LOG yang cocok, izin akan ditolak. Logging akan diterapkan jika satu atau beberapa aturan pencocokan memerlukan logging. - Jika tidak, jika ada aturan ALLOW/ALLOW_WITH_LOG yang cocok, izin akan diberikan. Logging akan diterapkan jika satu atau beberapa aturan pencocokan memerlukan logging. - Jika tidak, jika tidak ada aturan yang berlaku, izin akan ditolak.
rules[].description string Deskripsi aturan yang dapat dibaca manusia.
rules[].permissions[] list Izin adalah string dalam bentuk '..' (misalnya, 'storage.buckets.list'). Nilai '*' cocok dengan semua izin, dan bagian kata kerja dari '*' (misalnya, 'storage.buckets.*') cocok dengan semua kata kerja.

rules[].action string Wajib
rules[].ins[] list Jika satu atau beberapa klausa 'in' ditentukan, aturan akan cocok jika PRINCIPAL/AUTHORITY_SELECTOR ada di setidaknya salah satu entri ini.
rules[].notIns[] list Jika satu atau beberapa klausa 'not_in' ditentukan, aturan akan cocok jika PRINCIPAL/AUTHORITY_SELECTOR tidak ada di entri mana pun.
rules[].conditions[] list Pembatasan tambahan yang harus dipenuhi. Semua kondisi harus lulus agar aturan cocok.
rules[].conditions[].iam string Atribut tepercaya yang disediakan oleh sistem IAM.
rules[].conditions[].sys string Atribut tepercaya yang disediakan oleh layanan apa pun yang memiliki resource dan menggunakan sistem IAM untuk kontrol akses.
rules[].conditions[].svc string Atribut tepercaya yang dibebaskan oleh layanan.
rules[].conditions[].op string Operator untuk menerapkan subjek.
rules[].conditions[].values[] list Objek kondisi.
rules[].logConfigs[] list Konfigurasi yang ditampilkan kepada pemanggil tech.iam.IAM.CheckPolicy untuk setiap entri yang cocok dengan tindakan LOG.
rules[].logConfigs[].counter nested object Opsi penghitung.
rules[].logConfigs[].counter.metric string Metrik yang akan diperbarui.
rules[].logConfigs[].counter.field string Nilai kolom untuk atribut.
rules[].logConfigs[].counter.customFields[] list Kolom kustom.
rules[].logConfigs[].counter.customFields[].name string Name adalah nama kolom.
rules[].logConfigs[].counter.customFields[].value string Nilai adalah nilai kolom. Perlu diperhatikan bahwa berbeda dengan CounterOptions.field, nilai di sini adalah konstanta yang tidak berasal dari IAMContext.
rules[].logConfigs[].dataAccess nested object Opsi akses data.
rules[].logConfigs[].dataAccess.logMode string

rules[].logConfigs[].cloudAudit nested object Opsi audit Cloud.
rules[].logConfigs[].cloudAudit.logName string log_name yang akan diisi di Data Audit Cloud.

rules[].logConfigs[].cloudAudit.authorizationLoggingOptions nested object Informasi yang digunakan oleh pipeline Cloud Audit Logging.
rules[].logConfigs[].cloudAudit.authorizationLoggingOptions.permissionType string Jenis izin yang diperiksa.
etag bytes `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 baca-ubah-tulis untuk melakukan pembaruan kebijakan guna menghindari kondisi race: `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.

**Penting:** Jika menggunakan IAM Conditions, Anda harus menyertakan kolom `etag` setiap kali memanggil `setIamPolicy`. Jika Anda menghapus kolom ini, IAM memungkinkan Anda menimpa kebijakan versi `3` dengan kebijakan versi `1`, dan semua kondisi dalam kebijakan versi `3` akan hilang.
iamOwned boolean

Cobalah!

Gunakan API Explorer di bawah untuk memanggil metode ini pada data langsung dan melihat responsnya.