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.
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.
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 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.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-03-04 UTC."],[[["\u003cp\u003eThis content defines an Identity and Access Management (IAM) policy used for specifying access control to Cloud Platform resources.\u003c/p\u003e\n"],["\u003cp\u003eA \u003ccode\u003ePolicy\u003c/code\u003e is composed of \u003ccode\u003ebindings\u003c/code\u003e, which link \u003ccode\u003emembers\u003c/code\u003e (like users or groups) to a defined \u003ccode\u003erole\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eEach \u003ccode\u003eBinding\u003c/code\u003e defines a \u003ccode\u003erole\u003c/code\u003e and the list of associated \u003ccode\u003emembers\u003c/code\u003e, and may include a conditional \u003ccode\u003eExpr\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eetag\u003c/code\u003e field in the JSON representation of a policy is crucial for preventing concurrent policy updates from overwriting each other.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eExpr\u003c/code\u003e object is used to define a custom condition that, when attached to a \u003ccode\u003eBinding\u003c/code\u003e will add conditions to the roles, and can consist of a title, description, and expression.\u003c/p\u003e\n"]]],[],null,["# Policy\n\n- [JSON representation](#SCHEMA_REPRESENTATION)\n- [Binding](#Binding)\n - [JSON representation](#Binding.SCHEMA_REPRESENTATION)\n- [Expr](#Expr)\n - [JSON representation](#Expr.SCHEMA_REPRESENTATION)\n\nDefines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources.\n\nA `Policy` consists of a list of `bindings`. A `binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM.\n\n**JSON Example** \n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\n**YAML Example** \n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-other-app@appspot.gserviceaccount.com\n role: roles/owner\n - members:\n - user:sean@example.com\n role: roles/viewer\n\nFor a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam/docs).\n\nBinding\n-------\n\nAssociates `members` with a `role`.\n\nExpr\n----\n\nRepresents an expression text. Example: \n\n title: \"User account presence\"\n description: \"Determines whether the request has a user account\"\n expression: \"size(request.user) \u003e 0\""]]