Halaman ini menjelaskan cara menetapkan tanggal habis masa berlaku untuk secret baru atau yang sudah ada, mengubah tanggal habis masa berlaku secret yang sudah ada, dan menghapus tanggal habis masa berlaku yang ditetapkan sebelumnya dari secret.
Ringkasan
Secara default, secret yang disimpan di Secret Manager akan ada hingga pengguna menghapusnya. Jika secret hanya boleh disimpan selama jangka waktu tertentu yang diketahui, Anda dapat melampirkan waktu habis masa berlaku ke secret tersebut. Pada waktu habis masa berlaku yang dikonfigurasi, secret akan otomatis dihapus.
Jika Anda tidak memiliki persyaratan bahwa secret harus dihapus, sebaiknya gunakan Kondisi IAM atau status versi Nonaktif untuk mencabut akses dengan aman.
Anda dapat memasukkan waktu habis masa berlaku sebagai stempel waktu atau durasi. Saat metadata secret diambil, masa berlakunya selalu ditampilkan sebagai stempel waktu, terlepas dari cara pemberiannya.
Masa berlaku dapat ditambahkan, diperbarui, atau dihapus dari secret kapan saja.
Batasan
-
Masa berlaku secret tidak boleh kurang dari 60 detik atau lebih dari 100 tahun.
Menggunakan secret yang akan habis masa berlakunya dengan aman
Saat masa berlakunya habis di Secret Manager, secret akan dihapus secara permanen. Cara terbaik untuk mendeteksi secret yang akan segera berakhir masa berlakunya adalah dengan menggunakan IAM Conditions untuk menghapus izin dari akun yang menggunakan secret sebelum masa berlakunya berakhir.
Untuk mengelola akses ke secret secara efektif, tetapkan kondisi berbasis waktu pada izin yang diberikan.
-
Menetapkan tanggal habis masa berlaku: Izin akan segera berakhir sebelum secret itu sendiri ditetapkan untuk berakhir masa berlakunya. Hal ini memungkinkan Anda mengidentifikasi alur kerja atau proses yang mungkin masih menggunakan secret secara tidak terduga.
-
Pantau gangguan: Jika alur kerja berhenti berfungsi setelah izin dicabut, Anda dapat dengan cepat memulihkan akses untuk meminimalkan dampak apa pun.
-
Sesuaikan sesuai kebutuhan: Jika Anda merasa memerlukan lebih banyak waktu, Anda dapat memperpanjang tanggal habis masa berlaku secret atau bahkan menghapusnya sepenuhnya jika tidak diperlukan lagi.
Selain itu, Anda dapat membuat pemberitahuan berdasarkan log yang memperingatkan secret yang masa berlakunya akan segera berakhir. Untuk mengetahui informasinya, lihat bagian Logging masa berlaku dalam dokumen ini.
Menentukan stempel waktu dan durasi
-
Nilai stempel waktu harus diformat sebagai RFC 3339, misalnya
2100-01-01T09:00:00-05:00
. -
Nilai durasi harus diformat sebagai jumlah detik termasuk akhiran s, misalnya
86400s
.
Menetapkan tanggal habis masa berlaku secret
Anda dapat menetapkan tanggal dan waktu habis masa berlaku pada secret menggunakan konsol Google Cloud, Google Cloud CLI, atau Secret Manager API.
Konsol
-
Buka halaman Secret Manager di konsol Google Cloud.
-
Di halaman Secret Manager, klik tab Regional secret, lalu klik Create regional secret.
-
Di halaman Buat secret regional, masukkan nama untuk secret di kolom Nama.
-
Masukkan nilai untuk secret (misalnya,
abcd1234
). Anda juga dapat mengupload file teks yang berisi nilai secret menggunakan opsi Upload file. Tindakan ini akan otomatis membuat versi secret. -
Pilih lokasi penyimpanan secret regional dari daftar Region.
-
Buka Akhir masa berlaku, lalu centang kotak Tetapkan tanggal akhir masa berlaku.
-
Masukkan tanggal dan waktu habis masa berlaku dalam format Bulan/Hari/Tahun, Jam:Menit AM/PM, misalnya,
7/31/20, 1:00 AM
. Anda juga dapat menggunakan pemilih tanggal dan waktu untuk memasukkan tanggal dan waktu habis masa berlaku. -
Klik Buat secret.
gcloud
Membuat secret yang akan berakhir masa berlakunya menggunakan stempel waktu
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- SECRET_ID: ID secret atau ID yang memenuhi syarat sepenuhnya untuk secret
- LOCATION: Lokasi secret Google Cloud
- TIMESTAMP: waktu habis masa berlaku dalam format RFC 3339, misalnya
2100-01-01T09:00:00-05:00
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud secrets create SECRET_ID --location=LOCATION \ --expire-time "TIMESTAMP"
Windows (PowerShell)
gcloud secrets create SECRET_ID --location=LOCATION ` --expire-time "TIMESTAMP"
Windows (cmd.exe)
gcloud secrets create SECRET_ID --location=LOCATION ^ --expire-time "TIMESTAMP"
Membuat secret yang akan berakhir masa berlakunya menggunakan durasi
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- SECRET_ID: ID secret atau ID yang memenuhi syarat sepenuhnya untuk secret
- LOCATION: Lokasi secret Google Cloud
- DURATION: durasi habis masa berlaku dalam detik, misalnya
86400s
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud secrets create SECRET_ID --location=LOCATION \ --ttl "DURATION"
Windows (PowerShell)
gcloud secrets create SECRET_ID --location=LOCATION ` --ttl "DURATION"
Windows (cmd.exe)
gcloud secrets create SECRET_ID --location=LOCATION ^ --ttl "DURATION"
REST
Membuat secret yang akan berakhir masa berlakunya menggunakan stempel waktu
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
- TIMESTAMP: waktu habis masa berlaku dalam format RFC 3339, misalnya
2100-01-01T09:00:00-05:00
Metode HTTP dan URL:
POST https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/$PROJECT_ID/locations/LOCATION/secrets?secretId=$SECRET_ID
Isi JSON permintaan:
{"expire_time": "TIMESTAMP"}
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?secretId=$SECRET_ID"
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?secretId=$SECRET_ID" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID", "createTime": "2024-09-04T03:58:38.200877Z", "expireTime": "2024-09-04T09:25:39Z", "etag": "\"162143305d282d\"" }
Membuat secret yang akan berakhir masa berlakunya menggunakan durasi
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
- DURATION: durasi habis masa berlaku dalam detik, misalnya
86400s
Metode HTTP dan URL:
POST https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets?secretId=SECRET_ID
Isi JSON permintaan:
{"ttl": "DURATION"}
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?secretId=SECRET_ID"
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?secretId=SECRET_ID" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID", "createTime": "2024-09-04T03:58:38.200877Z", "expireTime": "2024-09-04T09:25:39Z", "etag": "\"162143305d282d\"" }
Memperbarui tanggal habis masa berlaku secret
Untuk memperbarui tanggal dan waktu habis masa berlaku secret, gunakan salah satu metode berikut:
Konsol
-
Buka halaman Secret Manager di konsol Google Cloud.
-
Di halaman Secret Manager, klik tab Regional secrets.
-
Untuk mengedit secret, temukan secret dalam daftar, lalu klik menu
Actions yang terkait dengan secret tersebut. Di menu Tindakan, klik Edit. -
Buka bagian Masa Berlaku. Perbarui tanggal dan waktu habis masa berlaku, lalu klik Perbarui secret.
gcloud
Memperbarui masa berlaku secret menggunakan stempel waktu
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- SECRET_ID: ID secret atau ID yang memenuhi syarat sepenuhnya untuk secret
- LOCATION: Region Google Cloud tempat Anda menyimpan data rahasia
- TIMESTAMP: waktu habis masa berlaku dalam format RFC 3339, misalnya
2100-01-01T09:00:00-05:00
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud secrets update SECRET_ID --location=LOCATION \ --expire-time "TIMESTAMP"
Windows (PowerShell)
gcloud secrets update SECRET_ID --location=LOCATION ` --expire-time "TIMESTAMP"
Windows (cmd.exe)
gcloud secrets update SECRET_ID --location=LOCATION ^ --expire-time "TIMESTAMP"
Memperbarui masa berlaku secret menggunakan durasi
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- SECRET_ID: ID secret atau ID yang memenuhi syarat sepenuhnya untuk secret
- LOCATION: Lokasi secret Google Cloud
- DURATION: durasi habis masa berlaku dalam detik, misalnya
86400s
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud secrets update SECRET_ID --location=LOCATION \ --ttl "DURATION"
Windows (PowerShell)
gcloud secrets update SECRET_ID --location=LOCATION ` --ttl "DURATION"
Windows (cmd.exe)
gcloud secrets update SECRET_ID --location=LOCATION ^ --ttl "DURATION"
REST
Memperbarui masa berlaku secret menggunakan stempel waktu
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
- TOKEN: token akses Oauth2.0 Anda sendiri
- TIMESTAMP: waktu habis masa berlaku dalam format RFC 3339, misalnya
2100-01-01T09:00:00-05:00
Metode HTTP dan URL:
PATCH https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=expire_time
Isi JSON permintaan:
{"expire_time": "TIMESTAMP"}
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
lalu jalankan perintah berikut:
curl -X PATCH \
-H "Authorization: Bearer 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?updateMask=expire_time"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
lalu jalankan perintah berikut:
$headers = @{ "Authorization" = "Bearer TOKEN" }
Invoke-WebRequest `
-Method PATCH `
-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?updateMask=expire_time" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID", "createTime": "2024-09-04T03:58:38.200877Z", "expireTime": "2024-09-04T09:25:39Z", "etag": "\"162143305d282d\"" }
Memperbarui masa berlaku secret menggunakan durasi
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
- DURATION: durasi habis masa berlaku dalam detik, misalnya
86400s
Metode HTTP dan URL:
PATCH https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=ttl
Isi JSON permintaan:
{"ttl": "DURATION"}
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
lalu jalankan perintah berikut:
curl -X PATCH \
-H "Authorization: Bearer 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?updateMask=ttl"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
lalu jalankan perintah berikut:
$headers = @{ "Authorization" = "Bearer TOKEN" }
Invoke-WebRequest `
-Method PATCH `
-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?updateMask=ttl" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID", "createTime": "2024-09-04T03:58:38.200877Z", "expireTime": "2024-09-04T09:25:39Z", "etag": "\"162143305d282d\"" }
Menghapus tanggal habis masa berlaku secret
Untuk menghapus tanggal dan waktu habis masa berlaku secret, gunakan salah satu metode berikut:
Konsol
-
Buka halaman Secret Manager di konsol Google Cloud.
-
Di halaman Secret Manager, klik tab Regional secrets.
-
Untuk mengedit secret, temukan secret dalam daftar, lalu klik menu
Actions yang terkait dengan secret tersebut. Di menu Tindakan, klik Edit. -
Buka bagian Masa Berlaku. Hapus centang pada kotak Set expiration date, lalu klik Update secret.
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- 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 update SECRET_ID --location=LOCATION \ --remove-expiration
Windows (PowerShell)
gcloud secrets update SECRET_ID --location=LOCATION ` --remove-expiration
Windows (cmd.exe)
gcloud secrets update SECRET_ID --location=LOCATION ^ --remove-expiration
REST
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
- TOKEN: token akses Oauth2.0 Anda sendiri
Metode HTTP dan URL:
PATCH https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=ttl
Isi JSON permintaan:
{}
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
lalu jalankan perintah berikut:
curl -X PATCH \
-H "Authorization: Bearer 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?updateMask=ttl"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
lalu jalankan perintah berikut:
$headers = @{ "Authorization" = "Bearer TOKEN" }
Invoke-WebRequest `
-Method PATCH `
-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?updateMask=ttl" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID", "createTime": "2024-09-04T03:58:38.200877Z", "etag": "\"162143305d282d\"" }
Logging masa berlaku
Cloud Audit Logs tidak dibuat saat masa berlaku secret berakhir secara otomatis. Sebagai gantinya, Secret Manager menulis log ke resource Secret Secret Manager pada interval tertentu yang mengarah ke masa berlaku secret.
Pengaturan Waktu Log | Jenis Peristiwa Rahasia |
---|---|
30 hari sebelum habis masa berlaku | EXPIRES_IN_30_DAYS |
7 hari sebelum habis masa berlaku | EXPIRES_IN_7_DAYS |
1 hari sebelum habis masa berlaku | EXPIRES_IN_1_DAY |
6 jam sebelum habis masa berlaku | EXPIRES_IN_6_HOURS |
1 jam sebelum habis masa berlaku | EXPIRES_IN_1_HOUR |
saat habis masa berlaku | EXPIRED |
Lihat Panduan Memulai Logging untuk mengetahui informasi tentang cara melihat log ini. Anda dapat membuat metrik berbasis log dan menggunakannya untuk membuat pemberitahuan terkait masa berlaku yang akan berakhir.