Data secret tidak dapat diubah dan sebagian besar operasi dilakukan pada versi secret. Versi secret berisi data rahasia yang sebenarnya, beserta state dan metadata tentang rahasia tersebut. Topik ini menjelaskan cara menambahkan versi secret.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk menambahkan versi secret, minta administrator Anda untuk memberi Anda peran IAM berikut pada sebuah secret:
-
Adder Versi Secret Manager (
roles/secretmanager.secretVersionAdder
) -
Secret Manager Secret Version Manager (
roles/secretmanager.secretVersionManager
)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Menambahkan versi secret
Konsol
-
Buka halaman Secret Manager di Konsol Google Cloud.
-
Di halaman Secret Manager, klik View more
, lalu pilih Add new version. -
Pada dialog Add new version, di kolom Secret value, masukkan nilai untuk secret tersebut (misalnya,
abcd1234
). -
Klik tombol Add new version.
gcloud
Untuk menggunakan Secret Manager di command line, Instal atau upgrade Google Cloud CLI ke versi 378.0.0 atau yang lebih baru terlebih dahulu. Di Compute Engine atau GKE, Anda harus melakukan autentikasi dengan cakupan cloud-platform.
Tambahkan versi rahasia dari isi file pada disk:
$ gcloud secrets versions add secret-id --data-file="/path/to/file.txt"
Anda juga dapat menambahkan versi secret secara langsung pada command line, tetapi hal ini tidak disarankan karena muncul sebagai teks biasa dalam daftar proses dan mungkin diketahui oleh pengguna sistem lainnya. Perhatikan bahwa perintah dengan teks biasa juga akan ada di histori shell Anda.
$ echo -n "this is my super secret data" | \
gcloud secrets versions add secret-id --data-file=-
Opsional: Menambahkan versi dari konten file saat pertama kali membuat secret:
$ gcloud secrets create secret-id --data-file="/path/to/file.txt"
C#
Untuk menjalankan kode ini, siapkan lingkungan pengembangan C# terlebih dahulu, lalu instal Secret Manager C# SDK. Di Compute Engine atau GKE, Anda harus melakukan autentikasi dengan cakupan cloud-platform.
Go
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Go terlebih dahulu, lalu instal Secret Manager Go SDK. Di Compute Engine atau GKE, Anda harus melakukan autentikasi dengan cakupan cloud-platform.
Java
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Java terlebih dahulu dan instal Secret Manager Java SDK. Di Compute Engine atau GKE, Anda harus melakukan autentikasi dengan cakupan cloud-platform.
Node.js
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Node.js terlebih dahulu, lalu instal Secret Manager Node.js SDK. Di Compute Engine atau GKE, Anda harus melakukan autentikasi dengan cakupan cloud-platform.
PHP
Untuk menjalankan kode ini, pelajari cara menggunakan PHP di Google Cloud terlebih dahulu dan instal Secret Manager PHP SDK. Di Compute Engine atau GKE, Anda harus melakukan autentikasi dengan cakupan cloud-platform.
Python
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Python terlebih dahulu, lalu instal Secret Manager Python SDK. Di Compute Engine atau GKE, Anda harus melakukan autentikasi dengan cakupan cloud-platform.
Ruby
Untuk menjalankan kode ini, siapkan lingkungan pengembangan Ruby terlebih dahulu, lalu instal Secret Manager Ruby SDK. Di Compute Engine atau GKE, Anda harus melakukan autentikasi dengan cakupan cloud-platform.
API
Contoh ini menggunakan curl untuk menunjukkan cara menggunakan API. Anda dapat membuat token akses dengan gcloud auth print-access-token. Di Compute Engine atau GKE, Anda harus melakukan autentikasi dengan cakupan cloud-platform.
Base64 mengenkode data rahasia dan menyimpannya sebagai variabel shell.
$ SECRET_DATA=$(echo "seCr3t" | base64)
Panggil API menggunakan curl.
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id:addVersion" \
--request "POST" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
--data "{\"payload\": {\"data\": \"${SECRET_DATA}\"}}"
Status versi rahasia
Versi secret dapat berada dalam salah satu status berikut pada waktu tertentu:
Diaktifkan - Dalam status ini, versi rahasia dapat diakses dan dijelaskan. Ini adalah status default untuk versi secret baru.
Nonaktif - Dalam status ini, versi rahasia tidak dapat diakses, tetapi konten rahasia masih ada. Versi secret dapat diaktifkan kembali untuk memulihkan akses.
Dihancurkan - Dalam status ini, konten versi rahasia akan dihapus. Versi rahasia tidak dapat diubah ke status lain.
Langkah selanjutnya
- Pelajari cara mengakses versi secret.
- Pelajari cara menetapkan alias ke versi secret.
- Pelajari cara mencantumkan versi secret dan melihat detail versi.