Menggunakan batasan

Panduan ini menjelaskan cara membuat kebijakan organisasi dengan batasan tertentu. Batasan yang digunakan dalam contoh di halaman ini tidak akan menjadi batasan yang sebenarnya, tetapi contoh umum untuk tujuan pendidikan.

Untuk mengetahui informasi selengkapnya tentang batasan dan masalah yang dipecahkan, tinjau daftar semua batasan Layanan Kebijakan Organisasi.

Sebelum memulai

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk mengelola kebijakan organisasi, minta administrator untuk memberi Anda peran IAM Administrator kebijakan organisasi (roles/orgpolicy.policyAdmin) di organisasi. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk mengelola kebijakan organisasi. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk mengelola kebijakan organisasi:

  • orgpolicy.constraints.list
  • orgpolicy.policies.create
  • orgpolicy.policies.delete
  • orgpolicy.policies.list
  • orgpolicy.policies.update
  • orgpolicy.policy.get
  • orgpolicy.policy.set

Anda mung juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaanlainnya.

Menggunakan batasan daftar dengan kebijakan organisasi

Menyiapkan penerapan pada resource organisasi

Anda dapat menetapkan kebijakan organisasi di resource organisasi yang menggunakan batasan daftar untuk menolak akses ke layanan tertentu. Proses berikut menjelaskan cara menetapkan kebijakan organisasi menggunakan Google Cloud CLI. Untuk mengetahui petunjuk cara melihat dan menetapkan kebijakan organisasi menggunakan Konsol Google Cloud, lihat Membuat dan Mengelola Kebijakan.

Kebijakan organisasi yang menggunakan batasan daftar tidak boleh memiliki lebih dari 500 nilai individual yang diizinkan atau ditolak, dan tidak boleh lebih dari 32 KB. Jika kebijakan organisasi dibuat atau diperbarui agar memiliki lebih dari 500 nilai, atau berukuran lebih dari 32 KB, kebijakan tersebut tidak akan berhasil disimpan, dan permintaan akan menampilkan error.

API v2

  1. Dapatkan kebijakan yang berlaku pada resource organisasi menggunakan perintah describe Perintah ini akan menampilkan kebijakan yang langsung diterapkan ke resource ini:

    gcloud org-policies describe \
      LIST_CONSTRAINT --organization=ORGANIZATION_ID
    

    Dengan keterangan:

    • ORGANIZATION_ID adalah ID unik untuk resource organisasi. ID Organisasi diformat sebagai angka desimal dan tidak boleh memiliki angka nol di awal.

    • LIST_CONSTRAINT adalah batasan daftar untuk layanan yang ingin Anda terapkan.

    Anda juga dapat menerapkan kebijakan organisasi ke folder atau project dengan tanda --folder atau --project, serta ID folder dan project ID.

    Responsnya akan menampilkan kebijakan organisasi saat ini, jika ada. Contoh:

    name: projects/841166443394/policies/gcp.resourceLocations
    spec:
      etag: BwW5P5cEOGs=
      inheritFromParent: true
      rules:
      - condition:
          expression: resource.matchTagId("tagKeys/1111", "tagValues/2222")
        values:
          allowedValues:
          - in:us-east1-locations
      - condition:
          expression: resource.matchTag("123/env", "prod")
        values:
          allowedValues:
          - in:us-west1-locations
      - values:
          deniedValues:
          - in:asia-south1-locations
      updateTime: '2021-01-19T12:00:51.095Z'
    

    Jika kebijakan tidak disetel, error NOT_FOUND akan ditampilkan:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Tetapkan kebijakan di organisasi menggunakan perintah set-policy. Tindakan ini akan menimpa kebijakan apa pun yang saat ini terpasang ke resource.

    1. Membuat file sementara /tmp/policy.yaml untuk menyimpan kebijakan:

      name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT
      spec:
        rules:
        - values:
          deniedValues:
          - VALUE_A
      
    2. Jalankan perintah set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  3. Lihat kebijakan yang berlaku saat ini menggunakan describe --effective. Tindakan ini akan menampilkan kebijakan organisasi seperti yang dievaluasi di tahap ini dalam hierarki resource dengan pewarisan yang disertakan.

    gcloud org-policies describe \
      LIST_CONSTRAINT --effective \
      --organization=ORGANIZATION_ID
    

    Output perintahnya adalah:

    name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
        - values:
            deniedValues:
            - VALUE_A
    

    Karena kebijakan organisasi ini ditetapkan pada tingkat organisasi, kebijakan tersebut akan diwarisi oleh semua resource turunan yang memungkinkan pewarisan.

API v1

  1. Dapatkan kebijakan saat ini di resource organisasi menggunakan perintah describe:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --organization ORGANIZATION_ID
    

    Dengan keterangan:

    • ORGANIZATION_ID adalah ID unik untuk resource organisasi. ID Organisasi diformat sebagai angka desimal dan tidak boleh memiliki angka nol di awal.

    • LIST_CONSTRAINT adalah batasan daftar untuk layanan yang ingin Anda terapkan.

    Anda juga dapat menerapkan kebijakan organisasi ke folder atau project dengan tanda --folder atau --project, serta ID folder dan project ID.

    Karena kebijakan tidak disetel, kebijakan yang tidak lengkap akan ditampilkan, seperti contoh berikut:

    constraint: "constraints/LIST_CONSTRAINT"
    etag: BwVJi0OOESU=
    
  2. Gunakan perintah deny untuk menambahkan nilai yang ditolak untuk layanan yang ingin Anda batasi aksesnya.

    gcloud resource-manager org-policies deny \
      LIST_CONSTRAINT VALUE_A \
      --organization ORGANIZATION_ID
    

    Output perintahnya adalah:

    constraint: constraints/LIST_CONSTRAINT
    etag: BwVJi0OOESU=
    listPolicy:
      deniedValues:
        - VALUE_A
    updateTime: CURRENT_TIME
    
  3. Lihat kebijakan yang berlaku saat ini menggunakan describe --effective.

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --organization ORGANIZATION_ID
    

    Output perintahnya adalah:

    constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      deniedValues:
        - VALUE_A
    

    Karena kebijakan organisasi ini ditetapkan pada tingkat organisasi, kebijakan tersebut akan diwarisi oleh semua resource turunan yang memungkinkan pewarisan.

Perubahan pada kebijakan organisasi dapat memerlukan waktu hingga 15 menit untuk diterapkan sepenuhnya.

Menyiapkan penerapan terhadap subhierarki hierarki

Batasan daftar mengambil nilai yang ditentukan secara eksplisit untuk menentukan resource mana yang harus diizinkan atau ditolak. Beberapa batasan juga dapat menerima nilai yang menggunakan awalan under:, yang menentukan subhierarki dengan resource tersebut sebagai root. Menggunakan awalan under: pada nilai yang diizinkan atau ditolak akan menyebabkan kebijakan organisasi bertindak terhadap resource tersebut dan semua turunannya. Untuk informasi tentang batasan yang memungkinkan penggunaan awalan under:, lihat halaman Batasan kebijakan organisasi.

Nilai yang menggunakan awalan under: disebut string subpohon hierarki. String subpohon hierarki menentukan jenis resource yang diterapkan padanya. Misalnya, penggunaan string subpohon projects/PROJECT_ID saat menetapkan batasan constraints/compute.storageResourceUseRestrictions akan mengizinkan atau menolak penggunaan penyimpanan Compute Engine untuk PROJECT_ID dan semua turunannya.

API v2

  1. Dapatkan kebijakan saat ini di resource organisasi menggunakan perintah describe:

    gcloud org-policies describe \
      LIST_CONSTRAINT --organization=ORGANIZATION_ID
    

    Dengan keterangan:

    • ORGANIZATION_ID adalah ID unik untuk resource organisasi.

    • LIST_CONSTRAINT adalah batasan daftar untuk layanan yang ingin Anda terapkan.

    Anda juga dapat menerapkan kebijakan organisasi ke folder atau project dengan tanda --folder atau --project, serta ID folder dan project ID.

    Jika kebijakan tidak disetel, error NOT_FOUND akan ditampilkan:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Tetapkan kebijakan pada project menggunakan perintah set-policy. Awalan under: menetapkan batasan untuk menolak resource bernama dan semua resource turunannya.

    1. Membuat file sementara /tmp/policy.yaml untuk menyimpan kebijakan:

      name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT
      spec:
        rules:
        - values:
          deniedValues:
          - under:folders/VALUE_A
      
    2. Jalankan perintah set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      

    Dengan keterangan:

    • under: adalah awalan yang menandakan bahwa string berikutnya adalah string subhierarki.

    • folders/VALUE_A adalah ID folder resource root yang ingin Anda tolak. Resource ini dan semua turunannya dalam hierarki resource akan ditolak.

    Anda juga dapat menerapkan awalan under: ke organisasi dan project, seperti pada contoh berikut:

    • under:organizations/VALUE_X

    • under:projects/VALUE_Y

  3. Lihat kebijakan yang berlaku saat ini menggunakan describe --effective.

    gcloud org-policies describe \
      LIST_CONSTRAINT --effective \
      --organization=ORGANIZATION_ID
    

    Output perintahnya adalah:

    name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
        - values:
            deniedValues:
            - under:folders/VALUE_A
    

    Sekarang kebijakan mengevaluasi untuk menolak folder VALUE_A dan semua resource turunannya.

API v1

  1. Dapatkan kebijakan saat ini di resource organisasi menggunakan perintah describe:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --organization ORGANIZATION_ID
    

    Dengan keterangan:

    • ORGANIZATION_ID adalah ID unik untuk resource organisasi.

    • LIST_CONSTRAINT adalah batasan daftar untuk layanan yang ingin Anda terapkan.

    Anda juga dapat menerapkan kebijakan organisasi ke folder atau project dengan tanda --folder atau --project, serta ID folder dan project ID.

    Karena kebijakan tidak disetel, kebijakan yang tidak lengkap akan ditampilkan, seperti contoh berikut:

    constraint: "constraints/LIST_CONSTRAINT"
    etag: BwVJi0OOESU=
    
  2. Gunakan perintah deny untuk menambahkan nilai yang ditolak untuk layanan yang ingin Anda batasi aksesnya. Awalan under: menetapkan batasan untuk menolak resource bernama dan semua resource turunannya.

    gcloud resource-manager org-policies deny \
      LIST_CONSTRAINT under:folders/VALUE_A \
      --organization ORGANIZATION_ID
    

    Dengan keterangan:

    • under: adalah awalan yang menandakan bahwa string berikutnya adalah string subhierarki.

    • folders/VALUE_A adalah ID folder resource root yang ingin Anda tolak. Resource ini dan semua turunannya dalam hierarki resource akan ditolak.

    • VALUE_B dan VALUE_C adalah project yang ada dalam hierarki dengan VALUE_A sebagai induknya.

    Output dari perintah tolak adalah:

    constraint: constraints/LIST_CONSTRAINT
    etag: BwVJi0OOESU=
    listPolicy:
      deniedValues:
        - under:folders/VALUE_A
    updateTime: CURRENT_TIME
    

    Anda juga dapat menerapkan awalan under: ke organisasi dan project, seperti pada contoh berikut:

    • under:organizations/VALUE_X

    • under:projects/VALUE_Y

  3. Lihat kebijakan yang berlaku saat ini menggunakan describe --effective.

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --organization ORGANIZATION_ID
    

    Output perintahnya adalah:

    constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      deniedValues:
        - under:folders/VALUE_A
    

    Kebijakan sekarang mengevaluasi untuk menolak folder VALUE_A dan semua resource turunannya, dalam hal ini VALUE_B dan VALUE_C.

Perubahan pada kebijakan organisasi dapat memerlukan waktu hingga 15 menit untuk diterapkan sepenuhnya.

Menggabungkan kebijakan organisasi pada sebuah project

Anda dapat menetapkan kebijakan organisasi pada resource, yang akan digabungkan dengan kebijakan apa pun yang diwarisi dari resource induknya. Kebijakan gabungan ini kemudian akan dievaluasi untuk membuat kebijakan baru yang efektif berdasarkan aturan pewarisan.

API v2

  1. Dapatkan kebijakan saat ini pada resource menggunakan perintah describe:

    gcloud org-policies describe \
      LIST_CONSTRAINT --project=PROJECT_ID
    

    Dengan keterangan:

    • PROJECT_ID adalah ID unik project Anda.

    • LIST_CONSTRAINT adalah batasan daftar untuk layanan yang ingin Anda terapkan.

    Jika kebijakan tidak disetel, error NOT_FOUND akan ditampilkan:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Tampilkan kebijakan efektif saat ini menggunakan perintah describe --effective:

    gcloud org-policies describe \
      LIST_CONSTRAINT --effective \
      --project=PROJECT_ID
    

    Output perintah akan menyertakan nilai yang ditolak yang diwarisi dari resource organisasi:

    name: projects/PROJECT_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
        - values:
            deniedValues:
              - VALUE_A
    
  3. Tetapkan kebijakan pada project menggunakan perintah set-policy.

    1. Membuat file sementara /tmp/policy.yaml untuk menyimpan kebijakan:

      name: projects/PROJECT_ID/policies/LIST_CONSTRAINT
      spec:
        inheritFromParent: true
        rules:
        - values:
          deniedValues:
          - VALUE_B
          - VALUE_C
      
    2. Jalankan perintah set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  4. Gunakan perintah describe --effective lagi untuk menampilkan kebijakan yang telah diupdate:

    gcloud org-policies describe \
      LIST_CONSTRAINT --effective \
      --project=PROJECT_ID
    

    Output perintah akan menyertakan hasil efektif penggabungan kebijakan dari resource dan dari induk:

    name: projects/PROJECT_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
        - values:
            deniedValues:
              - VALUE_A
              - VALUE_B
              - VALUE_C
    

API v1

  1. Dapatkan kebijakan saat ini pada resource menggunakan perintah describe:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --project PROJECT_ID
    

    Dengan keterangan:

    • PROJECT_ID adalah ID unik project Anda.

    • LIST_CONSTRAINT adalah batasan daftar untuk layanan yang ingin Anda terapkan.

    Karena kebijakan tidak disetel, kebijakan yang tidak lengkap akan ditampilkan, seperti contoh berikut:

    constraint: "constraints/LIST_CONSTRAINT"
    etag: BwVJi0OOESU=
    
  2. Tampilkan kebijakan efektif saat ini menggunakan perintah describe --effective:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --project PROJECT_ID
    

    Output perintah akan menyertakan nilai yang ditolak yang diwarisi dari resource organisasi:

    constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      deniedValues:
        - VALUE_A
    
  3. Tetapkan kebijakan pada project menggunakan perintah set-policy.

    1. Membuat file sementara /tmp/policy.yaml untuk menyimpan kebijakan:

      constraint: constraints/LIST_CONSTRAINT
      listPolicy:
        deniedValues:
          - VALUE_B
          - VALUE_C
        inheritFromParent: true
      
    2. Jalankan perintah set-policy:

      gcloud resource-manager org-policies set-policy \
        --project PROJECT_ID /tmp/policy.yaml
      
    3. Output perintahnya adalah:

      constraint: constraints/LIST_CONSTRAINT
      etag: BwVLO2timxY=
      listPolicy:
        deniedValues:
          - VALUE_B
          - VALUE_C
        inheritFromParent: true
      
  4. Gunakan perintah describe --effective lagi untuk menampilkan kebijakan yang telah diupdate:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --project PROJECT_ID
    

    Output perintah akan menyertakan hasil efektif penggabungan kebijakan dari resource dan dari induk:

    constraint: constraints/LIST_CONSTRAINT
      listPolicy:
        deniedValues:
          - VALUE_A
          - VALUE_B
          - VALUE_C
    

Perubahan pada kebijakan organisasi dapat memerlukan waktu hingga 15 menit untuk diterapkan sepenuhnya.

Memulihkan perilaku batasan default

Anda dapat menggunakan perintah reset untuk mereset kebijakan agar menggunakan perilaku default batasan. Untuk daftar semua batasan yang tersedia dan nilai defaultnya, lihat Batasan kebijakan organisasi.Contoh berikut mengasumsikan bahwa perilaku batasan default adalah mengizinkan semua nilai.

API v2

  1. Dapatkan kebijakan yang efektif pada project untuk menampilkan kebijakan gabungan saat ini:

    gcloud org-policies describe \
      LIST_CONSTRAINT --effective \
      --project=PROJECT_ID
    

    Dengan PROJECT_ID adalah ID unik project Anda. Output perintahnya adalah:

    name: projects/PROJECT_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
        - values:
          deniedValues:
            - VALUE_A
            - VALUE_B
            - VALUE_C
    
  2. Reset kebijakan organisasi menggunakan perintah reset.

    gcloud org-policies reset LIST_CONSTRAINT \
        --project=PROJECT_ID
    
  3. Dapatkan kebijakan yang efektif untuk memverifikasi perilaku default:

    gcloud org-policies describe \
      LIST_CONSTRAINT --effective \
      --project=PROJECT_ID
    

    Output perintah ini akan mengizinkan semua nilai:

    name: projects/PROJECT_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
        - allowAll: true
    

API v1

  1. Dapatkan kebijakan yang efektif pada project untuk menampilkan kebijakan gabungan saat ini:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --project PROJECT_ID
    

    Dengan PROJECT_ID adalah ID unik project Anda. Output perintahnya adalah:

    constraint: constraints/LIST_CONSTRAINT
      listPolicy:
        deniedValues:
          - VALUE_A
          - VALUE_B
          - VALUE_C
    
  2. Tetapkan kebijakan pada project menggunakan perintah set-policy.

    1. Membuat file sementara /tmp/restore-policy.yaml untuk menyimpan kebijakan:

      restoreDefault: {}
      constraint: constraints/LIST_CONSTRAINT
      
    2. Jalankan perintah set-policy:

      gcloud resource-manager org-policies set-policy \
        --project PROJECT_ID /tmp/restore-policy.yaml
      
    3. Output perintahnya adalah:

      constraint: constraints/LIST_CONSTRAINT
      etag: BwVJi9D3VLY=
      restoreDefault: {}
      
  3. Dapatkan kebijakan yang efektif untuk memverifikasi perilaku default:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --project PROJECT_ID
    

    Output perintah ini akan mengizinkan semua nilai:

    Constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      allValues: ALLOW
    

Perubahan pada kebijakan organisasi dapat memerlukan waktu hingga 15 menit untuk diterapkan sepenuhnya.

Menghapus kebijakan organisasi

Anda dapat menghapus kebijakan organisasi dari resource. Resource tanpa kebijakan organisasi yang ditetapkan akan mewarisi kebijakan apa pun dari resource induknya. Jika Anda menghapus kebijakan organisasi di resource organisasi, kebijakan yang efektif akan menjadi perilaku default batasan.

Langkah-langkah berikut menjelaskan cara menghapus kebijakan organisasi di organisasi.

API v2

  1. Hapus kebijakan di resource organisasi menggunakan perintah delete:

    gcloud org-policies delete \
      LIST_CONSTRAINT --organization=ORGANIZATION_ID
    

    Dengan ORGANIZATION_ID adalah ID unik untuk resource organisasi. Output dari perintahnya adalah:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT].
    {}
    
  2. Dapatkan kebijakan yang efektif pada organisasi untuk memastikan bahwa kebijakan tersebut tidak diterapkan:

    gcloud org-policies describe \
      LIST_CONSTRAINT --effective \
      --organization=ORGANIZATION_ID
    

    Output perintahnya adalah:

    name: organizations/ORGANIZATION_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
        - allowAll: true
    

Langkah-langkah berikut menjelaskan cara menghapus kebijakan organisasi di project:

  1. Hapus kebijakan di project menggunakan perintah delete:

    gcloud org-policies delete \
      LIST_CONSTRAINT --project=PROJECT_ID
    

    Dengan PROJECT_ID adalah ID unik project Anda. Output perintahnya adalah:

    Deleted policy
    [projects/PROJECT_ID/policies/LIST_CONSTRAINT].
    {}
    
  2. Dapatkan kebijakan yang efektif pada project untuk memverifikasi bahwa kebijakan tersebut tidak diterapkan:

    gcloud org-policies describe \
      --effective \
      LIST_CONSTRAINT --project=PROJECT_ID
    

    Output perintahnya adalah:

    name: projects/PROJECT_ID/policies/LIST_CONSTRAINT
    spec:
      rules:
        - allowAll: true
    

API v1

  1. Hapus kebijakan di resource organisasi menggunakan perintah delete:

    gcloud resource-manager org-policies delete \
      LIST_CONSTRAINT --organization ORGANIZATION_ID
    

    Dengan ORGANIZATION_ID adalah ID unik untuk resource organisasi. Output dari perintahnya adalah:

    Deleted [<Empty>].
    
  2. Dapatkan kebijakan yang efektif pada organisasi untuk memastikan bahwa kebijakan tersebut tidak diterapkan:

    gcloud resource-manager org-policies describe \
      LIST_CONSTRAINT --effective \
      --organization ORGANIZATION_ID
    

    Output perintahnya adalah:

    constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      allValues: ALLOW
    

Langkah-langkah berikut menjelaskan cara menghapus kebijakan organisasi di project:

  1. Hapus kebijakan di project menggunakan perintah delete:

    gcloud resource-manager org-policies delete \
      LIST_CONSTRAINT --project PROJECT_ID
    

    Dengan PROJECT_ID adalah ID unik project Anda. Output perintahnya adalah:

    Deleted [<Empty>].
    
  2. Dapatkan kebijakan yang efektif pada project untuk memverifikasi bahwa kebijakan tersebut tidak diterapkan:

    gcloud resource-manager org-policies describe \
      --effective \
      LIST_CONSTRAINT --project PROJECT_ID
    

    Output perintahnya adalah:

    constraint: constraints/LIST_CONSTRAINT
    listPolicy:
      allValues: ALLOW
    

Perubahan pada kebijakan organisasi dapat memerlukan waktu hingga 15 menit untuk diterapkan sepenuhnya.

Menggunakan batasan boolean dalam kebijakan organisasi

Menyiapkan penerapan pada resource organisasi

Anda dapat menetapkan kebijakan organisasi di resource organisasi untuk menerapkan batasan boolean. Proses berikut menjelaskan cara menetapkan kebijakan organisasi menggunakan Google Cloud CLI. Untuk mengetahui petunjuk cara melihat dan menetapkan kebijakan organisasi menggunakan Konsol Google Cloud, lihat Membuat dan Mengelola Kebijakan.

API v2

  1. Dapatkan kebijakan saat ini di resource organisasi menggunakan perintah describe:

    gcloud org-policies describe \
      BOOLEAN_CONSTRAINT --organization=ORGANIZATION_ID
    

    Dengan ORGANIZATION_ID adalah ID unik untuk resource organisasi. Anda juga dapat menerapkan kebijakan organisasi ke folder atau project dengan flag --folder atau --project, serta folder ID dan project ID.

    Jika kebijakan tidak disetel, error NOT_FOUND akan ditampilkan:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Tetapkan kebijakan pada project menggunakan perintah set-policy.

    1. Membuat file sementara /tmp/policy.yaml untuk menyimpan kebijakan:

      name: organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT
      spec:
        rules:
          - enforce: true
      
    2. Jalankan perintah set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  3. Lihat kebijakan yang berlaku saat ini menggunakan describe --effective:

    gcloud org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --organization=ORGANIZATION_ID
    

    Output perintahnya adalah:

    name: organizations/ORGANIZATION_ID/policies/BOOLEAN_POLICY
    spec:
      rules:
        - enforce: true
    

API v1

  1. Dapatkan kebijakan saat ini di resource organisasi menggunakan perintah describe:

    gcloud resource-manager org-policies describe \
      BOOLEAN_CONSTRAINT --organization ORGANIZATION_ID
    

    Dengan ORGANIZATION_ID adalah ID unik untuk resource organisasi. Anda juga dapat menerapkan kebijakan organisasi ke folder atau project dengan flag --folder atau --project, serta folder ID dan project ID.

    Karena kebijakan tidak disetel, kebijakan yang tidak lengkap akan ditampilkan, seperti contoh berikut:

    booleanPolicy: {}
    constraint: "constraints/BOOLEAN_CONSTRAINT"
    
  2. Tetapkan kebijakan yang akan diterapkan pada organisasi menggunakan perintah enable-enforce:

    gcloud resource-manager org-policies enable-enforce \
      BOOLEAN_CONSTRAINT --organization ORGANIZATION_ID
    

    Output perintahnya adalah:

    booleanPolicy:
      enforced: true
    constraint: constraints/BOOLEAN_CONSTRAINT
    etag: BwVJitxdiwY=
    
  3. Lihat kebijakan yang berlaku saat ini menggunakan describe --effective:

    gcloud resource-manager org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --organization ORGANIZATION_ID
    

    Output perintahnya adalah:

    booleanPolicy:
      enforced: true
    constraint: constraints/BOOLEAN_CONSTRAINT
    

Perubahan pada kebijakan organisasi dapat memerlukan waktu hingga 15 menit untuk diterapkan sepenuhnya.

Mengganti kebijakan organisasi untuk project

Untuk mengganti kebijakan organisasi untuk project, tetapkan kebijakan yang menonaktifkan penerapan batasan boolean ke semua resource dalam hierarki di bawah project.

API v2

  1. Dapatkan kebijakan saat ini pada resource untuk menampilkannya.

    gcloud org-policies describe \
      BOOLEAN_CONSTRAINT --project=PROJECT_ID
    

    Dengan PROJECT_ID adalah ID unik project Anda. Output perintahnya adalah:

    Jika kebijakan tidak disetel, error NOT_FOUND akan ditampilkan:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Mendapatkan kebijakan yang efektif pada project, yang mengonfirmasi bahwa batasan diterapkan pada project ini.

    gcloud org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --project=PROJECT_ID
    

    Output perintahnya adalah:

    name: projects/PROJECT_ID/policies/BOOLEAN_POLICY
    spec:
      rules:
        - enforce: true
    
  3. Tetapkan kebijakan pada project menggunakan perintah set-policy.

    1. Membuat file sementara /tmp/policy.yaml untuk menyimpan kebijakan:

      name: projects/PROJECT_ID/policies/BOOLEAN_CONSTRAINT
      spec:
        rules:
          - enforce: false
      
    2. Jalankan perintah set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  4. Mendapatkan kebijakan yang efektif untuk menunjukkan bahwa kebijakan tersebut tidak lagi diterapkan pada project.

    gcloud org-policies describe \
      --effective \
      BOOLEAN_CONSTRAINT --project=PROJECT_ID
    

    Output perintahnya adalah:

    name: organizations/ORGANIZATION_ID/policies/BOOLEAN_POLICY
    spec:
      rules:
        - enforce: false
    

API v1

  1. Dapatkan kebijakan saat ini pada resource untuk menampilkannya.

    gcloud resource-manager org-policies describe \
      BOOLEAN_CONSTRAINT --project PROJECT_ID
    

    Dengan PROJECT_ID adalah ID unik project Anda. Output perintahnya adalah:

    booleanPolicy: {}
    constraint: "constraints/BOOLEAN_CONSTRAINT"
    
  2. Mendapatkan kebijakan yang efektif pada project, yang mengonfirmasi bahwa batasan diterapkan pada project ini.

    gcloud resource-manager org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --project PROJECT_ID
    

    Output perintahnya adalah:

    booleanPolicy:
      enforced: true
    constraint: constraints/BOOLEAN_CONSTRAINT
    
  3. Setel kebijakan pada project agar tidak menerapkan batasan, menggunakan perintah disable-enforce:

    gcloud resource-manager org-policies disable-enforce \
      BOOLEAN_CONSTRAINT --project PROJECT_ID
    

    Output perintahnya adalah:

    booleanPolicy: {}
    constraint: constraints/BOOLEAN_CONSTRAINT
    etag: BwVJivdnXvM=
    
  4. Mendapatkan kebijakan yang efektif untuk menunjukkan bahwa kebijakan tersebut tidak lagi diterapkan pada project.

    gcloud resource-manager org-policies describe \
      --effective \
      BOOLEAN_CONSTRAINT --project PROJECT_ID
    

    Output perintahnya adalah:

    booleanPolicy: {}
    constraint: constraints/BOOLEAN_CONSTRAINT
    

Perubahan pada kebijakan organisasi dapat memerlukan waktu hingga 15 menit untuk diterapkan sepenuhnya.

Menghapus kebijakan organisasi

Anda dapat menghapus kebijakan organisasi dari resource. Resource tanpa kebijakan organisasi yang ditetapkan akan mewarisi kebijakan apa pun dari resource induknya. Jika Anda menghapus kebijakan organisasi di resource organisasi, kebijakan yang efektif akan menjadi perilaku default batasan.

Langkah-langkah berikut menjelaskan cara menghapus kebijakan organisasi di organisasi dan project.

API v2

  1. Hapus kebijakan dari resource organisasi menggunakan perintah delete:

    gcloud org-policies delete \
      BOOLEAN_CONSTRAINT --organization=ORGANIZATION_ID
    

    Dengan ORGANIZATION_ID adalah ID unik untuk resource organisasi. Output dari perintahnya adalah:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT].
    {}
    
  2. Dapatkan kebijakan yang efektif pada organisasi untuk memastikan bahwa kebijakan tersebut tidak diterapkan:

    gcloud org-policies describe \
      --effective \
      BOOLEAN_CONSTRAINT --organization=ORGANIZATION_ID
    

    Jika kebijakan tidak disetel, error NOT_FOUND akan ditampilkan:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  3. Hapus kebijakan organisasi dari project menggunakan perintah delete:

    gcloud org-policies delete \
      BOOLEAN_CONSTRAINT --project=PROJECT_ID
    

    Output perintahnya adalah:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT].
    {}
    
  4. Dapatkan kebijakan yang efektif pada project untuk memverifikasi bahwa kebijakan tersebut tidak diterapkan:

    gcloud org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --project=PROJECT_ID
    

    PROJECT_ID adalah ID unik project Anda. Output dari perintah ini adalah:

    Jika kebijakan tidak disetel, error NOT_FOUND akan ditampilkan:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    

API v1

  1. Hapus kebijakan dari resource organisasi menggunakan perintah delete:

    gcloud resource-manager org-policies delete \
      BOOLEAN_CONSTRAINT --organization ORGANIZATION_ID
    

    Dengan ORGANIZATION_ID adalah ID unik untuk resource organisasi. Output dari perintahnya adalah:

    Deleted [<Empty>].
    
  2. Dapatkan kebijakan yang efektif pada organisasi untuk memastikan bahwa kebijakan tersebut tidak diterapkan:

    gcloud resource-manager org-policies describe \
      --effective \
      BOOLEAN_CONSTRAINT --organization ORGANIZATION_ID
    

    Output perintahnya adalah:

    booleanPolicy: {}
    constraint: constraints/BOOLEAN_CONSTRAINT
    
  3. Hapus kebijakan organisasi dari project menggunakan perintah delete:

    gcloud resource-manager org-policies delete \
      BOOLEAN_CONSTRAINT --project PROJECT_ID
    

    Output perintahnya adalah:

    Deleted [<Empty>].
    
  4. Dapatkan kebijakan yang efektif pada project untuk memverifikasi bahwa kebijakan tersebut tidak diterapkan:

    gcloud resource-manager org-policies describe \
      BOOLEAN_CONSTRAINT --effective \
      --project PROJECT_ID
    

    PROJECT_ID adalah ID unik project Anda. Output dari perintah ini adalah:

    booleanPolicy: {}
    constraint: constraints/BOOLEAN_CONSTRAINT
    

Perubahan pada kebijakan organisasi dapat memerlukan waktu hingga 15 menit untuk diterapkan sepenuhnya.