Halaman ini menjelaskan cara mengakses versi rahasia. Mengakses versi secret akan menampilkan konten secret dan metadata tambahan tentang versi secret. Untuk mengakses versi rahasia 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 mengakses secret, gunakan salah satu metode berikut:
Konsol
-
Di konsol Google Cloud , buka halaman Secret Manager.
-
Di halaman Secret Manager, klik secret untuk mengakses versinya.
-
Di halaman detail rahasia, pada tab Versi, pilih versi rahasia yang ingin Anda akses.
-
Klik menu
Tindakan yang terkait dengan versi rahasia, lalu klik Lihat nilai rahasia. -
Dialog akan muncul dan menampilkan nilai versi rahasia. 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
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud secrets versions access VERSION_ID --secret=SECRET_ID
Windows (PowerShell)
gcloud secrets versions access VERSION_ID --secret=SECRET_ID
Windows (cmd.exe)
gcloud secrets versions access VERSION_ID --secret=SECRET_ID
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
- 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 --out-file="PATH_TO_SECRET"
Windows (PowerShell)
gcloud secrets versions access VERSION_ID --secret=SECRET_ID --out-file="PATH_TO_SECRET"
Windows (cmd.exe)
gcloud secrets versions access VERSION_ID --secret=SECRET_ID --out-file="PATH_TO_SECRET"
Mendapatkan byte mentah
Untuk mendapatkan byte mentah, minta Cloud SDK mencetak respons sebagai berenkode base64 dan dekode:
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
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud secrets versions access VERSION_ID --secret=SECRET_ID --format='get(payload.data)' | tr '_-' '/+' | base64 -d
Windows (PowerShell)
gcloud secrets versions access VERSION_ID --secret=SECRET_ID --format='get(payload.data)' | tr '_-' '/+' | base64 -d
Windows (cmd.exe)
gcloud secrets versions access VERSION_ID --secret=SECRET_ID --format='get(payload.data)' | tr '_-' '/+' | base64 -d
Respons berisi versi rahasia.
REST
Mengakses versi secret
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
- VERSION_ID: ID versi secret
Metode HTTP dan URL:
GET https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/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.googleapis.com/v1/projects/PROJECT_ID/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.googleapis.com/v1/projects/PROJECT_ID/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" } }
Ekstrak secret menggunakan alat jq
Respons payload.data
adalah konten versi rahasia berenkode base64.
Perintah berikut adalah contoh mengekstrak secret menggunakan alat jq
.
$ curl "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/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
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.
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 memiliki konsistensi yang tertunda. Operasi yang pada akhirnya konsisten biasanya menyatu dalam beberapa menit, tetapi dapat memerlukan waktu beberapa jam.
Penerapan izin IAM memiliki konsistensi tertunda. Artinya, pemberian atau pencabutan akses ke secret mungkin tidak langsung berlaku. Untuk mengetahui informasi selengkapnya, lihat Penerapan perubahan akses.
Langkah berikutnya
- Pelajari cara menetapkan alias ke versi secret.
- Pelajari cara menonaktifkan versi rahasia.
- Pelajari cara menghancurkan versi rahasia.