Topik ini menunjukkan cara mengelola akses ke resource Cloud KMS.
Ringkasan
Untuk mengelola akses ke resource Cloud KMS, seperti kunci dan key ring, Anda perlu memberikan peran Identity and Access Management (IAM). Anda dapat memberikan atau membatasi kemampuan untuk melakukan operasi kriptografi tertentu, seperti memutar kunci atau mengenkripsi data. Anda dapat memberikan peran IAM pada:
- Kunci secara langsung
- Key ring, yang diwarisi oleh semua kunci di key ring tersebut
- Project Google Cloud, yang diwarisi oleh semua kunci dalam project
- Folder Google Cloud, yang diwarisi oleh semua kunci di semua project di folder tersebut
- Organisasi Google Cloud, yang diwarisi oleh semua kunci dalam folder di 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.
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API yang diperlukan.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API yang diperlukan.
- Menginstal Google Cloud CLI.
-
Untuk initialize 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.
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, Instal atau upgrade Google Cloud CLI ke versi terbaru 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 tersebut berada. Ganti location dengan lokasi Cloud KMS untuk key ring. Ganti principal-type dan principal-email dengan jenis akun utama dan alamat email akun utama. Ganti role dengan nama peran yang akan ditambahkan.
C#
Untuk menjalankan kode ini, siapkan lingkungan pengembangan C# terlebih dahulu lalu 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 Java SDK Cloud KMS.
Node.js
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Node.js terlebih dahulu, lalu instal Node.js SDK Cloud KMS.
PHP
Untuk menjalankan kode ini, pelajari cara menggunakan PHP di Google Cloud terlebih dahulu dan instal PHP SDK Cloud KMS.
Python
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Python terlebih dahulu lalu instal Cloud KMS Python SDK.
Ruby
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Ruby terlebih dahulu dan instal Ruby SDK Cloud KMS.
Mencabut akses ke resource
Untuk menghapus akses akun utama ke kunci Cloud KMS:
gcloud
Untuk menggunakan Cloud KMS di command line, Instal atau upgrade Google Cloud CLI ke versi terbaru 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 tersebut berada. Ganti location dengan lokasi Cloud KMS untuk key ring. Ganti principal-type dan principal-email dengan jenis akun utama dan alamat email akun utama. Ganti role-name dengan nama peran yang akan dihapus.
Untuk mengetahui informasi tentang semua tanda dan nilai yang memungkinkan, jalankan perintah dengan
tanda --help
.
C#
Untuk menjalankan kode ini, siapkan lingkungan pengembangan C# terlebih dahulu lalu 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 Java SDK Cloud KMS.
Node.js
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Node.js terlebih dahulu, lalu instal Node.js SDK Cloud KMS.
PHP
Untuk menjalankan kode ini, pelajari cara menggunakan PHP di Google Cloud terlebih dahulu dan instal PHP SDK Cloud KMS.
Python
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Python terlebih dahulu lalu instal Cloud KMS Python SDK.
Ruby
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Ruby terlebih dahulu dan instal Ruby SDK Cloud KMS.
Melihat izin pada resource
Untuk melihat kebijakan IAM untuk kunci Cloud KMS:
gcloud
Untuk menggunakan Cloud KMS di command line, Instal atau upgrade Google Cloud CLI ke versi terbaru 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 tersebut berada. Ganti location dengan lokasi Cloud KMS untuk key ring.
Untuk mengetahui informasi tentang semua tanda dan nilai yang memungkinkan, jalankan perintah dengan
tanda --help
.
C#
Untuk menjalankan kode ini, siapkan lingkungan pengembangan C# terlebih dahulu lalu 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 Java SDK Cloud KMS.
Node.js
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Node.js terlebih dahulu, lalu instal Node.js SDK Cloud KMS.
PHP
Untuk menjalankan kode ini, pelajari cara menggunakan PHP di Google Cloud terlebih dahulu dan instal PHP SDK Cloud KMS.
Python
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Python terlebih dahulu lalu instal Cloud KMS Python SDK.
Ruby
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Ruby terlebih dahulu dan instal Ruby SDK Cloud KMS.
Prinsip hak istimewa terendah
Untuk mempraktikkan prinsip hak istimewa terendah, berikan kumpulan izin yang paling terbatas ke objek terendah dalam hierarki resource.
Untuk memberikan izin utama agar dapat mengenkripsi (tetapi tidak mendekripsi) data, berikan peran
roles/cloudkms.cryptoKeyEncrypter
pada kunci tersebut.Untuk memberikan izin utama agar dapat mengenkripsi dan mendekripsi data, berikan peran
roles/cloudkms.cryptoKeyEncrypterDecrypter
pada kunci tersebut.Untuk memberikan izin utama kepada akun utama guna memverifikasi (tetapi tidak menandatangani), berikan peran
roles/cloudkms.publicKeyViewer
pada kunci tersebut.Untuk memberikan izin kepada akun utama guna menandatangani dan memverifikasi data, berikan peran
roles/cloudkms.signerVerifier
pada kunci tersebut.Untuk memberikan izin akun utama guna mengelola kunci, berikan peran
roles/cloudkms.admin
pada kunci tersebut.
Ini bukanlah daftar lengkap. Baca izin dan peran Cloud KMS untuk mengetahui daftar lengkap izin dan peran.
Hierarki dan pewarisan
Binding 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, 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 suatu project juga merupakan owner
pada semua key ring dan kunci dalam
project tersebut. Demikian pula, jika pengguna diberi peran cloudkms.admin
pada key ring, mereka memiliki izin terkait pada semua kunci dalam key ring tersebut.
Hal sebaliknya tidak berlaku; yaitu, pengguna yang memiliki izin pada kunci tetapi tidak memiliki izin pada key ring induk tidak memiliki izin pada key ring tersebut.
Langkah selanjutnya
- Pelajari lebih lanjut tentang Izin dan peran di Cloud KMS.
- Buat kunci.
- Mengenkripsi dan mendekripsi data.