Questa pagina descrive come gestire l'accesso a un segreto regionale, incluso il materiale segreto. Per scoprire di più sui controlli di accesso e sulle autorizzazioni, consulta Controllo dell'accesso con IAM.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire l'accesso ai secret,
chiedi all'amministratore di concederti il ruolo IAM Amministratore Secret Manager (roles/secretmanager.admin
) 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.
Concedi l'accesso
Per concedere l'accesso a un segreto, utilizza uno dei seguenti metodi:
Console
-
Vai alla pagina Secret Manager nella console Google Cloud.
-
Vai alla scheda Secret regionali. Per selezionare un segreto, fai clic sulla casella di controllo accanto al nome del segreto.
-
Se non è già aperto, fai clic su Mostra riquadro informazioni per aprirlo.
-
Nel riquadro delle informazioni, fai clic su Aggiungi entità.
-
Nel campo Nuovi principali, inserisci gli indirizzi email dei membri da aggiungere.
-
Nell'elenco Seleziona un ruolo, scegli Secret Manager e poi Accesso ai segreti di Secret Manager.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- SECRET_ID: l'ID del segreto o l'identificatore completo del segreto
- LOCATION: la località di Google Cloud del segreto
- MEMBER: il membro IAM, ad esempio un utente, un gruppo o un account di servizio
Esegui il seguente comando:
Linux, macOS o Cloud Shell
ggcloud secrets add-iam-policy-binding SECRET_ID --location=LOCATION \ --member="MEMBER" \ --role="roles/secretmanager.secretAccessor"
Windows (PowerShell)
ggcloud secrets add-iam-policy-binding SECRET_ID --location=LOCATION ` --member="MEMBER" ` --role="roles/secretmanager.secretAccessor"
Windows (cmd.exe)
ggcloud secrets add-iam-policy-binding SECRET_ID --location=LOCATION ^ --member="MEMBER" ^ --role="roles/secretmanager.secretAccessor"
REST
Nota: a differenza degli altri esempi, questo sostituisce l'intero criterio IAM.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION: la località di Google Cloud del segreto
- PROJECT_ID: il progetto Google Cloud che contiene il segreto
- SECRET_ID: l'ID del segreto o l'identificatore completo del segreto
- MEMBER: il membro IAM, ad esempio un utente, un gruppo o un account di servizio
Metodo HTTP e URL:
POST https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID:setIamPolicy
Corpo JSON della richiesta:
{"policy": {"bindings": [{"members": ["MEMBER"], "role": "roles/secretmanager.secretAccessor"}]}}
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 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/SECRET_ID:setIamPolicy"
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 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/SECRET_ID:setIamPolicy" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{ "version": 1, "etag": "BwYhOrAmWFQ=", "bindings": [ { "role": "roles/secretmanager.secretAccessor", "members": [ "user:username@google.com" ] } ] }
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.
Revoca l'accesso
Per revocare l'accesso da un segreto, utilizza uno dei seguenti metodi:
Console
-
Vai alla pagina Secret Manager nella console Google Cloud.
-
Vai alla scheda Secret regionali. Per selezionare un segreto, fai clic sulla casella di controllo accanto al nome del segreto.
-
Se non è già aperto, fai clic su Mostra riquadro informazioni per aprirlo.
-
Nel riquadro delle informazioni, fai clic sulla freccia di espansione accanto al ruolo utente per visualizzare un elenco degli utenti o degli account di servizio con accesso a quel ruolo.
-
Per rimuovere l'utente o l'account di servizio, fai clic su
Elimina accanto all'account di servizio o all'ID utente. -
Nella finestra di dialogo di conferma visualizzata, fai clic su Rimuovi.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- SECRET_ID: l'ID del segreto o l'identificatore completo del segreto
- LOCATION: la località di Google Cloud del segreto
- MEMBER: il membro IAM, ad esempio un utente, un gruppo o un account di servizio
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud secrets remove-iam-policy-binding SECRET_ID --location=LOCATION \ --member="MEMBER" \ --role="roles/secretmanager.secretAccessor"
Windows (PowerShell)
gcloud secrets remove-iam-policy-binding SECRET_ID --location=LOCATION ` --member="MEMBER" ` --role="roles/secretmanager.secretAccessor"
Windows (cmd.exe)
gcloud secrets remove-iam-policy-binding SECRET_ID --location=LOCATION ^ --member="MEMBER" ^ --role="roles/secretmanager.secretAccessor"
REST
Nota: a differenza degli altri esempi, questo sostituisce l'intero criterio IAM.
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
Metodo HTTP e URL:
POST https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID:setIamPolicy
Corpo JSON della richiesta:
{"policy": {"bindings": []}}
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 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/SECRET_ID:setIamPolicy"
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 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/SECRET_ID:setIamPolicy" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{ "version": 1, "etag": "BwYhOtzsOBk=" }
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.
Passaggi successivi
- Impostare la data di scadenza per un secret regionale
- Creare pianificazioni della rotazione
- Configurare le notifiche su un secret regionale