Topik ini menunjukkan cara mengelola akses ke resource Cloud KMS.
Ringkasan
Untuk mengelola akses ke resource Cloud KMS, seperti kunci dan ring kunci, Anda harus memberikan peran Identity and Access Management (IAM). Anda dapat memberikan atau membatasi kemampuan untuk melakukan operasi kriptografis tertentu, seperti memutar kunci atau mengenkripsi data. Anda dapat memberikan peran IAM di:
- Kunci secara langsung
- Key ring, yang diwarisi oleh semua kunci dalam key ring tersebut
- Project Google Cloud, yang diwarisi oleh semua kunci dalam project
- Folder Google Cloud, yang diwarisi oleh semua kunci di semua project dalam folder
- Organisasi Google Cloud, yang 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 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.
-
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.
-
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.
Hanya akun utama 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 memberikan akses ke kunci Cloud KMS:
gcloud
Untuk menggunakan Cloud KMS di command line, pertama-tama Instal atau upgrade ke Google Cloud CLI versi terbaru.
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 prinsipal dan alamat email prinsipal. Ganti role dengan nama peran yang akan ditambahkan.
C#
Untuk menjalankan kode ini, siapkan lingkungan pengembangan C# terlebih dahulu dan instal Cloud KMS C# SDK.
Go
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Go terlebih dahulu, lalu 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, pertama-tama pelajari cara menggunakan PHP di Google Cloud dan menginstal Cloud KMS PHP SDK.
Python
Untuk menjalankan kode ini, pertama-tama siapkan lingkungan pengembangan Python dan instal Cloud KMS Python SDK.
Ruby
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Ruby terlebih dahulu, lalu instal Cloud KMS Ruby SDK.
Mencabut akses ke resource
Untuk menghapus akses akun utama ke kunci Cloud KMS:
gcloud
Untuk menggunakan Cloud KMS di command line, pertama-tama Instal atau upgrade ke Google Cloud CLI versi terbaru.
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 prinsipal dan alamat email prinsipal. 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 Cloud KMS C# SDK.
Go
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Go terlebih dahulu, lalu 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, pertama-tama pelajari cara menggunakan PHP di Google Cloud dan menginstal Cloud KMS PHP SDK.
Python
Untuk menjalankan kode ini, pertama-tama siapkan lingkungan pengembangan Python dan instal Cloud KMS Python SDK.
Ruby
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Ruby terlebih dahulu, lalu instal Cloud KMS Ruby SDK.
Melihat izin di resource
Untuk melihat kebijakan IAM untuk kunci Cloud KMS:
gcloud
Untuk menggunakan Cloud KMS di command line, pertama-tama Instal atau upgrade ke Google Cloud CLI versi terbaru.
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 Cloud KMS C# SDK.
Go
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Go terlebih dahulu, lalu 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, pertama-tama pelajari cara menggunakan PHP di Google Cloud dan menginstal Cloud KMS PHP SDK.
Python
Untuk menjalankan kode ini, pertama-tama siapkan lingkungan pengembangan Python dan instal Cloud KMS Python SDK.
Ruby
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Ruby terlebih dahulu, lalu 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 hierarki resource.
Untuk memberikan izin akun utama guna mengenkripsi (tetapi tidak mendekripsi) data, berikan peran
roles/cloudkms.cryptoKeyEncrypter
pada kunci.Untuk memberikan izin akun utama guna mengenkripsi dan mendekripsi data, berikan peran
roles/cloudkms.cryptoKeyEncrypterDecrypter
pada kunci.Untuk memberikan izin akun utama guna memverifikasi (tetapi tidak menandatangani) data, berikan peran
roles/cloudkms.publicKeyViewer
pada kunci.Untuk memberikan izin akun utama guna menandatangani dan memverifikasi data, berikan peran
roles/cloudkms.signerVerifier
pada kunci.Untuk memberikan izin akun utama guna mengelola kunci, berikan peran
roles/cloudkms.admin
pada kunci.
Ini bukanlah daftar lengkap. Lihat izin dan peran Cloud KMS untuk mengetahui daftar lengkap izin dan peran.
Hierarki dan pewarisan
Binding 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, akun utama
dengan peran atau izin tertentu pada level yang lebih tinggi dalam hierarki tersebut mewarisi
izin yang sama pada resource turunan. Artinya, pengguna yang memiliki peran owner
pada project juga merupakan owner
di semua key ring dan kunci dalam project tersebut. Demikian pula, jika pengguna diberi peran cloudkms.admin
di ring kunci, mereka memiliki izin yang terkait pada semua kunci di ring kunci tersebut.
Kebalikan dari hal ini tidak benar; yaitu, pengguna yang memiliki izin pada kunci, tetapi tidak memiliki izin pada ring kunci induk, tidak memiliki izin pada ring kunci tersebut.
Langkah selanjutnya
- Pelajari lebih lanjut tentang Izin dan peran di Cloud KMS.
- Buat kunci.
- Mengenkripsi dan mendekripsi data.