Data secret tidak dapat diubah dan sebagian besar operasi dilakukan pada versi secret. Versi secret berisi data secret yang sebenarnya, beserta statusdan metadata tentang secret. Halaman ini menjelaskan cara menambahkan versi secret.
Untuk mengetahui informasi selengkapnya tentang pembuatan versi, lihat video tentang pembuatan versi ini.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk menambahkan versi secret, minta administrator untuk memberi Anda peran IAM berikut pada secret:
- Secret Manager Secret Version Adder (
roles/secretmanager.secretVersionAdder) - Secret Manager Secret Version Manager (
roles/secretmanager.secretVersionManager)
Untuk mengetahui informasi selengkapnya tentang pemberian 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 secret, gunakan salah satu metode berikut:
Konsol
-
Di Google Cloud konsol, buka halaman Secret Manager.
-
Di halaman Secret Manager, klik tab Regional secrets, lalu temukan secret yang ingin Anda tambahkan versi barunya.
-
Klik menu Actions yang terkait dengan secret tersebut, lalu klik Add new version. Dialog Add new version akan muncul.
-
Di kolom Secret value , masukkan nilai untuk secret tersebut, seperti
abcd1234. Atau, Anda dapat mengupload file yang berisi nilai secret. -
Klik Add new version.
gcloud
Pastikan Anda telah mengonfigurasi Secret Manager untuk menggunakan endpoint regional guna mengelola secret regional.Menambahkan versi secret dari konten file di disk
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- SECRET_ID: ID secret
- LOCATION: lokasi Google Cloud 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 --location=LOCATION --data-file="FILE_PATH"
Windows (PowerShell)
gcloud secrets versions add SECRET_ID --location=LOCATION --data-file="FILE_PATH"
Windows (cmd.exe)
gcloud secrets versions add SECRET_ID --location=LOCATION --data-file="FILE_PATH"
Respons berisi versi secret yang baru dibuat.
Menambahkan versi secret langsung di command line
Anda juga dapat menambahkan versi secret langsung di command line, tetapi hal ini tidak disarankan karena versi secret akan muncul 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 --location=LOCATION --data-file=-Ganti kode berikut:
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
- LOCATION: lokasi Google Cloud 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 --location=LOCATION --data-file="FILE_PATH"
Windows (PowerShell)
gcloud secrets create SECRET_ID --location=LOCATION --data-file="FILE_PATH"
Windows (cmd.exe)
gcloud secrets create SECRET_ID --location=LOCATION --data-file="FILE_PATH"
Respons berisi versi secret yang baru dibuat.
REST
Encode data secret dengan Base64 dan simpan sebagai variabel shell.
$ SECRET_DATA=$(echo "seCr3t" | base64)
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
Metode HTTP dan URL:
POST https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID:addVersion
Meminta isi JSON:
{"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.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/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.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/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\""
}
Go
Untuk menjalankan kode ini, siapkan terlebih dahulu lingkungan pengembangan Go 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 terlebih dahulu lingkungan pengembangan Java 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 terlebih dahulu lingkungan pengembangan Node.js dan instal Secret Manager Node.js SDK. Di Compute Engine atau GKE, Anda harus melakukan autentikasi dengan cakupan cloud-platform.
Python
Untuk menjalankan kode ini, siapkan terlebih dahulu lingkungan pengembangan Python dan instal Secret Manager Python 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 secret tidak dapat diakses, tetapi konten secret masih ada. Versi secret dapat diaktifkan kembali untuk memulihkan akses.
-
Dihancurkan - Dalam status ini, konten versi secret akan dibuang. Versi secret tidak dapat diubah ke status lain.
Anda akan ditagih untuk versi secret yang diaktifkan dan dinonaktifkan. Anda tidak akan ditagih untuk versi secret yang berstatus dihapus.
Langkah berikutnya
- Mengakses versi secret regional
- Menetapkan alias ke versi secret regional
- Mencantumkan versi secret regional dan melihat detail versi