Kebijakan organisasi CMEK

Google Cloud menawarkan dua batasan kebijakan organisasi untuk membantu memastikan penggunaan CMEK di seluruh organisasi:

  • constraints/gcp.restrictNonCmekServices digunakan untuk mewajibkan perlindungan CMEK.
  • constraints/gcp.restrictCmekCryptoKeyProjects digunakan untuk membatasi kunci Cloud KMS mana yang digunakan untuk perlindungan CMEK.

Kebijakan organisasi CMEK hanya berlaku untuk resource yang baru dibuat dalam layanan Google Cloud yang didukung.

Peran yang diperlukan

Untuk memastikan setiap pengguna memiliki izin yang diperlukan untuk memeriksa kebijakan organisasi saat membuat resource, minta administrator untuk memberi setiap pengguna peran IAM Organization Policy Viewer (roles/orgpolicy.policyViewer) di organisasi Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran yang telah ditentukan ini berisi izin yang diperlukan untuk memeriksa kebijakan organisasi saat membuat resource. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk memeriksa kebijakan organisasi saat membuat resource:

  • Untuk melihat detail kebijakan organisasi selengkapnya: orgpolicy.policy.get
  • Untuk memeriksa kebijakan organisasi saat membuat resource: orgpolicy.policies.check

Administrator Anda mungkin juga dapat memberikan izin ini kepada setiap pengguna dengan peran khusus atau peran bawaan lainnya.

Jika kebijakan organisasi aktif, izin orgpolicy.policies.check diperlukan untuk pengguna konsol Google Cloud yang membuat resource yang dilindungi oleh kunci CMEK. Pengguna tanpa izin ini dapat membuat resource yang dilindungi CMEK menggunakan konsol Google Cloud , tetapi mereka dapat memilih kunci CMEK yang tidak diizinkan oleh batasan restrictCmekCryptoKeyProjects. Jika kunci yang tidak memenuhi batasan ini dipilih, pembuatan resource pada akhirnya akan gagal.

Mewajibkan perlindungan CMEK

Untuk mewajibkan perlindungan CMEK bagi organisasi Anda, konfigurasikan kebijakan organisasi constraints/gcp.restrictNonCmekServices.

Sebagai batasan daftar, nilai yang diterima untuk batasan ini adalah nama layanan Google Cloud(misalnya, bigquery.googleapis.com). Gunakan batasan ini dengan menyediakan daftar nama layanan Google Cloud dan menetapkan batasan ke Deny. Konfigurasi ini memblokir pembuatan resource di layanan ini jika resource tidak dilindungi oleh CMEK. Dengan kata lain, permintaan untuk membuat resource di layanan tidak akan berhasil tanpa menentukan kunci Cloud KMS. Selain itu, batasan ini memblokir penghapusan perlindungan CMEK dari resource dalam layanan ini. Batasan ini hanya dapat diterapkan ke layanan yang didukung.

Membatasi penggunaan kunci Cloud KMS untuk CMEK

Untuk membatasi kunci Cloud KMS yang digunakan untuk perlindungan CMEK, konfigurasikan batasan constraints/gcp.restrictCmekCryptoKeyProjects.

Sebagai batasan daftar, nilai yang diterima adalah indikator hierarki resource (misalnya, projects/PROJECT_ID, under:folders/FOLDER_ID, dan under:organizations/ORGANIZATION_ID). Gunakan batasan ini dengan mengonfigurasi daftar indikator hierarki resource dan menetapkan batasan ke Izinkan. Konfigurasi ini membatasi layanan yang didukung sehingga kunci CMEK hanya dapat dipilih dari project, folder, dan organisasi yang tercantum. Permintaan untuk membuat resource yang dilindungi CMEK di layanan yang dikonfigurasi tidak akan berhasil tanpa kunci Cloud KMS dari salah satu resource yang diizinkan. Jika dikonfigurasi, batasan ini berlaku untuk semua layanan yang didukung.

Layanan yang didukung

Layanan Nilai batasan saat mewajibkan CMEK
AlloyDB untuk PostgreSQL alloydb.googleapis.com
Apigee apigee.googleapis.com
Application Integration integrations.googleapis.com
Artifact Registry artifactregistry.googleapis.com
BigQuery bigquery.googleapis.com
Bigtable bigtable.googleapis.com
Cloud Composer composer.googleapis.com
Cloud Data Fusion datafusion.googleapis.com
Cloud Logging logging.googleapis.com
Cloud Run run.googleapis.com
Fungsi Cloud Run cloudfunctions.googleapis.com
Cloud SQL sqladmin.googleapis.com
Cloud Storage storage.googleapis.com
Cloud Tasks cloudtasks.googleapis.com
Cloud Workstations workstations.googleapis.com
Colab Enterprise aiplatform.googleapis.com
Compute Engine compute.googleapis.com
Dataflow dataflow.googleapis.com
Dataproc dataproc.googleapis.com
Document AI documentai.googleapis.com
Filestore file.googleapis.com
Firestore firestore.googleapis.com
Google Kubernetes Engine (Pratinjau) container.googleapis.com
Memorystore for Redis redis.googleapis.com
Pub/Sub pubsub.googleapis.com
Secret Manager secretmanager.googleapis.com
Secure Source Manager securesourcemanager.googleapis.com
Spanner spanner.googleapis.com
Speech-to-Text speech.googleapis.com
Vertex AI aiplatform.googleapis.com
Vertex AI Agent Builder discoveryengine.googleapis.com
Instance Vertex AI Workbench notebooks.googleapis.com

Kebijakan organisasi CMEK dan Storage Transfer Service

Meskipun tidak memiliki integrasi CMEK, Storage Transfer Service dapat digunakan dengan kebijakan organisasi CMEK. Jika Anda menggunakan Storage Transfer Service dan ingin memastikan bahwa kredensial database yang disimpan di Secret Manager dilindungi oleh CMEK, Anda harus menambahkan storagetransfer.googleapis.com dan secretmanager.googleapis.com ke batasan constraints/gcp.restrictNonCmekServices. Untuk mengetahui informasi selengkapnya, lihat dokumentasi CMEK Storage Transfer Service.

Pengecualian penerapan menurut jenis resource

Batasan kebijakan organisasi CMEK diterapkan saat membuat resource baru atau saat mengubah (jika didukung) kunci Cloud KMS pada resource yang ada. Umumnya, kebijakan ini diterapkan pada semua jenis resource layanan yang mendukung CMEK dan hanya didasarkan pada konfigurasi resource. Beberapa pengecualian yang penting diringkas di sini:

Jenis resource Pengecualian penerapan
bigquery.googleapis.com/Dataset Diberlakukan sebagian pada kunci Cloud KMS default set data (khusus gcp.restrictCmekCryptoKeyProjects)
bigquery.googleapis.com/Job Khusus tugas kueri: diterapkan pada kunci Cloud KMS yang disediakan dengan kueri atau default dari project penagihan; lihat juga konfigurasi kunci Cloud KMS default project yang terpisah
bigquerydatatransfer.googleapis.com/TransferConfig Konfigurasi transfer menggunakan nama layanan Data Transfer Service (bigquerydatatransfer.googleapis.com) untuk batasan kebijakan organisasi CMEK.
container.googleapis.com/Cluster (Pratinjau) Diterapkan pada kunci Cloud KMS hanya untuk disk booting node; tidak diterapkan pada secret di lapisan aplikasi
logging.googleapis.com/LogBucket Diberlakukan pada bucket log yang dibuat secara eksplisit; lihat juga konfigurasi terpisah yang diperlukan untuk memastikan kepatuhan bucket log bawaan
storage.googleapis.com/Bucket Diterapkan pada kunci Cloud KMS default bucket
storage.googleapis.com/Object Diterapkan secara terpisah dari bucket; lihat juga konfigurasi kunci Cloud KMS default bucket yang terpisah

Contoh konfigurasi

Dalam contoh konfigurasi, asumsikan organisasi contoh memiliki hierarki resource berikut:

Diagram hierarki resource organisasi

Mewajibkan CMEK dan kunci batas untuk project

Misalnya, Anda ingin mewajibkan perlindungan CMEK untuk semua resource Cloud Storage di projects/5 dan memastikan bahwa hanya kunci yang berasal dari projects/4 yang dapat digunakan.

Untuk mewajibkan perlindungan CMEK untuk semua resource Cloud Storage baru, gunakan setelan kebijakan organisasi berikut:

  • Kebijakan organisasi: constraints/gcp.restrictNonCmekServices
  • Binding pada: projects/5
  • Jenis kebijakan: Tolak
  • Nilai kebijakan: storage.googleapis.com

Untuk memastikan hanya kunci dari projects/4 yang digunakan, gunakan konfigurasi berikut:

  • Kebijakan organisasi: constraints/gcp.restrictCmekCryptoKeyProjects
  • Binding pada: projects/5
  • Jenis kebijakan: Izinkan
  • Nilai kebijakan: projects/4

Mewajibkan CMEK dan membatasi kunci dalam folder

Atau, misalkan Anda ingin menambahkan project Cloud KMS tambahan di bagian folders/2 pada masa mendatang dan ingin mewajibkan CMEK secara lebih luas dalam folders/3. Untuk skenario ini, Anda memerlukan konfigurasi yang sedikit berbeda.

Untuk mewajibkan perlindungan CMEK tambahan untuk resource Cloud SQL dan Cloud Storage baru di mana saja di folders/3:

  • Kebijakan organisasi: constraints/gcp.restrictNonCmekServices
  • Binding pada: folders/3
  • Jenis kebijakan: Tolak
  • Nilai kebijakan: sqladmin.googleapis.com, storage.googleapis.com

Untuk memastikan hanya kunci dari project Cloud KMS di bagian folders/2 yang digunakan:

  • Kebijakan organisasi: constraints/gcp.restrictCmekCryptoKeyProjects
  • Binding pada: folders/3
  • Jenis kebijakan: Izinkan
  • Nilai kebijakan: under:folders/2

Mewajibkan CMEK untuk organisasi

Untuk mewajibkan CMEK di mana saja di organisasi (di layanan yang didukung), konfigurasikan batasan constraints/gcp.restrictNonCmekServices dengan setelan berikut:

  • Kebijakan organisasi: constraints/gcp.restrictNonCmekServices
  • Binding pada: organizations/1
  • Jenis kebijakan: Tolak
  • Nilai kebijakan: (semua layanan yang didukung)

Batasan

Jika menggunakan konsol Google Cloud untuk membuat resource, Anda mungkin melihat bahwa Anda tidak dapat menggunakan opsi enkripsi selain CMEK saat constraints/gcp.restrictNonCmekServices dikonfigurasi untuk project dan layanan. Batasan kebijakan organisasi CMEK hanya terlihat saat akun pelanggan telah diberi izin IAM orgpolicy.policy.get di project.

Langkah selanjutnya

Lihat Pengantar Layanan Kebijakan Organisasi untuk mempelajari lebih lanjut manfaat dan kasus penggunaan umum untuk kebijakan organisasi.

Untuk contoh selengkapnya tentang cara membuat kebijakan organisasi dengan batasan tertentu, lihat Menggunakan batasan.