Mengontrol penggunaan Autokey

Dokumen ini menjelaskan cara menggunakan kebijakan penolakan IAM dan batasan kebijakan organisasi untuk mengontrol cara Autokey digunakan dalam organisasi atau folder. Kedua pembatas ini hanya dapat diubah dengan peran tingkat organisasi, sehingga tidak dapat diganti oleh akun utama dengan peran Pemilik atau Admin di tingkat folder atau project.

Kasus penggunaan berikut didukung:

IAM versus kebijakan organisasi

IAM dan kebijakan organisasi memungkinkan Anda menetapkan batas untuk mengontrol cara penggunaan Autokey Cloud KMS di organisasi Anda.

IAM mengontrol siapa yang diberi otorisasi untuk melakukan tindakan apa pada resource mana. Anda dapat menggunakan IAM untuk membatasi principal mana yang dapat mengaktifkan dan menggunakan Autokey di organisasi Anda.

Kebijakan organisasi mengontrol resource yang dapat dibuat dan cara konfigurasinya. Anda dapat menggunakan kebijakan organisasi kustom untuk membatasi tempat dan cara Autokey dapat diaktifkan.

Anda dapat menggunakan IAM dan kebijakan organisasi bersama-sama untuk membuat sistem batas yang kuat guna mengontrol siapa yang dapat mengaktifkan dan menggunakan Autokey, serta di mana mereka dapat melakukannya.

Sebelum memulai

Untuk mendapatkan izin yang Anda perlukan untuk mengontrol penggunaan Autokey, minta administrator Anda untuk memberi Anda peran IAM berikut pada organisasi:

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

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Menggunakan kebijakan penolakan IAM untuk mengontrol Autokey

Kebijakan penolakan IAM memberikan kontrol dari atas ke bawah atas akun utama yang dapat melakukan tindakan tertentu. Kebijakan penolakan yang ditetapkan pada resource tidak dapat diganti oleh pemberian peran IAM atau kebijakan penolakan yang ditetapkan pada resource turunan. Akun utama tidak dapat menyelesaikan tindakan yang memerlukan izin yang ditolak, meskipun izin tersebut disertakan dalam peran yang dimilikinya.

Untuk mempelajari cara membuat kebijakan penolakan IAM, lihat Menolak akses ke resource.

Tabel berikut menunjukkan beberapa contoh kasus penggunaan kebijakan penolakan IAM, termasuk izin yang dapat Anda tolak untuk mengontrol Autokey di organisasi Anda dan efek penolakan setiap izin.

Kasus penggunaan Izin ditolak Akun utama Efek
Melarang pengaktifan Autokey cloudkms.autokeyConfigs.update Semua Principal yang dipilih tidak dapat membuat AutokeyConfig resource baru atau memperbarui resource yang ada. Semua resource AutokeyConfig yang ada tetap berlaku dan masih dapat digunakan.
Melarang penggunaan Autokey cloudkms.keyHandles.create Semua Principal yang dipilih tidak dapat membuat resource KeyHandle baru, sehingga mereka tidak dapat membuat resource baru yang dilindungi menggunakan Autokey, meskipun Autokey diaktifkan.
Melarang pembuatan kunci manual cloudkms.cryptoKeys.create Semua kecuali Cloud KMS Service Agent Principal yang dipilih tidak dapat membuat kunci baru. Jika Anda hanya mengecualikan Agen Layanan Cloud KMS, Autokey adalah satu-satunya cara untuk membuat kunci baru.
Hanya IaC yang dapat mengubah konfigurasi Autokey cloudkms.autokeyConfigs.update Semua kecuali agen eksekusi Terraform Anda Prinsipal yang dipilih tidak dapat membuat AutokeyConfig resource baru atau memperbarui resource yang ada. Jika Anda mengecualikan prinsipal Terraform, konfigurasi Autokey Anda akan dikontrol oleh pipeline Infrastructure as Code (IaC).

Menggunakan batasan kebijakan organisasi kustom untuk mengontrol Autokey

Batasan kebijakan organisasi kustom memberikan kontrol dari bawah ke atas tentang tempat dan cara Autokey dapat dikonfigurasi. Batasan dapat diganti dengan batasan yang diterapkan pada resource turunan. Namun, mengubah batasan memerlukan izin tingkat organisasi, sehingga pokok dengan izin tingkat folder atau project tidak dapat mengganti batasan. Meskipun batasan diterapkan, akun utama tidak dapat menyelesaikan tindakan yang dilarang, meskipun mereka memiliki izin yang diperlukan untuk melakukannya.

Untuk mempelajari cara menerapkan batasan kustom di organisasi Anda, lihat Membuat batasan kebijakan organisasi kustom untuk Cloud KMS.

Anda dapat menggabungkan batasan kebijakan organisasi kustom yang dijelaskan di sini dengan kebijakan organisasi CMEK lainnya.

Membatasi mode Autokey

Anda dapat membatasi fungsi Autokey dengan memblokir pembuatan resource AutokeyConfig secara bersyarat. Definisi batasan contoh berikut melarang pembuatan atau update resource AutokeyConfig berdasarkan keyProjectResolutionMode-nya.

    name: organizations/ORGANIZATION_ID/customConstraints/custom.restrictAutokeyKeyStorage
    resourceTypes:
    - cloudkms.googleapis.com/AutokeyConfig
    methodTypes:
    - CREATE
    - UPDATE
    condition: "resource.keyProjectResolutionMode == 'KEY_PROJECT_RESOLUTION_MODE')"
    actionType: DENY
    displayName: Restrict Autokey key storage mode
    description: >
      Prevent creation or update of AutokeyConfig resources with
      `KEY_PROJECT_RESOLUTION_MODE` key resolution mode.

Ganti KEY_PROJECT_RESOLUTION_MODE dengan keyProjectResolutionMode yang ingin Anda blokir—misalnya, untuk mencegah siapa pun di organisasi Anda menggunakan penyimpanan kunci dalam project yang sama di project mereka, tetapkan nilai ini ke RESOURCE_PROJECT.

Melarang pembuatan konfigurasi Autokey di folder

Anda dapat menggunakan kebijakan organisasi kustom untuk mencegah Autokey diaktifkan dalam folder dengan memblokir pembuatan semua resource AutokeyConfig.

Definisi batasan contoh berikut melarang pembuatan resource AutokeyConfig dalam folder bernama. Meskipun batasan ini diterapkan, konfigurasi yang ada masih dapat diubah.

    name: organizations/ORGANIZATION_ID/customConstraints/custom.noNewAutokeyConfigFolder
    resourceTypes:
    - cloudkms.googleapis.com/AutokeyConfig
    methodTypes:
    - CREATE
    condition: "resource.name == 'folders/FOLDER_ID/autokeyConfig'"
    actionType: DENY
    displayName: Prohibit Autokey within FOLDER_ID
    description: >
      Prevent creation of new AutokeyConfig resources within
      folders/FOLDER_ID.

Ganti kode berikut:

  • ORGANIZATION_ID: ID organisasi Anda.
  • FOLDER_ID dengan ID folder tempat Anda ingin memblokir Autokey.

Melarang pembuatan konfigurasi Autokey dalam organisasi

Anda dapat menggunakan kebijakan organisasi kustom untuk mencegah Autokey diaktifkan di seluruh organisasi Anda dengan memblokir pembuatan semua resource AutokeyConfig.

Definisi batasan contoh berikut melarang pembuatan resource AutokeyConfig dalam seluruh organisasi Anda. Meskipun batasan ini diterapkan, konfigurasi yang ada masih dapat diubah.

    name: organizations/ORGANIZATION_ID/customConstraints/custom.noNewAutokeyConfigOrg
    resourceTypes:
    - cloudkms.googleapis.com/AutokeyConfig
    methodTypes:
    - CREATE
    condition: "resource.name.endsWith('/autokeyConfig')"
    actionType: DENY
    displayName: Prohibit Autokey within ORGANIZATION_ID
    description: >
      Prevent creation of new AutokeyConfig resources within organization
      ORGANIZATION_ID.

Ganti ORGANIZATION_ID dengan ID organisasi Anda.

Melarang perubahan konfigurasi Autokey pada folder

Anda dapat menggunakan kebijakan organisasi kustom untuk memblokir perubahan konfigurasi Autokey dalam folder dengan memblokir pembuatan atau update semua resource AutokeyConfig.

Definisi batasan contoh berikut melarang pembuatan atau pembaruan resource AutokeyConfig dalam folder bernama.

    name: organizations/ORGANIZATION_ID/customConstraints/custom.noChangeAutokeyConfigFolder
    resourceTypes:
    - cloudkms.googleapis.com/AutokeyConfig
    methodTypes:
    - CREATE
    - UPDATE
    condition: "resource.name == 'folders/FOLDER_ID/autokeyConfig'"
    actionType: DENY
    displayName: Prohibit Autokey within FOLDER_ID
    description: >
      Prevent creation or update of AutokeyConfig resources within
      folders/FOLDER_ID.

Ganti kode berikut:

  • ORGANIZATION_ID: ID organisasi Anda.
  • FOLDER_ID dengan ID folder tempat Anda ingin memblokir Autokey.

Melarang perubahan konfigurasi Autokey dalam organisasi

Anda dapat menggunakan kebijakan organisasi kustom untuk mencegah konfigurasi Autokey diubah di mana pun di organisasi Anda dengan memblokir pembuatan atau update semua resource AutokeyConfig.

Definisi batasan contoh berikut melarang pembuatan atau pembaruan resource AutokeyConfig di seluruh organisasi Anda.

    name: organizations/ORGANIZATION_ID/customConstraints/custom.noChangeAutokeyConfigOrg
    resourceTypes:
    - cloudkms.googleapis.com/AutokeyConfig
    methodTypes:
    - CREATE
    - UPDATE
    condition: condition: "resource.name.endsWith('/autokeyConfig')"
    actionType: DENY
    displayName: Prohibit Autokey within ORGANIZATION_ID
    description: >
      Prevent creation or update of AutokeyConfig resources within
      ORGANIZATION_ID.

Ganti ORGANIZATION_ID dengan ID organisasi Anda.

Izinkan hanya konfigurasi Autokey DISABLED

Definisi batasan contoh berikut melarang siapa pun membuat atau memperbarui resource AutokeyConfig dalam seluruh organisasi, kecuali jika keyProjectResolutionMode ditetapkan secara eksplisit ke DISABLED.

    name: organizations/ORGANIZATION_ID/customConstraints/custom.onlyDisabledAutokeyConfig
    resourceTypes:
    - cloudkms.googleapis.com/AutokeyConfig
    methodTypes:
    - CREATE
    - UPDATE
    condition: "resource.keyProjectResolutionMode=='DISABLED'"
    actionType: ALLOW
    displayName: Prohibit Autokey within the organization
    description: >
      Prevent creation or update of `AutokeyConfig` resources within
      organization ORGANIZATION_ID unless the `keyProjectResolutionMode`
      is `DISABLED`.

Melarang konfigurasi Autokey tingkat project

Definisi batasan contoh berikut melarang siapa pun membuat atau memperbarui resource AutokeyConfig di project, tanpa memblokir konfigurasi tingkat folder. Selama batasan ini diterapkan, resource AutokeyConfig level project yang ada sebelumnya tetap berlaku, tetapi semua project lain harus terus mewarisi AutokeyConfig dari folder induknya.

    name: organizations/ORGANIZATION_ID/customConstraints/custom.noAutokeyConfigProject
    resourceTypes:
    - cloudkms.googleapis.com/AutokeyConfig
    methodTypes:
    - CREATE
    - UPDATE
    condition: "resource.name.startsWith('projects/')"
    actionType: DENY
    displayName: Block project-level Autokey within the organization
    description: >
      Prevent creation or update of `AutokeyConfig` resources on projects within
      organization ORGANIZATION_ID. Existing project-level AutokeyConfig
      resources remain in effect, but all other projects must inherit the
      AutokeyConfig from their parent folder.

Contoh kasus penggunaan

Bagian berikut memberikan contoh yang menggabungkan kebijakan penolakan IAM, kebijakan organisasi kustom, dan kebijakan organisasi standar.

Mewajibkan kunci dibuat oleh Autokey

Jika ingin mewajibkan CMEK menggunakan Autokey dalam folder, Anda dapat melakukannya dengan menggabungkan kontrol akses IAM dengan kebijakan organisasi CMEK. Cara kerjanya adalah dengan menghapus izin pembuatan kunci dari prinsipal selain agen layanan Cloud KMS, lalu mewajibkan semua resource dilindungi oleh CMEK menggunakan project kunci Autokey.

Untuk menerapkan penggunaan Autokey dalam folder, selesaikan langkah-langkah berikut:

  1. Blokir pembuatan kunci manual di project kunci dengan menerapkan kebijakan penolakan IAM. Dalam kebijakan penolakan, tolak izin cloudkms.cryptoKeys.create untuk semua akun utama, kecuali Agen Layanan Cloud KMS. Jika folder menggunakan penyimpanan kunci project khusus, terapkan kebijakan penolakan ke project kunci khusus. Jika folder menggunakan penyimpanan kunci dalam project yang sama, terapkan kebijakan penolakan ke project resource.

    Jika kunci tidak dapat dibuat secara manual, hanya kunci yang dibuat oleh Autokey yang dapat dibuat di project ini.

  2. Mewajibkan resource yang baru dibuat dalam folder dilindungi menggunakan CMEK dengan menerapkan batasan constraints/gcp.restrictNonCmekServices.

    Untuk mengetahui informasi selengkapnya tentang batasan ini, termasuk daftar layanan yang mendukung batasan ini, lihat Mewajibkan perlindungan CMEK.

  3. Mewajibkan kunci yang digunakan untuk CMEK berasal dari project kunci khusus atau dari project yang penyimpanan kunci dalam project yang sama diaktifkan dengan menerapkan batasan constraints/gcp.restrictCmekCryptoKeyProjects. Untuk mengetahui informasi selengkapnya tentang batasan ini, termasuk daftar layanan yang mendukung batasan ini, lihat Membatasi penggunaan kunci Cloud KMS untuk CMEK.

Melarang Autokey sepenuhnya

Jika ingin memblokir penggunaan Autokey sepenuhnya dalam organisasi atau folder, Anda dapat melakukannya menggunakan kebijakan penolakan IAM atau batasan kebijakan organisasi kustom. Untuk jaminan berlapis, Anda dapat menggunakan keduanya secara bersamaan.

Untuk memblokir Autokey sepenuhnya dalam organisasi atau folder, selesaikan langkah-langkah berikut:

  1. Jika Autokey sudah diaktifkan di mana saja dalam organisasi atau folder, nonaktifkan Autokey terlebih dahulu.

  2. Blokir pengguna agar tidak mengonfigurasi Autokey dengan menerapkan kebijakan penolakan IAM. Dalam kebijakan penolakan, tolak izin cloudkms.autokeyConfigs.update untuk semua akun utama. Jika Autokey dinonaktifkan di mana pun dan tidak ada prinsipal yang dapat mengubah resource AutokeyConfig, Autokey akan tetap dinonaktifkan sepenuhnya.

  3. Opsional: Langkah-langkah sebelumnya sudah cukup untuk mencegah siapa pun mengaktifkan Autokey. Namun, jika menginginkan lapisan jaminan lain, Anda juga dapat menerapkan batasan kebijakan organisasi kustom untuk hanya mengizinkan resource AutokeyConfig jika Autokey dinonaktifkan.

Jika Anda menerapkan kebijakan penolakan IAM dan batasan kebijakan organisasi kustom yang dijelaskan di sini, tidak ada akun utama yang dapat mengaktifkan Autokey di resource tanpa membatalkan atau memperbarui kedua pembatasan ini terlebih dahulu.

Langkah berikutnya