Data secret tidak dapat diubah dan sebagian besar operasi dilakukan pada versi secret. Versi rahasia berisi data rahasia yang sebenarnya, beserta status dan metadata tentang rahasia. Halaman ini menjelaskan cara menambahkan versi rahasia.
Untuk mengetahui informasi selengkapnya tentang pembuatan versi, tonton video ini tentang pembuatan versi.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk menambahkan versi rahasia, minta administrator untuk memberi Anda peran IAM berikut pada rahasia:
-
Secret Manager Secret Version Adder (
roles/secretmanager.secretVersionAdder
) -
Secret Manager Secret Version Manager (
roles/secretmanager.secretVersionManager
)
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Peran IAM tidak dapat diberikan pada versi secret.
Menambahkan versi secret
Untuk menambahkan versi rahasia, gunakan salah satu metode berikut:
Konsol
-
Di konsol Google Cloud , buka halaman Secret Manager.
-
Di halaman Secret Manager, cari secret yang ingin Anda tambahkan versi barunya.
-
Klik menu
Tindakan yang terkait dengan rahasia tersebut, lalu klik Tambahkan versi baru. Dialog Add new version akan muncul. -
Di kolom Secret value, masukkan nilai untuk secret, seperti
abcd1234
. Atau, Anda dapat mengupload file yang berisi nilai rahasia. -
Klik Tambahkan versi baru.
gcloud
Menambahkan versi secret dari konten file di disk
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- SECRET_ID: ID secret atau ID yang memenuhi syarat sepenuhnya untuk secret
- FILE_PATH: jalur lengkap (termasuk nama file) ke file yang berisi detail versi
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud secrets versions add SECRET_ID --data-file="FILE_PATH"
Windows (PowerShell)
gcloud secrets versions add SECRET_ID --data-file="FILE_PATH"
Windows (cmd.exe)
gcloud secrets versions add SECRET_ID --data-file="FILE_PATH"
Respons berisi versi secret yang baru dibuat.
Menambahkan versi secret langsung di command line
Anda juga dapat menambahkan versi rahasia langsung di command line, tetapi hal ini tidak disarankan karena tampil sebagai teks biasa dalam daftar proses dan dapat diambil oleh pengguna sistem lain. Perhatikan bahwa perintah dengan teks biasa juga akan ada di histori shell Anda.
echo -n "SECRET_DATA" | \ gcloud secrets versions add SECRET_ID --data-file=-
Ganti kode berikut:
- SECRET_DATA: data yang ingin Anda simpan dalam versi secret
- SECRET_ID: ID secret atau ID yang memenuhi syarat sepenuhnya untuk secret
Opsional: Menambahkan versi dari konten file saat pertama kali membuat secret
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- SECRET_ID: ID secret atau ID yang memenuhi syarat sepenuhnya untuk secret
- FILE_PATH: jalur lengkap (termasuk nama file) ke file yang berisi detail versi
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud secrets create SECRET_ID --data-file="FILE_PATH"
Windows (PowerShell)
gcloud secrets create SECRET_ID --data-file="FILE_PATH"
Windows (cmd.exe)
gcloud secrets create SECRET_ID --data-file="FILE_PATH"
Respons berisi versi secret yang baru dibuat.
REST
Lakukan encoding data rahasia dengan Base64 dan simpan sebagai variabel shell.
$ SECRET_DATA=$(echo "seCr3t" | base64)
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Google Cloud project ID
- SECRET_ID: ID secret atau ID yang memenuhi syarat sepenuhnya untuk secret
Metode HTTP dan URL:
POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID:addVersion
Isi JSON permintaan:
{"payload": {"data": "${SECRET_DATA}"}}
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID:addVersion"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID:addVersion" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/1", "createTime": "2024-03-25T08:24:13.153705Z", "state": "ENABLED", "etag": "\"161477e6071da9\"" }
C#
Untuk menjalankan kode ini, siapkan lingkungan pengembangan C# terlebih dahulu dan 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 dan 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 dan 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 terlebih dahulu cara menggunakan PHP di Google Cloud 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 dan 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 dan instal Secret Manager Ruby SDK. Di Compute Engine atau GKE, Anda harus melakukan autentikasi dengan cakupan cloud-platform.
Status versi secret
Versi secret dapat berada dalam salah satu status berikut pada waktu tertentu:
-
Diaktifkan - Dalam status ini, versi secret dapat diakses dan dijelaskan. Ini adalah status default untuk versi secret baru.
-
Dinonaktifkan - 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.
Anda akan ditagih untuk versi secret yang diaktifkan dan dinonaktifkan. Anda tidak ditagih untuk versi secret yang berstatus dihancurkan.
Langkah berikutnya
- Pelajari cara mengakses versi rahasia.
- Pelajari cara menetapkan alias ke versi secret.
- Pelajari cara mencantumkan versi secret dan melihat detail versi.