Questo argomento descrive come accedere a una versione del secret. L'accesso a una versione del secret
restituisce i contenuti del secret e metadati aggiuntivi sulla versione
del secret. Quando accedi a una versione del secret, specifica il relativo version-id
o alias, se assegnato. Puoi anche accedere all'ultima versione di un segreto specificando "latest"
come versione.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per accedere a una versione di un secret,
chiedi all'amministratore di concederti il ruolo IAM Funzione di accesso ai secret di Secret Manager (roles/secretmanager.secretAccessor
) per un secret.
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.
Accedere a una versione del secret
Console
-
Vai alla pagina Secret Manager nella console Google Cloud.
-
Nella pagina Secret Manager, fai clic sul nome di un secret.
-
Nella tabella Versioni della pagina Dettagli secret, individua una versione del secret a cui vuoi accedere.
-
Nella colonna Azioni, fai clic su Mostra altro
. -
Fai clic su Visualizza valore secret nel menu.
-
Viene visualizzata una finestra di dialogo che mostra il valore della versione del secret. Fai clic su Fine per terminare.
gcloud
Per utilizzare Secret Manager sulla riga di comando, installa o esegui l'upgrade alla versione 378.0.0 o successiva di Google Cloud CLI. Su Compute Engine o GKE, devi autenticarti con l'ambito cloud-platform.
Accedi a una versione del secret:
$ gcloud secrets versions access version-id --secret="secret-id"
Per accedere a una versione del secret binaria:
Per scrivere byte non elaborati in un file, utilizza il flag --out-file:
$ gcloud secrets versions access version-id --secret="secret-id" --out-file="path/to/secret"
Per ottenere i byte non elaborati, chiedi a Cloud SDK di stampare la risposta codificata in base64 e decodificarla:
$ gcloud secrets versions access version-id --secret="secret-id" --format='get(payload.data)' | tr '_-' '/+' | base64 -d
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 autenticarti con l'ambito cloud-platform.
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.
PHP
Per eseguire questo codice, devi innanzitutto scoprire come utilizzare PHP su Google Cloud e installare l'SDK PHP 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.
Ruby
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Ruby e installare l'SDK Ruby di Secret Manager. Su Compute Engine o GKE, devi autenticarti con l'ambito cloud-platform.
API
Questi esempi utilizzano curl per dimostrare l'utilizzo dell'API. Puoi generare token di accesso con gcloud auth print-access-token. Su Compute Engine o GKE, devi autenticarti con l'ambito cloud-platform.
$ 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"
La risposta payload.data
è costituita dai contenuti codificati in base64 della versione del secret. Ecco un esempio di estrazione del segreto utilizzando lo strumento 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
Coerenza delle risorse
In Secret Manager, l'aggiunta di una versione del secret e l'accesso immediato a questa versione tramite il numero di versione è un'operazione fortemente coerente.
Le altre operazioni in Secret Manager sono a coerenza finale. In genere le operazioni eventualmente coerenti convergono entro pochi minuti, ma potrebbero essere necessarie alcune ore.
La propagazione delle autorizzazioni IAM è a coerenza finale. Ciò significa che la concessione o la revoca dell'accesso ai secret potrebbe non avere effetto immediato. Per scoprire di più, consulta la sezione Propagazione della modifica di accesso.
Passaggi successivi
- Scopri come assegnare un alias a una versione del secret.
- Scopri come disattivare una versione del secret.
- Scopri come distruggere una versione del secret.