Mengontrol penggunaan Autokey

Dokumen ini menjelaskan cara menggunakan kebijakan penolakan IAM dan batasan kebijakan organisasi untuk mengontrol cara penggunaan Autokey dalam organisasi atau folder. Kedua perlindungan 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

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

IAM mengontrol siapa yang diizinkan untuk melakukan tindakan apa pada resource mana. Anda dapat menggunakan IAM untuk membatasi akun utama mana yang dapat mengaktifkan dan menggunakan Autokey di organisasi Anda.

Kebijakan organisasi mengontrol resource apa yang dapat dibuat dan bagaimana resource tersebut dapat dikonfigurasi. 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 perlindungan yang kuat guna mengontrol siapa yang dapat mengaktifkan dan menggunakan Autokey serta tempat dan cara mereka dapat melakukannya.

Sebelum memulai

Untuk mendapatkan izin yang diperlukan untuk mengontrol penggunaan Autokey, minta administrator 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 top-down atas akun utama mana yang dapat melakukan tindakan mana. 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 mereka miliki.

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

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

Kasus penggunaan Izin yang ditolak Akun utama Efek
Melarang pengaktifan Autokey cloudkms.autokeyConfigs.update Semua Akun utama yang dipilih tidak dapat membuat resource AutokeyConfig baru atau memperbarui resource yang sudah ada. Resource yang ada tetap berlaku dan masih dapat digunakan.AutokeyConfig
Melarang penggunaan Autokey cloudkms.keyHandles.create Semua Akun utama yang dipilih tidak dapat membuat resource KeyHandle baru, sehingga mereka tidak dapat membuat resource terlindungi baru menggunakan Autokey, meskipun Autokey diaktifkan.
Melarang pembuatan kunci manual cloudkms.cryptoKeys.create Semua kecuali Agen Layanan Cloud KMS Akun utama 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 Akun utama yang dipilih tidak dapat membuat resource AutokeyConfig baru atau memperbarui resource yang sudah ada. Jika Anda mengecualikan akun utama Terraform principal, 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 bottom-up atas tempat dan cara Autokey dapat dikonfigurasi. Batasan dapat diganti oleh batasan yang diterapkan pada resource turunan. Namun, mengubah batasan memerlukan izin tingkat organisasi, sehingga akun utama dengan izin tingkat folder atau level project tidak dapat mengganti batasan. Saat 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 kondisional. Definisi batasan contoh berikut melarang pembuatan atau pembaruan resource AutokeyConfig berdasarkan keyProjectResolutionMode.

    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 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 memblokir Autokey agar tidak diaktifkan dalam folder dengan memblokir pembuatan semua resource AutokeyConfig.

Definisi batasan contoh berikut melarang pembuatan resource AutokeyConfig dalam folder bernama. Saat 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 memblokir Autokey agar tidak diaktifkan di seluruh organisasi Anda dengan memblokir pembuatan semua resource AutokeyConfig.

Definisi batasan contoh berikut melarang pembuatan resource AutokeyConfig di seluruh organisasi Anda. Saat 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 di folder

Anda dapat menggunakan kebijakan organisasi kustom untuk memblokir perubahan konfigurasi Autokey dalam folder dengan memblokir pembuatan atau pembaruan 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 memblokir perubahan konfigurasi Autokey di mana pun di organisasi Anda dengan memblokir pembuatan atau pembaruan 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.

Hanya mengizinkan 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. Saat batasan ini diterapkan, resource AutokeyConfig level project yang ada sebelumnya tetap berlaku, tetapi semua project lainnya 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 akun utama 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 ke 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 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. Wajibkan 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 tersebut, lihat Mewajibkan perlindungan CMEK.

  3. Wajibkan kunci yang digunakan untuk CMEK berasal dari project kunci khusus atau dari project tempat penyimpanan kunci project yang sama diaktifkan dengan menerapkan batasan constraints/gcp.restrictCmekCryptoKeyProjects. Untuk mengetahui informasi selengkapnya tentang batasan ini, termasuk daftar layanan yang mendukung batasan tersebut, 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 pun di organisasi atau folder, nonaktifkan Autokey terlebih dahulu.

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

  3. Opsional: Langkah-langkah di atas 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 AutokeyConfig resource tempat 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 terlebih dahulu membatalkan atau memperbarui kedua perlindungan ini.

Langkah berikutnya