Membuat dan menerapkan 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 membuat dan menerapkan kebijakan batas akses akun utama.

Sebelum memulai

  • Menyiapkan autentikasi.

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

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    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 membuat kebijakan batas akses akun utama

Untuk mendapatkan izin yang diperlukan guna membuat 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.create, yang diperlukan untuk membuat kebijakan batas akses akun utama.

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

Peran yang diperlukan untuk menerapkan kebijakan batas akses akun utama

Izin yang Anda perlukan untuk menerapkan kebijakan batas akses akun utama bergantung pada kumpulan akun utama yang ingin Anda terapkan kebijakannya.

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

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

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

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

Izin yang diperlukan

Izin berikut diperlukan untuk menerapkan kebijakan batas akses akun utama:

  • iam.principalaccessboundarypolicies.bind di organisasi
  • Terapkan kebijakan batas akses akun utama ke kumpulan Workforce Identity Federation: iam.workforcePools.createPolicyBinding di kumpulan Workforce Identity Federation target
  • Terapkan kebijakan batas akses akun utama ke kumpulan Workload Identity Federation: iam.workloadIdentityPools.createPolicyBinding pada project yang memiliki kumpulan Workforce Identity Federation target
  • Terapkan kebijakan batas akses akun utama ke domain Google Workspace: iam.workspacePools.createPolicyBinding di organisasi
  • Terapkan kebijakan batas akses akun utama ke kumpulan akun utama project: resourcemanager.projects.createPolicyBinding pada project
  • Terapkan kebijakan batas akses akun utama ke kumpulan akun utama folder: resourcemanager.folders.createPolicyBinding di folder
  • Terapkan kebijakan batas akses akun utama ke kumpulan akun utama organisasi: resourcemanager.organizations.createPolicyBinding di organisasi

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

Membuat kebijakan batas akses akun utama

Anda dapat membuat 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 tempat Anda ingin membuat kebijakan batas akses akun utama.

  3. Klik Buat kebijakan.

  4. Tambahkan aturan batas akses akun utama ke kebijakan:

    1. Klik Tambahkan aturan batas.
    2. Di kolom Deskripsi, tambahkan deskripsi aturan kebijakan batas akses utama. Deskripsi dapat berisi maksimal 256 karakter.
    3. Di bagian Resources, masukkan semua resource Pengelola Resource (project, folder, dan organisasi) yang Anda inginkan agar akun utama memenuhi syarat untuk mengaksesnya. 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.

    4. Klik Done.

    5. Untuk menambahkan aturan kebijakan tambahan, ulangi langkah-langkah ini. Setiap kebijakan batas akses akun utama dapat memiliki hingga 500 aturan.

  5. Di bagian Nama kebijakan, masukkan nama untuk kebijakan. Nama dapat berisi maksimal 63 karakter.

  6. Dalam daftar Enforcement version, pilih versi penerapan untuk kebijakan. Versi kebijakan batas akses akun utama menentukan izin yang diberlakukan IAM untuk kebijakan batas akses akun utama.

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

  7. Klik Create.

gcloud

Perintah gcloud beta iam principal-access-boundary-policies create membuat kebijakan batas akses akun utama.

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

  • ORG_ID: ID organisasi tempat Anda ingin membuat kebijakan batas akses akun utama. ID organisasi berupa angka, seperti 123456789012.
  • PAB_POLICY_ID: ID unik untuk kebijakan batas akses akun utama—misalnya, example-policy. :
  • DISPLAY_NAME: Opsional. Deskripsi kebijakan batas akses utama yang dapat dibaca manusia—misalnya, Example policy. Nama tampilan dapat terdiri dari maksimal 63 karakter.
  • FILE_PATH: Jalur ke file JSON yang berisi detail aturan kebijakan batas akses utama. File ini harus 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.

Jalankan perintah berikut:

Linux, macOS, atau Cloud Shell

gcloud beta iam principal-access-boundary-policies create PAB_POLICY_ID \
    --organization=ORG_ID --location=global \
    --display-name=DISPLAY_NAME --details-rules=FILE_PATH.json \
    --details-enforcement-version=ENFORCEMENT_VERSION

Windows (PowerShell)

gcloud beta iam principal-access-boundary-policies create PAB_POLICY_ID `
    --organization=ORG_ID --location=global `
    --display-name=DISPLAY_NAME --details-rules=FILE_PATH.json `
    --details-enforcement-version=ENFORCEMENT_VERSION

Windows (cmd.exe)

gcloud beta iam principal-access-boundary-policies create PAB_POLICY_ID ^
    --organization=ORG_ID --location=global ^
    --display-name=DISPLAY_NAME --details-rules=FILE_PATH.json ^
    --details-enforcement-version=ENFORCEMENT_VERSION

Respons berisi operasi yang berjalan lama yang mewakili permintaan Anda.

Create request issued for: [example-policy]
Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715373988044-6181fa136df85-3b06a30a-4816d25b] to complete...done.
Created principalAccessBoundaryPolicy [example-policy].

REST

Metode principalAccessBoundaryPolicies.create membuat kebijakan batas akses akun utama.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • ORG_ID: ID organisasi tempat Anda ingin membuat kebijakan batas akses akun utama. ID organisasi berupa angka, seperti 123456789012.
  • PAB_POLICY_ID: ID unik untuk kebijakan batas akses akun utama—misalnya, example-policy.
  • 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:

POST https://iam.googleapis.com/v3beta/organizations/ORG_ID/locations/global?principalAccessBoundaryPolicyId=PAB_POLICY_ID

Meminta isi JSON:

{
  "displayName": DISPLAY_NAME,
  "details": {
    "rules": [
      PAB_RULES
    ],
    "effect": ALLOW
    }
  ],
  "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-1715373120647-6181f6d8371d2-83309b71-2b8a7532",
  "metadata": {
    "@type": "type.googleapis.com/google.iam.v3beta.OperationMetadata",
    "createTime": "2024-05-10T20:32:00.898809495Z",
    "target": "organizations/123456789012/locations/global/policyBindings/example-policy",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v3beta"
  },
  "done": false
}

Menerapkan kebijakan batas akses akun utama ke kumpulan akun utama

Untuk menerapkan kebijakan batas akses akun utama ke kumpulan akun utama, buat resource binding kebijakan yang mengikat kebijakan ke kumpulan akun utama. Setelah Anda membuat binding kebijakan, kebijakan batas akses akun utama dalam binding akan diterapkan untuk akun utama dalam binding.

Anda dapat membuat 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 buatkan binding.

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

  4. Klik tab Bindings, lalu klik Add binding.

  5. Masukkan detail binding:

    1. Opsional: Di kolom Nama tampilan, masukkan nama tampilan untuk binding. Nama tampilan maksimal 63 karakter.
    2. Di kolom Binding ID, masukkan nama unik untuk binding—misalnya, example-binding.
    3. Di bagian Target principal set, masukkan jenis dan ID set akun utama yang ingin Anda kaitkan dengan kebijakan. Anda tidak dapat mengubah nilai ini setelah membuat binding kebijakan.

      Untuk mempelajari lebih lanjut akun utama yang disertakan dalam setiap set akun utama, lihat Set akun utama yang didukung.

  6. Opsional: Untuk menentukan akun utama dalam kumpulan akun utama yang akan dikenai kebijakan batas akses akun utama, tambahkan kondisi ke binding:

    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.
  7. Untuk membuat binding, klik Tambahkan.

gcloud

Perintah gcloud beta iam policy-bindings create membuat binding kebijakan.

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

  • BINDING_ID: Nama unik untuk binding kebijakan—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 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.
  • ORG_ID: ID organisasi yang memiliki kebijakan batas akses akun utama yang ingin Anda ikat ke kumpulan akun utama. ID organisasi berupa angka, seperti 123456789012.
  • PAB_POLICY_ID: ID kebijakan batas akses akun utama yang ingin Anda ikat ke set akun utama—misalnya, example-pab-policy. Anda tidak dapat mengubah nilai ini setelah membuat binding kebijakan.
  • PRINCIPAL_SET: Set akun utama yang ingin Anda ikat dengan kebijakan. Untuk daftar jenis akun utama yang valid, lihat Set akun utama yang didukung. Anda tidak dapat mengubah nilai ini setelah membuat binding kebijakan.
  • 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:

Jalankan perintah berikut:

Linux, macOS, atau Cloud Shell

gcloud beta iam policy-bindings create BINDING_ID \
    --RESOURCE_TYPE=RESOURCE_ID --location=global \
    --policy="organizations/ORG_ID/locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID" \
    --target-principal-set=PRINCIPAL_SET_ID \
    --display-name=DISPLAY_NAME \
    CONDITION_DETAILS

Windows (PowerShell)

gcloud beta iam policy-bindings create BINDING_ID `
    --RESOURCE_TYPE=RESOURCE_ID --location=global `
    --policy="organizations/ORG_ID/locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID" `
    --target-principal-set=PRINCIPAL_SET_ID `
    --display-name=DISPLAY_NAME `
    CONDITION_DETAILS

Windows (cmd.exe)

gcloud beta iam policy-bindings create BINDING_ID ^
    --RESOURCE_TYPE=RESOURCE_ID --location=global ^
    --policy="organizations/ORG_ID/locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID" ^
    --target-principal-set=PRINCIPAL_SET_ID ^
    --display-name=DISPLAY_NAME ^
    CONDITION_DETAILS

Respons berisi operasi yang berjalan lama yang mewakili permintaan Anda.

Create request issued for: [example-binding]
Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715374545618-6181fc272c6f9-55ff07f4-97d0ac76] to complete...done.
Created policyBinding [example-binding].

REST

Metode policyBindings.create membuat binding kebijakan.

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: Nama unik untuk binding kebijakan—misalnya, example-binding.
  • DISPLAY_NAME: Opsional. Deskripsi binding yang dapat dibaca manusia—misalnya, Example binding. Nama tampilan dapat terdiri dari maksimal 63 karakter.
  • PRINCIPAL_SET: Set akun utama yang ingin Anda ikat dengan kebijakan. Untuk daftar jenis akun utama yang valid, lihat Set akun utama yang didukung. Anda tidak dapat mengubah nilai ini setelah membuat binding kebijakan.
  • ORG_ID: ID organisasi yang memiliki kebijakan batas akses akun utama yang ingin Anda ikat ke kumpulan akun utama. ID organisasi berupa angka, seperti 123456789012.
  • PAB_POLICY_ID: ID kebijakan batas akses akun utama yang ingin Anda ikat ke set akun utama—misalnya, example-pab-policy. Anda tidak dapat mengubah nilai ini setelah membuat binding kebijakan.
  • 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?policyBindingId=BINDING_ID

Meminta isi JSON:

{
  "displayName": DISPLAY_NAME,
  "target": {
    "principalSet": PRINCIPAL_SET
  },
  "policyKind": "PRINCIPAL_ACCESS_BOUNDARY",
  "policy": "organizations/ORG_ID/locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID",
  "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-1715373120647-6181f6d8371d2-83309b71-2b8a7532",
  "metadata": {
    "@type": "type.googleapis.com/google.iam.v3beta.OperationMetadata",
    "createTime": "2024-05-10T20:32:00.898809495Z",
    "target": "organizations/123456789012/locations/global/policyBindings/example-binding",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v3beta"
  },
  "done": false
}

Langkah selanjutnya