Topik ini menunjukkan cara mengelola akses ke resource Cloud KMS.
Ringkasan
Untuk mengelola akses ke resource Cloud KMS, seperti kunci dan ring kunci, Anda memberikan peran Identity and Access Management (IAM). Anda dapat memberikan atau membatasi kemampuan untuk melakukan operasi kriptografi tertentu, seperti merotasi kunci atau mengenkripsi data. Anda dapat memberikan peran IAM pada:
- Kunci secara langsung
- Key ring, diwarisi oleh semua kunci dalam key ring tersebut
- Project Google Cloud , diwariskan oleh semua kunci dalam project
- Folder Google Cloud , diwarisi oleh semua kunci di semua project dalam folder
- Organisasi Google Cloud , diwarisi oleh semua kunci di folder dalam organisasi
Untuk mengetahui daftar lengkap tindakan Cloud KMS serta peran dan izin IAM, lihat Izin dan peran. Untuk mengetahui daftar lengkap resource Cloud KMS dan hubungannya satu sama lain, lihat Resource Cloud KMS.
Sebelum memulai
Untuk menyelesaikan tugas ini, Anda memerlukan izin untuk mengelola resource Cloud KMS di project Google Cloud . Peran Admin Cloud KMS
(roles/cloudkms.admin
) mencakup izin yang diperlukan.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the required API.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the required API.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Buat resource, seperti key ring.
- Dapatkan ID resource untuk resource yang dibuat, seperti key ring, kunci, dan versi kunci.
Untuk memberikan izin kepada akun utama untuk mengenkripsi (tetapi tidak mendekripsi) data, berikan peran
roles/cloudkms.cryptoKeyEncrypter
pada kunci.Untuk memberikan izin kepada akun utama untuk mengenkripsi dan mendekripsi data, berikan peran
roles/cloudkms.cryptoKeyEncrypterDecrypter
pada kunci.Untuk memberikan izin kepada akun utama untuk memverifikasi (tetapi tidak menandatangani) data, berikan peran
roles/cloudkms.publicKeyViewer
pada kunci.Untuk memberikan izin kepada akun utama untuk menandatangani dan memverifikasi data, berikan peran
roles/cloudkms.signerVerifier
pada kunci.Untuk memberikan izin kepada akun utama untuk mengelola kunci, berikan peran
roles/cloudkms.admin
pada kunci.- Pelajari lebih lanjut tentang Izin dan peran di Cloud KMS.
- Buat kunci.
- Mengenkripsi dan mendekripsi data.
Hanya pokok IAM dengan peran Pemilik (roles/owner
) atau Admin Cloud KMS
(roles/cloudkms.admin
) yang dapat memberikan atau mencabut akses ke resource Cloud KMS.
Memberikan peran pada resource
Contoh berikut memberikan peran yang menyediakan akses ke kunci Cloud KMS:
gcloud
Untuk menggunakan Cloud KMS di command line, Instal atau upgrade ke versi terbaru Google Cloud CLI terlebih dahulu.
gcloud kms keys add-iam-policy-binding key \ --keyring key-ring \ --location location \ --member principal-type:principal-email \ --role roles/role
Ganti key dengan nama kunci. Ganti key-ring dengan nama key ring tempat kunci berada. Ganti location dengan lokasi Cloud KMS untuk key ring. Ganti principal-type dan principal-email dengan jenis principal dan alamat email principal. Ganti role dengan nama peran yang akan ditambahkan.
C#
Untuk menjalankan kode ini, siapkan lingkungan pengembangan C# terlebih dahulu dan instal SDK C# Cloud KMS.
Go
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Go terlebih dahulu dan instal Cloud KMS Go SDK.
Java
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Java terlebih dahulu dan instal Cloud KMS Java SDK.
Node.js
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Node.js terlebih dahulu dan instal Cloud KMS Node.js SDK.
PHP
Untuk menjalankan kode ini, pelajari terlebih dahulu cara menggunakan PHP di Google Cloud dan instal Cloud KMS PHP SDK.
Python
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Python terlebih dahulu dan instal Cloud KMS Python SDK.
Ruby
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Ruby terlebih dahulu dan instal Cloud KMS Ruby SDK.
Mencabut akses ke resource
Untuk menghapus akses prinsipal ke kunci Cloud KMS:
gcloud
Untuk menggunakan Cloud KMS di command line, Instal atau upgrade ke versi terbaru Google Cloud CLI terlebih dahulu.
gcloud kms keys remove-iam-policy-binding key \ --keyring key-ring \ --location location \ --member principal-type:principal-email \ --role roles/role-name
Ganti key dengan nama kunci. Ganti key-ring dengan nama key ring tempat kunci berada. Ganti location dengan lokasi Cloud KMS untuk key ring. Ganti principal-type dan principal-email dengan jenis principal dan alamat email principal. Ganti role-name dengan nama peran yang akan dihapus.
Untuk mengetahui informasi tentang semua flag dan kemungkinan nilai, jalankan perintah dengan flag --help
.
C#
Untuk menjalankan kode ini, siapkan lingkungan pengembangan C# terlebih dahulu dan instal SDK C# Cloud KMS.
Go
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Go terlebih dahulu dan instal Cloud KMS Go SDK.
Java
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Java terlebih dahulu dan instal Cloud KMS Java SDK.
Node.js
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Node.js terlebih dahulu dan instal Cloud KMS Node.js SDK.
PHP
Untuk menjalankan kode ini, pelajari terlebih dahulu cara menggunakan PHP di Google Cloud dan instal Cloud KMS PHP SDK.
Python
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Python terlebih dahulu dan instal Cloud KMS Python SDK.
Ruby
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Ruby terlebih dahulu dan instal Cloud KMS Ruby SDK.
Melihat izin pada resource
Untuk melihat kebijakan IAM untuk kunci Cloud KMS:
gcloud
Untuk menggunakan Cloud KMS di command line, Instal atau upgrade ke versi terbaru Google Cloud CLI terlebih dahulu.
gcloud kms keys get-iam-policy key \ --keyring key-ring \ --location location
Ganti key dengan nama kunci. Ganti key-ring dengan nama key ring tempat kunci berada. Ganti location dengan lokasi Cloud KMS untuk key ring.
Untuk mengetahui informasi tentang semua flag dan kemungkinan nilai, jalankan perintah dengan flag --help
.
C#
Untuk menjalankan kode ini, siapkan lingkungan pengembangan C# terlebih dahulu dan instal SDK C# Cloud KMS.
Go
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Go terlebih dahulu dan instal Cloud KMS Go SDK.
Java
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Java terlebih dahulu dan instal Cloud KMS Java SDK.
Node.js
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Node.js terlebih dahulu dan instal Cloud KMS Node.js SDK.
PHP
Untuk menjalankan kode ini, pelajari terlebih dahulu cara menggunakan PHP di Google Cloud dan instal Cloud KMS PHP SDK.
Python
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Python terlebih dahulu dan instal Cloud KMS Python SDK.
Ruby
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Ruby terlebih dahulu dan instal Cloud KMS Ruby SDK.
Prinsip hak istimewa terendah
Untuk menerapkan prinsip hak istimewa terendah, berikan kumpulan izin yang paling terbatas ke objek terendah dalam susunan resource.
Ini bukanlah daftar lengkap. Lihat Izin dan peran Cloud KMS untuk mengetahui daftar lengkap izin dan peran.
Hierarki dan pewarisan
Pengikatan kebijakan dapat ditentukan di project, key ring, kunci, tugas impor, dan resource Cloud KMS lainnya.
Karena kunci termasuk dalam key ring, dan key ring termasuk dalam project, pokok
dengan peran atau izin tertentu pada level yang lebih tinggi dalam hierarki tersebut mewarisi
izin yang sama atas resource turunannya. Artinya, pengguna yang memiliki peran
owner
pada sebuah project juga merupakan owner
di semua key ring dan kunci dalam project tersebut. Demikian pula, jika seorang pengguna diberi peran cloudkms.admin
di key ring, dia memiliki izin terkait atas semua kunci di key ring tersebut.
Sebaliknya tidak benar; yaitu, pengguna yang memiliki izin pada kunci, tetapi tidak memiliki izin pada ring kunci induk, tidak memiliki izin pada ring kunci tersebut.