Mengedit kebijakan batas akses akun utama

Kebijakan batas akses akun utama (PAB) memungkinkan Anda membatasi resource yang dapat diakses oleh kumpulan akun utama. Halaman ini menjelaskan cara mengedit kebijakan batas akses akun utama yang ada, dan cara mengedit binding kebijakan untuk kebijakan batas akses akun utama guna mengubah siapa yang menjadi sasaran kebijakan.

Sebelum memulai

  • Menyiapkan autentikasi.

    Select the tab for how you plan to use the samples on this page:

    gcloud

    In the Google Cloud console, activate Cloud Shell.

    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.

    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.

  • Baca ringkasan kebijakan batas akses akun utama.

Peran yang diperlukan untuk mengedit kebijakan batas akses akun utama

Untuk mendapatkan izin yang diperlukan guna mengedit kebijakan batas akses akun utama, minta administrator untuk memberi Anda peran IAM Principal Access Boundary Admin (roles/iam.principalAccessBoundaryAdmin) di organisasi Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin iam.principalaccessboundarypolicies.update, yang diperlukan untuk mengedit kebijakan batas akses akun utama.

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Peran yang diperlukan untuk mengedit binding kebijakan batas akses akun utama

Izin yang Anda perlukan untuk mengedit binding kebijakan untuk kebijakan batas akses akun utama bergantung pada kumpulan akun utama yang terikat dengan kebijakan.

Untuk mendapatkan izin yang diperlukan guna mengedit binding kebijakan untuk kebijakan batas akses akun utama, minta administrator untuk memberi Anda peran IAM berikut:

  • Pengguna Batas Akses Akun Utama (roles/iam.principalAccessBoundaryUser) di organisasi Anda
  • Edit binding kebijakan untuk kebijakan batas akses akun utama yang terikat ke kumpulan Workforce Identity Federation: IAM Workforce Pool Admin (roles/iam.workforcePoolAdmin) di kumpulan Workforce Identity Federation target
  • Mengedit binding kebijakan untuk kebijakan batas akses akun utama yang terikat ke kumpulan Workload Identity Federation: IAM Workload Identity Pool Admin (roles/iam.workloadIdentityPoolAdmin) di project yang memiliki kumpulan Workforce Identity Federation target
  • Mengedit binding kebijakan untuk kebijakan batas akses akun utama yang terikat ke domain Google Workspace: Admin IAM Workspace Pool (roles/iam.workspacePoolAdmin) di organisasi
  • Mengedit binding kebijakan untuk kebijakan batas akses akun utama yang terikat dengan kumpulan akun utama project: Admin IAM Project (roles/resourcemanager.projectIamAdmin) pada project
  • Mengedit binding kebijakan untuk kebijakan batas akses akun utama yang terikat dengan kumpulan akun utama folder: Folder IAM Admin (roles/resourcemanager.folderIamAdmin) di folder tersebut
  • Mengedit binding kebijakan untuk kebijakan batas akses akun utama yang terikat dengan kumpulan akun utama organisasi: Administrator Organisasi (roles/resourcemanager.organizationAdmin) di organisasi

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk mengedit binding kebijakan untuk kebijakan batas akses akun utama. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk mengedit binding kebijakan untuk kebijakan batas akses akun utama:

  • iam.principalaccessboundarypolicies.bind di organisasi
  • Edit binding kebijakan untuk kebijakan batas akses akun yang terikat ke kumpulan Workforce Identity Federation: iam.workforcePools.updatePolicyBinding di kumpulan Workforce Identity Federation target
  • Edit binding kebijakan untuk kebijakan batas akses akun yang terikat ke kumpulan Workload Identity Federation: iam.workloadIdentityPools.updatePolicyBinding di project yang memiliki kumpulan Workforce Identity Federation target
  • Mengedit binding kebijakan untuk kebijakan batas akses akun utama yang terikat ke domain Google Workspace: iam.workspacePools.updatePolicyBinding di organisasi
  • Edit binding kebijakan untuk kebijakan batas akses akun utama yang terikat dengan kumpulan akun utama project: resourcemanager.projects.updatePolicyBinding pada project
  • Edit binding kebijakan untuk kebijakan batas akses akun utama yang terikat ke kumpulan akun utama folder: resourcemanager.folders.updatePolicyBinding di folder
  • Mengedit binding kebijakan untuk kebijakan batas akses akun utama yang terikat dengan kumpulan akun utama organisasi: resourcemanager.organizations.updatePolicyBinding di organisasi

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Mengedit kebijakan batas akses akun utama yang ada

Jika Anda ingin menambahkan aturan ke kebijakan batas akses akun utama, menghapus aturan dari kebijakan batas akses akun utama, atau mengubah metadata kebijakan batas akses akun utama, edit kebijakan batas akses akun utama.

Anda dapat mengedit kebijakan batas akses akun utama menggunakan konsol Google Cloud, gcloud CLI, atau IAM REST API.

Konsol

  1. Di konsol Google Cloud, buka halaman Kebijakan Batas Akses Utama.

    Buka kebijakan Principal Access Boundary

  2. Pilih organisasi yang memiliki kebijakan batas akses akun utama yang ingin Anda edit.

  3. Klik ID kebijakan kebijakan batas akses akun utama yang ingin Anda edit.

  4. Klik Edit kebijakan.

  5. Untuk mengedit aturan kebijakan, lakukan hal berikut:

    1. Klik aturan yang ingin diedit.
    2. Edit deskripsi aturan, atau resource yang disertakan dalam aturan.
    3. Klik Done.
  6. Untuk menghapus aturan dari kebijakan, klik Hapus di baris aturan tersebut.

  7. Untuk mengedit nama tampilan kebijakan, edit kolom Nama tampilan.

  8. Untuk mengedit versi penerapan kebijakan, klik daftar Versi penerapan, lalu pilih nilai baru.

  9. Klik Simpan.

gcloud

Perintah gcloud beta iam principal-access-boundary-policies update memperbarui kebijakan batas akses akun utama yang ada.

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • PAB_POLICY_ID: ID kebijakan batas akses akun utama yang ingin Anda update—misalnya, example-policy.
  • ORG_ID: ID organisasi yang memiliki kebijakan batas akses utama. ID organisasi berupa angka, seperti 123456789012.
  • FIELD_TO_UPDATE=UPDATED_VALUE: Kolom yang ingin Anda perbarui dan nilai yang diperbarui yang sesuai.

    Berikut adalah contoh flag yang dapat Anda gunakan untuk memperbarui kolom dalam kebijakan:

    • --display-name=DISPLAY_NAME: Ganti nama tampilan kebijakan dengan DISPLAY_NAME.
    • --details-enforcement-version=ENFORCEMENT_VERSION: Perbarui versi penerapan kebijakan ke ENFORCEMENT_VERSION.
    • --details-rules=RULES_FILE.json: Ganti aturan kebijakan batas akses akun utama dengan aturan di RULES_FILE.json. Untuk mempelajari cara memformat file aturan, lihat Membuat kebijakan batas akses akun utama.

      Jika menggunakan flag ini, Anda tidak dapat menggunakan flag --add-details-rules.

    • --add-details-rules=RULES_FILE: Menambahkan aturan di RULES_FILE.json ke aturan yang ada dalam kebijakan. Untuk mempelajari cara memformat file aturan, lihat Membuat kebijakan batas akses akun utama.

      Jika menggunakan flag ini, Anda tidak dapat menggunakan flag --details-rules.

    • --remove-details-rules=RULES_FILE: Hapus aturan di RULES_FILE.json dari aturan kebijakan yang ada. Untuk mempelajari cara memformat file aturan, lihat Membuat kebijakan batas akses akun utama. Hanya aturan yang sama persis dengan salah satu aturan di RULES_FILE.json yang akan dihapus.

      Jika menggunakan flag ini, Anda tidak dapat menggunakan flag --clear-rule-details.

    • --clear-details-rules: Menghapus semua aturan dari kebijakan batas akses akun utama.

      Jika menggunakan flag ini, Anda tidak dapat menggunakan flag --remove-rule-details.

    Untuk daftar lengkap flag yang dapat Anda gunakan untuk memperbarui kebijakan batas akses akun utama, lihat referensi perintah gcloud beta iam principal-access-boundary-policies update.

  • FORMAT: Format untuk respons. Gunakan json atau yaml.

Jalankan perintah berikut:

Linux, macOS, atau Cloud Shell

gcloud beta iam principal-access-boundary-policies update PAB_POLICY_ID \
    --organization=ORG_ID --location=global \
    --FIELD_TO_UPDATE=UPDATED_VALUE \
    --format=FORMAT

Windows (PowerShell)

gcloud beta iam principal-access-boundary-policies update PAB_POLICY_ID `
    --organization=ORG_ID --location=global `
    --FIELD_TO_UPDATE=UPDATED_VALUE `
    --format=FORMAT

Windows (cmd.exe)

gcloud beta iam principal-access-boundary-policies update PAB_POLICY_ID ^
    --organization=ORG_ID --location=global ^
    --FIELD_TO_UPDATE=UPDATED_VALUE ^
    --format=FORMAT

Respons berisi operasi yang berjalan lama yang mewakili permintaan Anda. Setelah operasi selesai, respons akan mencetak kebijakan batas akses akun utama yang diperbarui.

Request issued for: [example-policy]
Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715374208720-6181fae5e2034-2d8a712b-5c92e5b9] to complete...done.
Updated principalAccessBoundaryPolicy [example-policy].
{
  "name": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-policy",
  "uid": "puid_13364150419245236225",
  "etag": "W/\"Gh/PcTdJD/AWHUhPW45kdw==\"",
  "displayName": "Updated display name",
  "createTime": "2024-05-07T00:05:48.295209Z",
  "updateTime": "2024-05-10T20:50:09.200421Z",
  "details": [
    "rules": {
      [
        "description": "Make principals eligible to access example.com"
        "resources": {
          "//cloudresourcemanager.googleapis.com/organizations/123456789012"
        },
        "effect": ALLOW
      ]
    },
    "enforcementVersion": "1"
  ]
}

REST

Metode principalAccessBoundaryPolicies.patch memperbarui kebijakan batas akses akun utama yang ada.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • ORG_ID: ID organisasi yang memiliki kebijakan batas akses utama. ID organisasi berupa angka, seperti 123456789012.
  • PAB_POLICY_ID: ID kebijakan batas akses akun utama yang ingin Anda update—misalnya, example-policy.
  • FIELDS_TO_UPDATE: Daftar kolom yang dipisahkan koma yang ingin Anda perbarui. Jika Anda tidak menentukan kolom yang akan diperbarui, IAM akan mengganti kebijakan yang ada dengan konten isi permintaan.

    Nilai yang diterima adalah displayName, details, details.rules, details.rules.description, details.rules.resources, details.rules.effect, dan details.enforcementVersion.

  • DISPLAY_NAME: Opsional. Deskripsi kebijakan batas akses utama yang dapat dibaca manusia—misalnya, Example policy. Nama tampilan dapat terdiri dari maksimal 63 karakter.
  • PAB_RULES: Daftar aturan batas akses akun utama, yang menentukan resource yang memenuhi syarat untuk diakses oleh akun utama yang terpengaruh. Kebijakan batas akses akun utama dapat memiliki hingga 500 aturan. Setiap aturan memiliki format berikut:

    {
    "description": "DESCRIPTION",
    "resources": [
      RESOURCES
    ],
    "effect": ALLOW
    }

    Ganti nilai berikut:

    • DESCRIPTION: Opsional. Deskripsi aturan kebijakan batas akses utama. Deskripsi dapat berisi maksimal 256 karakter.
    • RESOURCES: Daftar resource Pengelola Resource (project, folder, dan organisasi) yang Anda inginkan agar dapat diakses oleh akun utama. Setiap akun utama yang tunduk pada kebijakan ini memenuhi syarat untuk mengakses resource ini.

      Setiap kebijakan batas akses akun utama dapat mereferensikan maksimal 500 resource di semua aturan dalam kebijakan.

  • ENFORCEMENT_VERSION: Versi kebijakan batas akses akun utama yang digunakan IAM saat menerapkan kebijakan. Versi penerapan menentukan izin yang diterapkan IAM untuk kebijakan batas akses akun utama.

    Nilai yang diterima adalah 1 dan latest.

    Untuk mengetahui informasi selengkapnya tentang versi penerapan, lihat Versi penerapan batas akses akun utama.

Metode HTTP dan URL:

PATCH https://iam.googleapis.com/v3beta/organizations/ORG_ID/locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID?updateMask=FIELDS_TO_UPDATE

Meminta isi JSON:

{
  "displayName": DISPLAY_NAME,
  "details": {
    "rules": [
      PAB_RULES
    ],
    "enforcementVersion": "ENFORCEMENT_VERSION",
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Respons berisi operasi yang berjalan lama yang mewakili permintaan Anda.

{
  "name": "organizations/123456789012/locations/global/operations/operation-1715626721931-6185a7953ef76-76f80ee4-19cd1bf7",
  "metadata": {
    "@type": "type.googleapis.com/google.iam.v3beta.OperationMetadata",
    "createTime": "2024-05-13T18:58:43.721277235Z",
    "target": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-policy",
    "verb": "update",
    "requestedCancellation": false,
    "apiVersion": "v3beta"
  },
  "done": false
}

Mengubah target penerapan kebijakan batas akses akun utama

Setelah membuat binding kebijakan untuk kebijakan batas akses akun utama, Anda tidak dapat mengubah ID kebijakan atau akun utama yang ditetapkan dalam binding. Akibatnya, jika ingin mengubah siapa yang akan dikenai kebijakan batas akses akun utama, Anda harus melakukan salah satu hal berikut:

  • Untuk menyaring kumpulan akun utama yang menerapkan kebijakan batas akses akun utama, Anda dapat mengubah kondisi dalam binding kebijakan. Untuk mengubah kondisi dalam binding, edit binding kebijakan.
  • Untuk menerapkan kebijakan batas akses akun utama untuk kumpulan akun utama tambahan, buat binding kebijakan baru yang mengikat kebijakan ke kumpulan akun utama tersebut.
  • Untuk menghapus kebijakan batas akses akun utama dari kumpulan akun utama, hapus binding kebijakan yang mengikat kebijakan ke kumpulan akun utama.

Mengedit binding kebijakan yang ada untuk kebijakan batas akses akun utama

Setelah membuat binding kebijakan, Anda dapat mengedit binding untuk mengubah kondisi dalam binding atau nama tampilan binding.

Anda dapat mengedit binding kebijakan menggunakan konsol Google Cloud, gcloud CLI, atau IAM REST API.

Konsol

  1. Di konsol Google Cloud, buka halaman Kebijakan Batas Akses Utama.

    Buka kebijakan Principal Access Boundary

  2. Pilih organisasi yang memiliki kebijakan batas akses akun utama yang ingin Anda edit.

  3. Klik ID kebijakan kebijakan batas akses akun utama yang binding-nya ingin Anda edit.

  4. Klik tab Bindings.

  5. Temukan ID binding yang ingin diedit. Di baris binding tersebut, klik Actions, lalu klik Edit binding.

  6. Untuk memperbarui nama tampilan binding, edit kolom Nama tampilan.

  7. Untuk menambahkan kondisi ke binding, lakukan hal berikut:

    1. Klik Tambahkan kondisi.
    2. Di kolom Title, masukkan ringkasan singkat tentang tujuan kondisi.
    3. Opsional: Di kolom Description, masukkan deskripsi kondisi yang lebih panjang.
    4. Di kolom Expression, masukkan ekspresi kondisi yang menggunakan sintaksis Common Expression Language (CEL). Ekspresi harus mereferensikan atribut principal.type atau principal.subject. Atribut lainnya tidak didukung.
    5. Klik Simpan.
  8. Untuk memperbarui kondisi yang ada, lakukan hal berikut:

    1. Klik Edit kondisi di samping nama kondisi.
    2. Perbarui judul, deskripsi, atau ekspresi kondisi.
    3. Klik Simpan.
  9. Untuk menyimpan perubahan, klik Save.

gcloud

Perintah gcloud beta iam policy-bindings update memperbarui binding kebijakan yang ada.

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • BINDING_ID: ID binding kebijakan yang ingin Anda update—misalnya, example-binding.
  • RESOURCE_TYPE: Jenis resource Resource Manager (project, folder, atau organisasi) yang merupakan turunan dari binding kebijakan. Gunakan nilai project, folder, atau organization

    Jenis resource bergantung pada akun utama yang ditetapkan dalam binding kebijakan. Untuk melihat jenis resource yang akan digunakan, lihat Jenis akun utama yang didukung.

  • RESOURCE_ID: ID project, folder, atau organisasi yang merupakan turunan dari binding kebijakan. Project ID adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
  • FIELD_TO_UPDATE=UPDATED_VALUE: Kolom yang ingin Anda perbarui dan nilai yang diperbarui yang sesuai.

    Berikut adalah contoh flag yang dapat Anda gunakan untuk memperbarui kolom dalam binding kebijakan:

    • --display-name=DISPLAY_NAME: Ganti nama tampilan binding dengan DISPLAY_NAME.
    • --condition-description=CONDITION_DESCRIPTION: Jika binding memiliki kondisi, ganti deskripsi kondisi dengan CONDITION_DESCRIPTION. Jika tidak, tambahkan kondisi baru ke binding dengan deskripsi yang ditentukan. Jika menggunakan flag ini untuk memperbarui binding yang tidak memiliki kondisi, Anda juga harus menetapkan flag --condition-expression.
    • --condition-expression=CONDITION_EXPRESSION: Jika binding memiliki kondisi, ganti ekspresi kondisi dengan CONDITION_EXPRESSION. Jika tidak, tambahkan kondisi baru ke binding dengan ekspresi yang ditentukan.
    • --condition-title=CONDITION_TITLE: Jika binding memiliki kondisi, ganti judul kondisi dengan CONDITION_TITLE. Jika tidak, tambahkan kondisi baru ke binding dengan judul yang ditentukan. Jika menggunakan flag ini untuk mengupdate binding yang tidak memiliki kondisi, Anda juga harus menetapkan flag --condition-expression.

    Untuk daftar lengkap kolom yang dapat Anda perbarui, lihat referensi perintah gcloud beta iam policy-bindings update.

  • FORMAT: Format untuk respons. Gunakan json atau yaml.

Jalankan perintah berikut:

Linux, macOS, atau Cloud Shell

gcloud beta iam policy-bindings update BINDING_ID \
    --RESOURCE_TYPE=RESOURCE_ID --location=global \
    --FIELD_TO_UPDATE=UPDATED_VALUE \
    --format=FORMAT

Windows (PowerShell)

gcloud beta iam policy-bindings update BINDING_ID `
    --RESOURCE_TYPE=RESOURCE_ID --location=global `
    --FIELD_TO_UPDATE=UPDATED_VALUE `
    --format=FORMAT

Windows (cmd.exe)

gcloud beta iam policy-bindings update BINDING_ID ^
    --RESOURCE_TYPE=RESOURCE_ID --location=global ^
    --FIELD_TO_UPDATE=UPDATED_VALUE ^
    --format=FORMAT

Respons berisi operasi yang berjalan lama yang mewakili permintaan Anda.

Update request issued for: [my-binding]
Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715374545618-6181fc272c6f9-55ff07f4-97d0ac76] to complete...done.
Updated policyBinding [my-binding].
{
  "createTime": "2024-05-06T18:08:24.729843Z",
  "displayName": "Updated display name",
  "etag": "W/\"xkdnPfTxoxyVqOwhQSJbMg==\"",
  "name": "organizations/123456789012/locations/global/policyBindings/example-binding",
  "policy": "organizations/123456789012/locations/global/principalAccessBoundaryPolicies/example-pab-policy",
  "policyKind": "PRINCIPAL_ACCESS_BOUNDARY",
  "policyUid": "puid_9519202237377675265",
  "target": {
    "principalSet": "//cloudresourcemanager.googleapis.com/organizations/123456789012"
  },
  "uid": "buid_9904260005517852673", 
  "updateTime": "2024-05-06T18:11:16.798841Z"
}

REST

Metode policyBindings.patch memperbarui binding kebijakan yang ada.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • RESOURCE_TYPE: Jenis resource Resource Manager (project, folder, atau organisasi) yang merupakan turunan dari binding kebijakan. Gunakan nilai projects, folders, atau organizations

    Jenis resource bergantung pada akun utama yang ditetapkan dalam binding kebijakan. Untuk melihat jenis resource yang akan digunakan, lihat Jenis utama yang didukung.

  • RESOURCE_ID: ID project, folder, atau organisasi yang merupakan turunan dari binding kebijakan. Project ID adalah string alfanumerik, seperti my-project. Folder dan ID organisasi berupa numerik, seperti 123456789012.
  • BINDING_ID: ID binding kebijakan yang ingin Anda update—misalnya, example-binding.
  • FIELDS_TO_UPDATE: Daftar kolom yang dipisahkan koma yang ingin Anda perbarui. Jika Anda tidak menentukan kolom yang akan diperbarui, IAM akan mengganti binding yang ada dengan konten isi permintaan.

    Nilai yang diterima adalah displayName, condition, condition.expression, condition.title, dan condition.description.

  • DISPLAY_NAME: Opsional. Deskripsi binding yang dapat dibaca manusia—misalnya, Example binding. Nama tampilan dapat terdiri dari maksimal 63 karakter.
  • CONDITION_DETAILS: Opsional. Ekspresi kondisi yang menentukan akun utama dalam kumpulan akun utama yang akan menerapkan kebijakan batas akses akun utama. Berisi kolom berikut:

Metode HTTP dan URL:

POST https://iam.googleapis.com/v3beta/RESOURCE_TYPE/RESOURCE_ID/locations/global/policyBindings/BINDING_ID?updateMask=FIELDS_TO_UPDATE

Meminta isi JSON:

{
  "displayName": DISPLAY_NAME,
  "condition": {
    CONDITION_DETAILS
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Respons berisi operasi yang berjalan lama yang mewakili permintaan Anda.

{
  "name": "organizations/123456789012/locations/global/operations/operation-1715373159010-6181f6fcccfa7-dcd0055c-00c22cad",
  "metadata": {
    "@type": "type.googleapis.com/google.iam.v3beta.OperationMetadata",
    "createTime": "2024-05-10T20:32:39.254910121Z",
    "target": "organizations/123456789012/locations/global/policyBindings/example-binding",
    "verb": "update",
    "requestedCancellation": false,
    "apiVersion": "v3beta"
  },
  "done": false
}

Langkah selanjutnya