Halaman ini menjelaskan cara mengakses versi rahasia. Mengakses versi secret akan menampilkan konten secret dan metadata tambahan tentang versi secret. Untuk mengakses versi secret menggunakan Google Cloud CLI atau Secret Manager API, Anda harus menentukan ID versi atau alias-nya, jika ditetapkan. Anda juga dapat mengakses versi terbaru secret dengan menentukan
latest
sebagai ID versi.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan guna mengakses versi secret,
minta administrator untuk memberi Anda
peran IAM Secret Manager Secret Accessor (roles/secretmanager.secretAccessor
) pada secret.
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.
Mengakses versi secret
Untuk mengedit secret, gunakan salah satu metode berikut:
Konsol
-
Buka halaman Secret Manager di konsol Google Cloud.
-
Di halaman Secret Manager, klik tab Regional secrets, lalu klik secret untuk mengakses versinya.
-
Di halaman detail secret, di tab Versions, pilih versi secret yang ingin Anda akses.
-
Klik menu
Actions yang terkait dengan versi secret, lalu klik View secret value. -
Dialog akan muncul dan menampilkan nilai versi secret. Klik Selesai untuk keluar dari dialog.
gcloud
Mengakses versi secret
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- VERSION_ID: nama resource versi secret
- SECRET_ID: ID secret atau ID yang memenuhi syarat sepenuhnya untuk secret
- LOCATION: Lokasi secret Google Cloud
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud secrets versions access VERSION_ID --secret=SECRET_ID --location=LOCATION
Windows (PowerShell)
gcloud secrets versions access VERSION_ID --secret=SECRET_ID --location=LOCATION
Windows (cmd.exe)
gcloud secrets versions access VERSION_ID --secret=SECRET_ID --location=LOCATION
Mengakses versi secret biner
Untuk menulis byte mentah ke file, gunakan flag --out-file:
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- VERSION_ID: ID versi secret
- SECRET_ID: ID secret atau ID yang memenuhi syarat sepenuhnya untuk secret
- LOCATION: Lokasi secret Google Cloud
- PATH_TO_SECRET: jalur lengkap (termasuk nama file) tempat Anda ingin menyimpan nilai secret yang diambil
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud secrets versions access VERSION_ID --secret=SECRET_ID --location=LOCATION --out-file="PATH_TO_SECRET"
Windows (PowerShell)
gcloud secrets versions access VERSION_ID --secret=SECRET_ID --location=LOCATION --out-file="PATH_TO_SECRET"
Windows (cmd.exe)
gcloud secrets versions access VERSION_ID --secret=SECRET_ID --location=LOCATION --out-file="PATH_TO_SECRET"
Mendapatkan byte mentah
Untuk mendapatkan byte mentah, minta Cloud SDK mencetak respons sebagai enkode base64 dan mendekodenya:
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- VERSION_ID: ID versi secret
- SECRET_ID: ID secret atau ID yang memenuhi syarat sepenuhnya untuk secret
- LOCATION: Lokasi secret Google Cloud
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud secrets versions access VERSION_ID --secret=SECRET_ID --location=LOCATION --format='get(payload.data)' | tr '_-' '/+' | base64 -d
Windows (PowerShell)
gcloud secrets versions access VERSION_ID --secret=SECRET_ID --location=LOCATION --format='get(payload.data)' | tr '_-' '/+' | base64 -d
Windows (cmd.exe)
gcloud secrets versions access VERSION_ID --secret=SECRET_ID --location=LOCATION --format='get(payload.data)' | tr '_-' '/+' | base64 -d
Responsnya berisi versi rahasia.
REST
Mengakses versi secret
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- LOCATION: Lokasi secret Google Cloud
- PROJECT_ID: project ID Google Cloud
- SECRET_ID: ID secret atau ID yang memenuhi syarat sepenuhnya untuk secret
- VERSION_ID: ID versi secret
Metode HTTP dan URL:
GET https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID:access
Isi JSON permintaan:
{}
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X GET \
-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/versions/VERSION_ID:access"
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 GET `
-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/versions/VERSION_ID:access" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID", "payload": { "data": "c2VDcjN0Cg==", "dataCrc32c": "3131222104" } }
Mengekstrak secret menggunakan alat jq
payload.data
respons adalah konten versi secret yang dienkode base64.
Perintah berikut adalah contoh ekstraksi secret menggunakan alat jq
.
$ curl "https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID:access" \
--request "GET" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
| jq -r ".payload.data" | base64 --decode
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.
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.
Konsistensi resource
Di Secret Manager, menambahkan versi secret, lalu langsung mengakses versi secret tersebut berdasarkan nomor versi adalah operasi yang sangat konsisten.
Operasi lain dalam Secret Manager pada akhirnya akan konsisten. Operasi yang konsisten pada akhirnya biasanya akan bersatu dalam beberapa menit, tetapi mungkin memerlukan beberapa jam.
Penerusan izin IAM pada akhirnya akan konsisten. Artinya, memberikan atau mencabut akses ke secret mungkin tidak langsung berlaku. Untuk mengetahui informasi selengkapnya, lihat Penerapan perubahan akses.
Langkah selanjutnya
- Menetapkan alias ke versi secret regional
- Menonaktifkan versi secret regional
- Menghancurkan versi secret regional