Data secret tidak dapat diubah dan sebagian besar operasi dilakukan pada versi secret. Versi secret berisi data secret yang sebenarnya, beserta status dan metadata tentang secret. Halaman ini menjelaskan cara menambahkan versi rahasia.
Untuk mengetahui informasi selengkapnya tentang pembuatan versi, lihat video tentang pembuatan versi ini.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan agar dapat 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 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
-
Buka halaman Secret Manager di konsol Google Cloud.
-
Di halaman Secret Manager, cari secret yang ingin Anda tambahi versi baru.
-
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 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 secara langsung di command line, tetapi sebaiknya jangan melakukannya karena versi rahasia akan muncul sebagai teks biasa dalam daftar proses dan dapat diambil oleh pengguna sistem lain. Perhatikan bahwa perintah dengan teks biasa juga akan ada dalam histori shell Anda.
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- SECRET_DATA: data yang ingin Anda simpan dalam versi secret
- SECRET_ID: ID secret atau ID yang memenuhi syarat sepenuhnya untuk secret
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
echo -n "SECRET_DATA" | \ gcloud secrets versions add SECRET_ID --data-file=-
Windows (PowerShell)
echo -n "SECRET_DATA" | ` gcloud secrets versions add SECRET_ID --data-file=-
Windows (cmd.exe)
echo -n "SECRET_DATA" | ^ gcloud secrets versions add SECRET_ID --data-file=-
Respons berisi versi secret yang baru dibuat.
Opsional: Tambahkan 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
Enkode 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: project ID Google Cloud
- 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, pertama-tama siapkan lingkungan pengembangan C# 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, pertama-tama pelajari cara menggunakan PHP di Google Cloud dan menginstal Secret Manager PHP SDK. Di Compute Engine atau GKE, Anda harus melakukan autentikasi dengan cakupan cloud-platform.
Python
Untuk menjalankan kode ini, pertama-tama siapkan lingkungan pengembangan Python 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.
-
Nonaktif - Dalam status ini, versi secret tidak dapat diakses, tetapi konten secret masih ada. Versi secret dapat diaktifkan kembali untuk memulihkan akses.
-
Destroyed - Dalam status ini, konten versi secret akan dihapus. Versi secret tidak dapat diubah ke status lain.
Anda ditagih untuk versi secret yang diaktifkan dan dinonaktifkan. Anda tidak dikenai biaya untuk versi secret yang berstatus dihancurkan.
Langkah selanjutnya
- Pelajari cara mengakses versi secret.
- Pelajari cara menetapkan alias ke versi secret.
- Pelajari cara mencantumkan versi secret dan melihat detail versi.