Questa pagina descrive come recuperare un elenco di tutte le diverse versioni di un segreto create nel tempo e visualizzare i metadati di una versione specifica del segreto.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per elencare le versioni dei secret e visualizzarne i dettagli,
chiedi all'amministratore di concederti il ruolo IAM Visualizzatore Secret Manager (roles/secretmanager.viewer
) per il secret, il progetto, la cartella o l'organizzazione.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Elenca le versioni di un secret
L'elenco delle versioni di un secret è utile nei seguenti modi:
-
Puoi vedere come è cambiato un segreto nel tempo, chi ha apportato le modifiche e quando. Questo è necessario per i controlli e la conformità.
-
Puoi eseguire il rollback a una versione precedente nota come valida se un segreto viene aggiornato o compromesso per errore.
-
Puoi identificare le versioni non più in uso che possono essere eliminate in sicurezza.
-
Puoi risolvere i problemi. Ad esempio, se un'applicazione presenta problemi, puoi esaminare le versioni precedenti di un segreto per capire se la causa è una modifica al segreto.
Per elencare tutte le versioni di un secret, utilizza uno dei seguenti metodi:
Console
-
Vai alla pagina Secret Manager nella console Google Cloud.
-
Nella pagina Secret Manager, fai clic sulla scheda Secret regionali.
-
Fai clic su un secret per accedere alle relative versioni.
Le versioni appartenenti al secret vengono visualizzate nella tabella Versioni.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- SECRET_ID: l'ID del secret o l'identificatore completo del secret.
- LOCATION: la località di Google Cloud del segreto
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud secrets versions list SECRET_ID --location=LOCATION
Windows (PowerShell)
gcloud secrets versions list SECRET_ID --location=LOCATION
Windows (cmd.exe)
gcloud secrets versions list SECRET_ID --location=LOCATION
La risposta contiene il secret.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION: la località di Google Cloud del segreto
- PROJECT_ID: l'ID progetto Google Cloud
- SECRET_ID: l'ID della secret o l'identificatore completo della secret
Metodo HTTP e URL:
GET https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions
Corpo JSON della richiesta:
{}
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
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"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$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" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{ "versions": [ { "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID", "createTime": "2024-09-04T06:41:57.859674Z", "state": "ENABLED", "etag": "\"1621457b3c1459\"" } ], "totalSize": 1 }
Go
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Go e installare l'SDK Go di Secret Manager. Su Compute Engine o GKE, devi autenticarti con l'ambito cloud-platform.
Java
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Java e installare l'SDK Java di Secret Manager. Su Compute Engine o GKE, devi autenticarti con l'ambito cloud-platform.
Node.js
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Node.js e installare l'SDK Node.js di Secret Manager. Su Compute Engine o GKE, devi autenticarti con l'ambito cloud-platform.
Python
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Python e installare l'SDK Python di Secret Manager. Su Compute Engine o GKE, devi autenticarti con l'ambito cloud-platform.
Visualizzare i dettagli di una versione del secret
Questa procedura ti consente di visualizzare i metadati di una versione del secret, ad esempio l'ID versione, la data e l'ora di creazione, i dettagli della crittografia e lo stato. La visualizzazione dei metadati di una versione del secret consente di accedere alle informazioni sulla versione del secret, ma non al valore effettivo del secret. Per visualizzare il valore del secret, consulta Accedere a una versione del secret regionale.
Per visualizzare i metadati di una versione segreta, utilizza uno dei seguenti metodi:
Console
-
Vai alla pagina Secret Manager nella console Google Cloud.
-
Nella pagina Secret Manager, fai clic sulla scheda Secret regionali.
-
Fai clic su un secret per accedere alle relative versioni.
Le versioni appartenenti al secret vengono visualizzate nella tabella Versioni. Per ogni versione, nella tabella vengono visualizzati anche l'ID versione e i relativi metadati.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- VERSION_ID: l'ID della versione del secret
- SECRET_ID: l'ID del secret o l'identificatore completo del secret.
- LOCATION: la località di Google Cloud del segreto
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud secrets versions describe VERSION_ID --secret=SECRET_ID --location=LOCATION
Windows (PowerShell)
gcloud secrets versions describe VERSION_ID --secret=SECRET_ID --location=LOCATION
Windows (cmd.exe)
gcloud secrets versions describe VERSION_ID --secret=SECRET_ID --location=LOCATION
La risposta contiene il secret.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION: la località di Google Cloud del segreto
- PROJECT_ID: l'ID progetto Google Cloud
- SECRET_ID: l'ID del segreto o l'identificatore completo del segreto
- VERSION_ID: l'ID della versione del secret
Metodo HTTP e URL:
GET https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID
Corpo JSON della richiesta:
{}
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
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"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$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" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID", "createTime": "2024-09-04T06:41:57.859674Z", "state": "ENABLED", "etag": "\"1621457b3c1459\"" }
Go
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Go e installare l'SDK Go di Secret Manager. Su Compute Engine o GKE, devi autenticarti con l'ambito cloud-platform.
Java
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Java e installare l'SDK Java di Secret Manager. Su Compute Engine o GKE, devi autenticarti con l'ambito cloud-platform.
Node.js
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Node.js e installare l'SDK Node.js di Secret Manager. Su Compute Engine o GKE, devi autenticarti con l'ambito cloud-platform.
Python
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Python e installare l'SDK Python di Secret Manager. Su Compute Engine o GKE, devi autenticarti con l'ambito cloud-platform.