Topik ini menunjukkan cara mengelola akses ke resource Cloud KMS.
Ringkasan
Untuk mengelola akses ke resource Cloud KMS, seperti kunci dan key ring, Anda 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 di:
- Kunci secara langsung
- Key ring, yang diwarisi oleh semua kunci dalam key ring tersebut
- Google Cloud Project, yang diwarisi oleh semua kunci dalam project
- Google Cloud Folder, yang diwarisi oleh semua kunci di semua project dalam folder
- Google Cloud Organisasi, yang diwarisi oleh semua kunci dalam folder di organisasi
Untuk daftar lengkap tindakan Cloud KMS dan peran serta 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 Google Cloud project. Peran Admin Cloud KMS (roles/cloudkms.admin) mencakup izin yang diperlukan.
- Login keakun Anda. Google Cloud 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the required API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus terlebih dahulu login ke gcloud CLI dengan identitas gabungan Anda.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the required API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus terlebih dahulu 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.
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 menyediakan akses ke kunci Cloud KMS:
gcloud
Untuk menggunakan Cloud KMS di command line, pertama instal atau upgrade Google Cloud CLI ke 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 akun utama dan alamat email akun utama. Ganti role dengan nama peran yang akan ditambahkan.
C#
Untuk menjalankan kode ini, pertama siapkan lingkungan pengembangan C# dan instal Cloud KMS C# SDK.
Go
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Go terlebih dahulu dan instal Cloud KMS Go SDK.
Java
Untuk menjalankan kode ini, pertama siapkan lingkungan pengembangan Java 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 cara menggunakan PHP di Google Cloud terlebih dahulu dan instal Cloud KMS PHP SDK.
Python
Untuk menjalankan kode ini, pertama siapkan lingkungan pengembangan Python dan instal Cloud KMS Python SDK.
Ruby
Untuk menjalankan kode ini, pertama siapkan lingkungan pengembangan Ruby dan 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 instal atau upgrade Google Cloud CLI ke 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 akun utama dan alamat email akun utama. Ganti role-name dengan nama peran yang akan dihapus.
Untuk mengetahui informasi tentang semua flag dan nilai yang mungkin, jalankan perintah dengan flag --help.
C#
Untuk menjalankan kode ini, pertama siapkan lingkungan pengembangan C# dan instal Cloud KMS C# SDK.
Go
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Go terlebih dahulu dan instal Cloud KMS Go SDK.
Java
Untuk menjalankan kode ini, pertama siapkan lingkungan pengembangan Java 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 cara menggunakan PHP di Google Cloud terlebih dahulu dan instal Cloud KMS PHP SDK.
Python
Untuk menjalankan kode ini, pertama siapkan lingkungan pengembangan Python dan instal Cloud KMS Python SDK.
Ruby
Untuk menjalankan kode ini, pertama siapkan lingkungan pengembangan Ruby 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, pertama instal atau upgrade Google Cloud CLI ke 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 nilai yang mungkin, jalankan perintah dengan flag --help.
C#
Untuk menjalankan kode ini, pertama siapkan lingkungan pengembangan C# dan instal Cloud KMS C# SDK.
Go
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Go terlebih dahulu dan instal Cloud KMS Go SDK.
Java
Untuk menjalankan kode ini, pertama siapkan lingkungan pengembangan Java 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 cara menggunakan PHP di Google Cloud terlebih dahulu dan instal Cloud KMS PHP SDK.
Python
Untuk menjalankan kode ini, pertama siapkan lingkungan pengembangan Python dan instal Cloud KMS Python SDK.
Ruby
Untuk menjalankan kode ini, pertama siapkan lingkungan pengembangan Ruby 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.
Untuk memberikan izin akun utama untuk mengenkripsi (tetapi tidak mendekripsi) data, berikan peran
roles/cloudkms.cryptoKeyEncrypterpada kunci.Untuk memberikan izin akun utama untuk mengenkripsi dan mendekripsi data, berikan peran
roles/cloudkms.cryptoKeyEncrypterDecrypterpada kunci.Untuk memberikan izin akun utama untuk memverifikasi (tetapi tidak menandatangani) data, berikan peran
roles/cloudkms.publicKeyViewerpada kunci.Untuk memberikan izin akun utama untuk menandatangani dan memverifikasi data, berikan peran
roles/cloudkms.signerVerifierpada kunci.Untuk memberikan izin akun utama untuk mengelola kunci, berikan peran
roles/cloudkms.adminpada kunci.
Ini bukan daftar lengkap. Lihat 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 izin atau peran 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 itu. Demikian pula, jika pengguna diberi peran cloudkms.admin pada key ring, mereka akan memiliki izin terkait pada semua kunci dalam key ring tersebut.
Kebalikannya tidak benar; yaitu, pengguna yang memiliki izin pada kunci tetapi tidak memiliki izin pada key ring induk tidak memiliki izin pada key ring tersebut.
Langkah berikutnya
- Pelajari lebih lanjut tentang Izin dan peran di Cloud KMS.
- Buat kunci.
- Mengenkripsi dan mendekripsi data.