Visualizzare i dettagli della versione del secret

Questa pagina descrive come recuperare un elenco di tutte le diverse versioni di un secret che sono state create nel tempo e visualizzare i metadati di una versione specifica del secret.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per elencare le versioni dei secret e visualizzare i dettagli delle versioni, 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 Gestisci 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

Elencare le 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 l'audit e la conformità.

  • Puoi eseguire il rollback a una versione precedente e funzionante se un secret viene aggiornato o compromesso accidentalmente.

  • Puoi identificare le versioni non più in uso ed eliminarle in sicurezza.

  • Puoi risolvere i problemi. Ad esempio, se un'applicazione presenta problemi, puoi esaminare le versioni precedenti di un secret per verificare se la causa è una modifica al secret.

Per elencare tutte le versioni di un secret, utilizza uno dei seguenti metodi:

Console

  1. Nella console Google Cloud , vai alla pagina Secret Manager.

    Vai a Secret Manager

  2. 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

Esegui questo comando:

Linux, macOS o Cloud Shell

gcloud secrets versions list SECRET_ID

Windows (PowerShell)

gcloud secrets versions list SECRET_ID

Windows (cmd.exe)

gcloud secrets versions list SECRET_ID

La risposta contiene il secret.

REST

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • PROJECT_ID: l' Google Cloud ID progetto
  • SECRET_ID: l'ID del secret

Metodo HTTP e URL:

GET https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID/versions

Corpo JSON della richiesta:

{}

Per inviare la richiesta, scegli una di queste 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.googleapis.com/v1/projects/PROJECT_ID/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.googleapis.com/v1/projects/PROJECT_ID/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
}

C#

Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo C# e installare l'SDK C# di Secret Manager. Su Compute Engine o GKE, devi eseguire l'autenticazione con l'ambito cloud-platform.


using Google.Cloud.SecretManager.V1;

public class ListSecretVersionsSample
{
    public void ListSecretVersions(string projectId = "my-project", string secretId = "my-secret")
    {
        // Create the client.
        SecretManagerServiceClient client = SecretManagerServiceClient.Create();

        // Build the resource name.