Halaman ini menjelaskan cara mengakses versi secret. 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 , jika ditetapkan. Anda juga dapat mengakses versi secret terbaru dengan menentukan latest sebagai ID versi.
Peran yang diperlukan
Guna mendapatkan izin yang diperlukan untuk mengakses versi secret,
minta administrator untuk memberi Anda peran IAM Secret Manager Secret Accessor (roles/secretmanager.secretAccessor) di 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 Google Cloud konsol, buka halaman Secret Manager.
-
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 Done untuk keluar dari dialog.
gcloud
Mengakses versi secret
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
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
- LOCATION: lokasi Google Cloud 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 --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 berenkode base64 dan mendekode:
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
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
Respons berisi versi secret.
REST
Mengakses versi secret
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- LOCATION: lokasi Google Cloud secret
- PROJECT_ID: Project ID Google Cloud
- SECRET_ID: ID 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
Meminta isi JSON:
{}
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 berenkode base64.
Perintah berikut adalah contoh mengekstrak 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 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.
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 tertunda. Operasi yang memiliki konsistensi tertunda biasanya akan konvergen dalam beberapa menit, tetapi mungkin memerlukan waktu beberapa jam.
Penyebaran 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
- Menetapkan alias ke versi secret regional
- Menonaktifkan versi secret regional
- Menghancurkan versi secret regional