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 Trusted Cloud , diwariskan oleh semua kunci dalam project
- Folder Trusted Cloud , diwarisi oleh semua kunci di semua project dalam folder
- Organisasi Trusted 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 Trusted Cloud . Peran Admin Cloud KMS
(roles/cloudkms.admin
) mencakup izin yang diperlukan.
-
In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.
-
Verify that billing is enabled for your Trusted Cloud project.
-
Enable the required API.
-
Install the Google Cloud CLI.
-
Konfigurasi gcloud CLI untuk menggunakan identitas gabungan Anda.
Untuk mengetahui informasi selengkapnya, lihat Login ke gcloud CLI dengan identitas gabungan Anda.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
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 Trusted 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 Trusted 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 Trusted 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 pada 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.