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 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 bahwa setiap pengguna memiliki izin yang diperlukan untuk memeriksa kebijakan organisasi saat membuat resource,
minta administrator untuk memberi setiap pengguna
peran IAM Pelihat Kebijakan Organisasi (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 lengkap:
orgpolicy.policy.get
-
Untuk memeriksa kebijakan organisasi saat membuat resource:
orgpolicy.policies.check
Administrator Anda mungkin juga dapat memberi setiap pengguna izin ini 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, tetapi mereka dapat memilih kunci CMEK yang tidak diizinkan oleh batasan restrictCmekCryptoKeyProjects
. Google Cloud Jika kunci yang tidak memenuhi batasan ini dipilih, pembuatan resource akan gagal.
Mewajibkan perlindungan CMEK
Untuk mewajibkan perlindungan CMEK bagi organisasi Anda, konfigurasi 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 memberikan 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 di 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 Allow. 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 memerlukan CMEK |
---|---|
Aplikasi AI | discoveryengine.googleapis.com |
AlloyDB untuk PostgreSQL | alloydb.googleapis.com |
Apigee | apigee.googleapis.com |
Application Integration | integrations.googleapis.com |
Artifact Registry | artifactregistry.googleapis.com |
Pencadangan untuk GKE (Pratinjau) | gkebackup.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 |
Cloud Run Functions | 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 |
Dataform | dataform.googleapis.com |
Katalog Universal Dataplex | dataplex.googleapis.com |
Dataproc | dataproc.googleapis.com |
Document AI | documentai.googleapis.com |
Eventarc Lanjutan (Pratinjau) | eventarc.googleapis.com |
Eventarc Standard | eventarc.googleapis.com |
Filestore | file.googleapis.com |
Firestore | firestore.googleapis.com |
Google Agentspace Enterprise | discoveryengine.googleapis.com |
Google Kubernetes Engine (Pratinjau) | container.googleapis.com |
Looker (Google Cloud core) | looker.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 |
Instance Vertex AI Workbench | notebooks.googleapis.com |
Kebijakan organisasi CMEK dan Storage Transfer Service
Meskipun Storage Transfer Service tidak memiliki integrasi CMEK, layanan ini 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 penegakan menurut jenis resource
Batasan kebijakan organisasi CMEK diterapkan saat membuat resource baru atau saat mengubah (jika didukung) kunci Cloud KMS pada resource yang ada. Secara umum, kebijakan ini diterapkan pada semua jenis resource layanan yang mendukung CMEK dan hanya berdasarkan konfigurasi resource. Beberapa pengecualian penting diringkas di sini:
Jenis resource | Pengecualian penegakan |
---|---|
bigquery.googleapis.com/Dataset |
Diterapkan sebagian pada kunci Cloud KMS default set data (khusus gcp.restrictCmekCryptoKeyProjects )
|
bigquery.googleapis.com/Job |
Khusus tugas kueri: diterapkan pada kunci Cloud KMS yang diberikan dengan kueri atau default dari project penagihan; lihat juga konfigurasi terpisah kunci Cloud KMS default project |
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 untuk disk booting node saja; tidak diterapkan pada secret di lapisan aplikasi |
logging.googleapis.com/LogBucket |
Diterapkan 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 independen dari bucket; lihat juga konfigurasi terpisah kunci Cloud KMS default bucket |
Contoh konfigurasi
Dalam contoh konfigurasi, asumsikan organisasi contoh memiliki hierarki resource berikut:
Mewajibkan CMEK dan membatasi kunci untuk project
Misalkan Anda ingin mewajibkan perlindungan CMEK untuk semua resource Cloud Storage di bawah projects/5
dan memastikan bahwa hanya kunci yang berasal dari projects/4
yang dapat digunakan.
Untuk mewajibkan perlindungan CMEK bagi semua resource Cloud Storage baru, gunakan setelan kebijakan organisasi berikut:
- Kebijakan organisasi:
constraints/gcp.restrictNonCmekServices
- Binding di:
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 di:
projects/5
- Jenis kebijakan: Izinkan
- Nilai kebijakan:
projects/4
Mewajibkan CMEK dan membatasi kunci dalam folder
Atau, misalkan Anda berencana menambahkan project Cloud KMS lain 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 bagi resource Cloud SQL dan Cloud Storage baru di mana pun di bawah folders/3
:
- Kebijakan organisasi:
constraints/gcp.restrictNonCmekServices
- Binding di:
folders/3
- Jenis kebijakan: Tolak
- Nilai kebijakan:
sqladmin.googleapis.com
,storage.googleapis.com
Untuk memastikan hanya kunci dari project Cloud KMS di folders/2
yang digunakan:
- Kebijakan organisasi:
constraints/gcp.restrictCmekCryptoKeyProjects
- Binding di:
folders/3
- Jenis kebijakan: Izinkan
- Nilai kebijakan:
under:folders/2
Mewajibkan CMEK untuk organisasi
Untuk mewajibkan CMEK di mana saja dalam organisasi (di layanan yang didukung),
konfigurasi batasan constraints/gcp.restrictNonCmekServices
dengan
setelan berikut:
- Kebijakan organisasi:
constraints/gcp.restrictNonCmekServices
- Binding di:
organizations/1
- Jenis kebijakan: Tolak
- Nilai kebijakan: (semua layanan yang didukung)
Batasan
Jika Anda 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. Pembatasan kebijakan organisasi CMEK hanya terlihat jika akun pelanggan telah diberi izin IAM orgpolicy.policy.get
di project.
Langkah berikutnya
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.