Halaman ini menunjukkan cara mengambil bagian kunci publik dari versi kunci asimetris yang diaktifkan.
Kunci publik menggunakan format Privacy-Enhanced Electronic Mail (PEM). Untuk informasi selengkapnya, lihat bagian RFC 7468 untuk Pertimbangan Umum dan Encoding Teks pada Info Kunci Publik Subjek.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk mengambil kunci publik, mintalah administrator untuk memberi Anda peran IAM Cloud KMS CryptoKey Public Key Viewer (roles/cloudkms.publicKeyViewer
) pada kunci Anda atau resource induk.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.
Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk mengambil kunci publik. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk mengambil kunci publik:
-
cloudkms.cryptoKeyVersions.viewPublicKey
-
cloudkms.locations.get
-
cloudkms.locations.list
-
resourcemanager.projects.get
Anda mung juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaanlainnya.
Mengambil kunci publik
Untuk mendownload kunci publik versi kunci asimetris yang diaktifkan:
Konsol
Di konsol Google Cloud, buka halaman Key Management.
Klik nama key ring yang berisi kunci asimetris yang ingin Anda ambil kunci publiknya.
Klik nama kunci yang ingin Anda ambil kunci publiknya.
Di baris yang sesuai dengan versi kunci yang ingin Anda ambil kunci publiknya, klik View More
.Klik Dapatkan kunci publik.
Kunci publik akan ditampilkan dalam perintah. Anda dapat menyalin kunci publik ke {i>clipboard<i} Anda. Untuk mendownload kunci publik, klik Download.
Jika Anda tidak melihat opsi Dapatkan kunci publik, pastikan hal berikut:
- Kuncinya adalah kunci asimetris.
- Versi kunci diaktifkan.
- Anda memiliki izin
cloudkms.cryptoKeyVersions.viewPublicKey
.
Nama file kunci publik yang didownload dari Google Cloud Console berbentuk:
KEY_RING-KEY_NAME-KEY_VERSION.pub
Setiap bagian nama file dipisahkan dengan tanda hubung, misalnya
ringname-keyname-version.pub
gcloud
Untuk menggunakan Cloud KMS di command line, Instal atau upgrade Google Cloud CLI ke versi terbaru terlebih dahulu.
gcloud kms keys versions get-public-key KEY_VERSION \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --output-file OUTPUT_FILE_PATH
Ganti kode berikut:
KEY_VERSION
: nomor versi kunci.KEY_NAME
: nama kunci.KEY_RING
: nama key ring yang berisi kunci.LOCATION
: lokasi Cloud KMS key ring.OUTPUT_FILE_PATH
: jalur tempat Anda ingin menyimpan file kunci publik, misalnya,public-key.pub
.
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.
API
Contoh ini menggunakan curl sebagai klien HTTP untuk menunjukkan penggunaan API. Untuk informasi selengkapnya tentang kontrol akses, lihat Mengakses Cloud KMS API.
Ambil kunci publik dengan memanggil metode CryptoKeyVersions.getPublicKey.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION/publicKey" \ --request "GET" \ --header "authorization: Bearer TOKEN"
Ganti kode berikut:
PROJECT_ID
: ID project yang berisi key ring.LOCATION
: lokasi Cloud KMS key ring.KEY_RING
: nama key ring yang berisi kunci.KEY_NAME
: nama kunci.KEY_VERSION
: nomor versi kunci.
Output-nya akan terlihat seperti berikut:
{ "pem": "-----BEGIN PUBLIC KEY-----\nQ29uZ3JhdHVsYXRpb25zLCB5b3UndmUgZGlzY292ZX JlZCB0aGF0IHRoaXMgaXNuJ3QgYWN0dWFsbHkgYSBwdWJsaWMga2V5ISBIYXZlIGEgbmlj ZSBkYXkgOik=\n-----END PUBLIC KEY-----\n", "algorithm": "ALGORITHM", "pemCrc32c": "2561089887", "name": "projects/PROJECT_ID/locations/LOCATION/keyRings/ KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/ KEY_VERSION", "protectionLevel": "SOFTWARE" }