Questa pagina descrive come concedere, modificare e revocare l'accesso di un'entità a un singolo account di servizio. Per gestire l'accesso di un'entità a tutti gli account di servizio di un progetto, una cartella o un'organizzazione, gestisci il suo accesso a livello di progetto, cartella o organizzazione.
In Identity and Access Management (IAM), l'accesso viene gestito attraverso i criteri di autorizzazione, noti anche come criteri IAM. Un criterio di autorizzazione è associato a una risorsa Google Cloud. Ogni criterio di autorizzazione contiene una raccolta di associazioni di ruoli che associano una o più entità, ad esempio utenti o account di servizio, a un ruolo IAM. Le associazioni di ruoli concedono i ruoli specificati alle entità, sia nella risorsa a cui è associato il criterio di autorizzazione sia in tutti i discendenti della risorsa. Per scoprire di più sui criteri di autorizzazione, consulta la pagina Informazioni sui criteri di autorizzazione.
Gli account di servizio sono risorse a cui è possibile concedere l'accesso ad altre entità e entità a cui è possibile concedere l'accesso ad altre risorse. In questa pagina gli account di servizio vengono trattati come risorse e viene descritto come concedere l'accesso alle altre entità. Per scoprire come concedere a un account di servizio l'accesso ad altre risorse, consulta queste guide:
- Per concedere a un account di servizio l'accesso a un progetto, una cartella o un'organizzazione, consulta Gestione dell'accesso a progetti, cartelle e organizzazioni.
- Per concedere a un account di servizio l'accesso ad altre risorse, consulta la pagina Gestire l'accesso ad altre risorse.
Questa pagina descrive come gestire l'accesso agli account di servizio utilizzando la console Google Cloud, Google Cloud CLI e l'API REST. Puoi anche gestire l'accesso utilizzando le librerie client IAM.
Prima di iniziare
Attiva IAM API.
Scopri di più sugli account di servizio.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire l'accesso a un account di servizio, chiedi all'amministratore di concederti il ruolo IAM Amministratore account di servizio (roles/iam.serviceAccountAdmin
) nell'account di servizio o nel progetto proprietario dell'account di servizio.
Per saperne di più sulla concessione dei ruoli, vedi Gestire l'accesso.
Questo ruolo predefinito contiene le autorizzazioni necessarie per gestire l'accesso a un account di servizio. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per gestire l'accesso a un account di servizio, sono necessarie le seguenti autorizzazioni:
-
iam.serviceAccounts.get
-
iam.serviceAccounts.list
-
iam.serviceAccounts.getIamPolicy
-
iam.serviceAccounts.setIamPolicy
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Visualizza accesso attuale
La sezione seguente mostra come utilizzare la console Google Cloud, l'interfaccia a riga di comando gcloud CLI'API REST per visualizzare chi ha accesso a un account di servizio. Puoi anche visualizzare l'accesso utilizzando le librerie client IAM per ottenere i criteri di autorizzazione dell'account di servizio.
Console
Nella console Google Cloud, vai alla pagina Account di servizio.
Seleziona un progetto.
Fai clic sull'indirizzo email dell'account di servizio.
Vai alla scheda Autorizzazioni. La sezione Entità con accesso a questo account di servizio elenca tutte le entità a cui è stato concesso un ruolo nell'account di servizio.
Questo elenco include le entità il cui accesso proviene da ruoli concessi nelle risorse padre. Per maggiori informazioni sull'ereditarietà dei criteri, vedi Eredità dei criteri e gerarchia delle risorse.
(Facoltativo) Per visualizzare le concessioni di ruoli per gli account di servizio gestiti da Google, seleziona la casella di controllo Includi concessioni di ruoli fornite da Google.
gcloud
Per visualizzare chi ha accesso all'account di servizio, recupera i criteri di autorizzazione per l'account. Per scoprire come interpretare i criteri di autorizzazione, consulta Comprendere i criteri di autorizzazione.
Per ottenere il criterio di autorizzazione per l'account di servizio, esegui il comando get-iam-policy
per l'account di servizio:
gcloud iam service-accounts get-iam-policy SA_ID --format=FORMAT > PATH
Fornisci i seguenti valori:
SA_ID
: l'ID del tuo account di servizio. Può essere l'indirizzo email dell'account di servizio nel moduloSA_NAME@PROJECT_ID.iam.gserviceaccount.com
o l'ID numerico univoco dell'account di servizio.FORMAT
: il formato desiderato per il criterio. Utilizzajson
oyaml
.PATH
: il percorso di un nuovo file di output per il criterio.
Ad esempio, il seguente comando ottiene il criterio per l'account di servizio my-service-account
e lo salva nella directory home in formato JSON:
gcloud iam service-accounts get-iam-policy my-service-account --format json > ~/policy.json
REST
Per visualizzare chi ha accesso all'account di servizio, recupera i criteri di autorizzazione per l'account. Per scoprire come interpretare i criteri di autorizzazione, consulta Comprendere i criteri di autorizzazione.
Il metodo
serviceAccounts.getIamPolicy
riceve il criterio di autorizzazione di un account di servizio.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_ID
: l'ID del tuo progetto Google Cloud. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
.SA_ID
: l'ID del tuo account di servizio. Può essere l'indirizzo email dell'account di servizio nel moduloSA_NAME@PROJECT_ID.iam.gserviceaccount.com
o l'ID numerico univoco dell'account di servizio.POLICY_VERSION
: la versione del criterio da ripristinare. Le richieste devono specificare la versione del criterio più recente, ovvero la versione del criterio 3. Per maggiori dettagli, consulta Specificare la versione di un criterio quando si riceve un criterio.
Metodo e URL HTTP:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID:getIamPolicy
Corpo JSON richiesta:
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }
Per inviare la richiesta, espandi una delle seguenti opzioni:
La risposta contiene il criterio di autorizzazione dell'account di servizio. Ecco alcuni esempi:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:admin@example.com" ] } ] }
Concedere o revocare un singolo ruolo
Puoi utilizzare la console Google Cloud e gcloud CLI per concedere o revocare rapidamente un singolo ruolo per una singola entità, senza modificare direttamente il criterio di autorizzazione dell'account di servizio. I tipi di entità comuni includono Account Google, account di servizio, gruppi Google e domini. Per un elenco di tutti i tipi di entità, consulta Concetti relativi all'identità.
Se hai bisogno di aiuto per identificare il ruolo predefinito più appropriato, consulta Scegliere ruoli predefiniti.
Assegnare un singolo ruolo
Per concedere un singolo ruolo a un'entità:
Console
Nella console Google Cloud, vai alla pagina Account di servizio.
Seleziona un progetto.
Fai clic sull'indirizzo email dell'account di servizio.
Vai alla scheda Autorizzazioni e individua la sezione Entità con accesso a questo account di servizio.
Seleziona un'entità a cui concedere un ruolo:
Per concedere un ruolo a un'entità con altri ruoli già presenti nell'account di servizio, trova una riga contenente l'entità, quindi fai clic su
Modifica entità nella riga e fai clic su Aggiungi un altro ruolo.Se vuoi concedere un ruolo a un account di servizio gestito da Google, devi selezionare la casella di controllo Includi concessioni di ruoli fornite da Google per visualizzarne l'indirizzo email.
Per concedere un ruolo a un'entità che non ha ruoli esistenti nell'account di servizio, fai clic su
Concedi l'accesso, quindi inserisci l'indirizzo email del cliente o un altro identificatore.
Seleziona un ruolo da concedere dall'elenco a discesa. Per le best practice di sicurezza, scegli un ruolo che includa solo le autorizzazioni necessarie.
(Facoltativo) Aggiungi una condizione al ruolo.
Fai clic su Salva. All'entità viene concesso il ruolo sull'account di servizio.
gcloud
Per concedere rapidamente un ruolo a un'entità, esegui il comando add-iam-policy-binding
:
gcloud iam service-accounts add-iam-policy-binding SA_ID \ --member=PRINCIPAL --role=ROLE_NAME \ --condition=CONDITION
Fornisci i seguenti valori:
SA_ID
: l'ID del tuo account di servizio. Può essere l'indirizzo email dell'account di servizio nel moduloSA_NAME@PROJECT_ID.iam.gserviceaccount.com
o l'ID numerico univoco dell'account di servizio.PRINCIPAL
: un identificatore per l'entità o il membro, in genere nel seguente formato:PRINCIPAL-TYPE:ID
. Ad esempio,user:my-user@example.com
. Per un elenco completo dei valori chePRINCIPAL
può avere, consulta il riferimento sull'associazione dei criteri.Per il tipo di entità
user
, il nome di dominio nell'identificatore deve essere un dominio Google Workspace o un dominio Cloud Identity. Per scoprire come configurare un dominio Cloud Identity, consulta la panoramica di Cloud Identity.ROLE_NAME
: il nome del ruolo che vuoi concedere. Utilizza uno dei seguenti formati:- Ruoli predefiniti:
roles/SERVICE.IDENTIFIER
- Ruoli personalizzati a livello di progetto:
projects/PROJECT_ID/roles/IDENTIFIER
- Ruoli personalizzati a livello di organizzazione:
organizations/ORG_ID/roles/IDENTIFIER
Per un elenco dei ruoli predefiniti, consulta Informazioni sui ruoli.
- Ruoli predefiniti:
CONDITION
: facoltativo. La condizione da aggiungere all'associazione dei ruoli. Per ulteriori informazioni sulle condizioni, consulta la panoramica delle condizioni.
Ad esempio, per concedere il ruolo Utente account di servizio all'utente my-user@example.com
per l'account di servizio my-service-account@my-project.iam.gserviceaccount.com
:
gcloud iam service-accounts add-iam-policy-binding my-service-account@my-project.iam.gserviceaccount.com \ --member=user:my-user@example.com --role=roles/iam.serviceAccountUser
Revocare un singolo ruolo
Per revocare un singolo ruolo da un'entità, segui questi passaggi:
Console
Nella console Google Cloud, vai alla pagina Account di servizio.
Seleziona un progetto.
Fai clic sull'indirizzo email dell'account di servizio.
Vai alla scheda Autorizzazioni e individua la sezione Entità con accesso a questo account di servizio.
Trova la riga con l'indirizzo email dell'entità di cui vuoi revocare l'accesso. Quindi, fai clic su
Modifica entità in quella riga.Fai clic sul pulsante Elimina
in corrispondenza del ruolo che vuoi revocare, quindi fai clic su Salva.
gcloud
Per revocare rapidamente un ruolo di un utente, esegui il comando remove-iam-policy-binding
:
gcloud iam service-accounts remove-iam-policy-binding SA_ID \ --member=PRINCIPAL --role=ROLE_NAME
Fornisci i seguenti valori:
SA_ID
: l'ID del tuo account di servizio. Può essere l'indirizzo email dell'account di servizio nel moduloSA_NAME@PROJECT_ID.iam.gserviceaccount.com
o l'ID numerico univoco dell'account di servizio.PRINCIPAL
: un identificatore per l'entità o il membro, in genere nel seguente formato:PRINCIPAL-TYPE:ID
. Ad esempio,user:my-user@example.com
. Per un elenco completo dei valori chePRINCIPAL
può avere, consulta il riferimento sull'associazione dei criteri.Per il tipo di entità
user
, il nome di dominio nell'identificatore deve essere un dominio Google Workspace o un dominio Cloud Identity. Per scoprire come configurare un dominio Cloud Identity, consulta la panoramica di Cloud Identity.ROLE_NAME
: il nome del ruolo da revocare. Utilizza uno dei seguenti formati:- Ruoli predefiniti:
roles/SERVICE.IDENTIFIER
- Ruoli personalizzati a livello di progetto:
projects/PROJECT_ID/roles/IDENTIFIER
- Ruoli personalizzati a livello di organizzazione:
organizations/ORG_ID/roles/IDENTIFIER
Per un elenco dei ruoli predefiniti, consulta Informazioni sui ruoli.
- Ruoli predefiniti:
Ad esempio, per revocare il ruolo Utente account di servizio all'utente my-user@example.com
per l'account di servizio my-service-account@my-project.iam.gserviceaccount.com
:
gcloud iam service-accounts remove-iam-policy-binding my-service-account@my-project.iam.gserviceaccount.com \ --member=user:my-user@example.com --role=roles/iam.serviceAccountUser
Concedi o revoca più ruoli utilizzando la console Google Cloud
Puoi utilizzare la console Google Cloud per concedere e revocare più ruoli per una singola entità:
Nella console Google Cloud, vai alla pagina Account di servizio.
Seleziona un progetto.
Fai clic sull'indirizzo email dell'account di servizio.
Vai alla scheda Autorizzazioni e individua la sezione Entità con accesso a questo account di servizio.
Seleziona l'entità di cui vuoi modificare i ruoli:
Per modificare i ruoli di un'entità che ha già ruoli nell'account di servizio, trova una riga contenente l'entità, quindi fai clic su
Modifica entità nella riga e fai clic su Aggiungi un altro ruolo.Se vuoi modificare i ruoli per un account di servizio gestito da Google, devi selezionare la casella di controllo Includi concessioni di ruoli fornite da Google per visualizzare il suo indirizzo email.
Per concedere i ruoli a un'entità che non ha alcun ruolo esistente nell'account di servizio, fai clic su
Concedi l'accesso, quindi inserisci l'indirizzo email del cliente o un altro identificatore.
Modifica i ruoli dell'entità:
- Per concedere un ruolo a un'entità che non ha alcun ruolo esistente nella risorsa, fai clic su Seleziona un ruolo, quindi seleziona un ruolo da concedere dall'elenco a discesa.
- Per concedere un ruolo aggiuntivo all'entità, fai clic su Aggiungi un altro ruolo, quindi seleziona un ruolo da concedere dall'elenco a discesa.
- Per sostituire uno dei ruoli dell'entità con un ruolo diverso, fai clic sul ruolo esistente, quindi scegli un ruolo diverso da concedere dall'elenco a discesa.
- Per revocare uno dei ruoli dell'entità, fai clic sul pulsante Elimina per ogni ruolo da revocare.
Puoi anche aggiungere una condizione a un ruolo, modificare la condizione di un ruolo o rimuovere la condizione di un ruolo.
Fai clic su Salva.
Concedi o revoca più ruoli in modo programmatico
Per apportare modifiche di accesso su larga scala che prevedono la concessione e la revoca di più ruoli per più entità, utilizza il pattern read-modifica-scrittura per aggiornare il criterio di autorizzazione dell'account di servizio:
- Leggi il criterio di autorizzazione corrente chiamando
getIamPolicy()
. - Modifica il criterio di autorizzazione, utilizzando un editor di testo o in modo programmatico, per aggiungere o rimuovere eventuali entità o associazioni di ruoli.
- Scrivi il criterio di autorizzazione aggiornato chiamando
setIamPolicy()
.
Questa sezione mostra come utilizzare l'interfaccia a riga di comando gcloud e l'API REST per aggiornare il criterio di autorizzazione. Potete anche aggiornare il criterio di autorizzazione utilizzando le librerie client IAM.
Scarica il criterio di autorizzazione attuale
gcloud
Per ottenere il criterio di autorizzazione per l'account di servizio, esegui il comando get-iam-policy
per l'account di servizio:
gcloud iam service-accounts get-iam-policy SA_ID --format=FORMAT > PATH
Fornisci i seguenti valori:
SA_ID
: l'ID del tuo account di servizio. Può essere l'indirizzo email dell'account di servizio nel moduloSA_NAME@PROJECT_ID.iam.gserviceaccount.com
o l'ID numerico univoco dell'account di servizio.FORMAT
: il formato desiderato per il criterio di autorizzazione. Utilizzajson
oyaml
.PATH
: il percorso di un nuovo file di output per il criterio di autorizzazione.
Ad esempio, il seguente comando ottiene il criterio di autorizzazione per l'account di servizio my-service-account
e lo salva nella directory home in formato JSON:
gcloud iam service-accounts get-iam-policy my-service-account --format json > ~/policy.json
REST
Il metodo
serviceAccounts.getIamPolicy
riceve il criterio di autorizzazione di un account di servizio.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_ID
: l'ID del tuo progetto Google Cloud. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
.SA_ID
: l'ID del tuo account di servizio. Può essere l'indirizzo email dell'account di servizio nel moduloSA_NAME@PROJECT_ID.iam.gserviceaccount.com
o l'ID numerico univoco dell'account di servizio.POLICY_VERSION
: la versione del criterio da ripristinare. Le richieste devono specificare la versione del criterio più recente, ovvero la versione del criterio 3. Per maggiori dettagli, consulta Specificare la versione di un criterio quando si riceve un criterio.
Metodo e URL HTTP:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID:getIamPolicy
Corpo JSON richiesta:
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }
Per inviare la richiesta, espandi una delle seguenti opzioni:
La risposta contiene il criterio di autorizzazione dell'account di servizio. Ecco alcuni esempi:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:admin@example.com" ] } ] }
Salva la risposta in un file del tipo appropriato (json
o yaml
).
Modifica il criterio di autorizzazione
A livello di programmazione o tramite un editor di testo, modifica la copia locale dei criteri di autorizzazione del tuo account di servizio in modo che riflettano i ruoli che vuoi concedere o revocare agli utenti specificati.
Per assicurarti di non sovrascrivere altre modifiche, non modificare o rimuovere il campo etag
del criterio consentito. Il campo etag
identifica lo stato attuale del criterio di autorizzazione. Quando imposti il criterio di autorizzazione aggiornato, IAM confronta il valore etag
nella richiesta con il valore etag
esistente e scrive il criterio di autorizzazione solo se i valori corrispondono.
Per modificare i ruoli concessi da un criterio di autorizzazione, devi modificare le associazioni di ruoli nel criterio di autorizzazione. Le associazioni di ruoli hanno il seguente formato:
{ "role": "ROLE_NAME", "members": [ "PRINCIPAL_1", "PRINCIPAL_2", ... "PRINCIPAL_N" ], "conditions:" { CONDITIONS } }
I segnaposto hanno i seguenti valori:
ROLE_NAME
: il nome del ruolo che vuoi concedere. Utilizza uno dei seguenti formati:- Ruoli predefiniti:
roles/SERVICE.IDENTIFIER
- Ruoli personalizzati a livello di progetto:
projects/PROJECT_ID/roles/IDENTIFIER
- Ruoli personalizzati a livello di organizzazione:
organizations/ORG_ID/roles/IDENTIFIER
Per un elenco dei ruoli predefiniti, consulta Informazioni sui ruoli.
- Ruoli predefiniti:
PRINCIPAL_1
,PRINCIPAL_2
,...PRINCIPAL_N
: identificatori per le entità a cui vuoi concedere il ruolo.In genere, gli identificatori principali hanno il seguente formato:
PRINCIPAL-TYPE:ID
. Ad esempio,user:my-user@example.com
. Per un elenco completo dei valori chePRINCIPAL
può avere, consulta il riferimento sull'associazione dei criteri.Per il tipo di entità
user
, il nome di dominio nell'identificatore deve essere un dominio Google Workspace o un dominio Cloud Identity. Per scoprire come configurare un dominio Cloud Identity, consulta la panoramica di Cloud Identity.CONDITIONS
: facoltativo. Qualsiasi condizione che specifichi quando verrà concesso l'accesso.
Concedi un ruolo
Per concedere i ruoli alle entità, modifica le associazioni di ruoli nel criterio di autorizzazione. Per informazioni sui ruoli che puoi concedere, consulta Comprendere i ruoli o visualizzare i ruoli assegnabili per l'account di servizio. Se hai bisogno di aiuto per identificare i ruoli predefiniti più appropriati, consulta Scegliere ruoli predefiniti.
Facoltativamente, puoi utilizzare le condizioni per concedere i ruoli solo quando vengono soddisfatti determinati requisiti.
Per concedere un ruolo già incluso nel criterio di autorizzazione, aggiungi l'entità a un'associazione di ruolo esistente:
gcloud
Modifica il criterio di autorizzazione aggiungendo l'entità a un'associazione di ruolo esistente. Tieni presente che questa modifica non diventerà effettiva finché non imposti il criterio di autorizzazione aggiornato.
Ad esempio, immagina che il criterio di autorizzazione contenga la seguente associazione di ruoli, che concede il ruolo Utente account di servizio (roles/iam.serviceAccountUser
) a kai@example.com
:
{
"role": "roles/iam.serviceAccountUser",
"members": [
"user:kai@example.com"
]
}
Per concedere lo stesso ruolo a raha@example.com
, aggiungi raha@example.com
all'associazione dei ruoli esistente:
{ "role": "roles/iam.serviceAccountUser", "members": [ "user:kai@example.com", "user:raha@example.com" ] }
REST
Modifica il criterio di autorizzazione aggiungendo l'entità a un'associazione di ruolo esistente. Tieni presente che questa modifica non diventerà effettiva finché non imposti il criterio di autorizzazione aggiornato.
Ad esempio, immagina che il criterio di autorizzazione contenga la seguente associazione di ruoli, che concede il ruolo Utente account di servizio (roles/iam.serviceAccountUser
) a kai@example.com
:
{
"role": "roles/iam.serviceAccountUser",
"members": [
"user:kai@example.com"
]
}
Per concedere lo stesso ruolo a raha@example.com
, aggiungi raha@example.com
all'associazione dei ruoli esistente:
{ "role": "roles/iam.serviceAccountUser", "members": [ "user:kai@example.com", "user:raha@example.com" ] }
Per concedere un ruolo non ancora incluso nel criterio di autorizzazione, aggiungi una nuova associazione di ruolo:
gcloud
Modifica il criterio di autorizzazione aggiungendo una nuova associazione di ruolo che lo concede al ruolo principale. Questa modifica non sarà effettiva finché non imposti il criterio di autorizzazione aggiornato.
Ad esempio, per concedere il ruolo Creatore token account di servizio
(roles/iam.serviceAccountTokenCreator
) a raha@example.com
, aggiungi
la seguente associazione dei ruoli all'array bindings
per il criterio di autorizzazione:
{
"role": "roles/iam.serviceAccountTokenCreator",
"members": [
"user:raha@example.com"
]
}
REST
Modifica il criterio di autorizzazione aggiungendo una nuova associazione di ruolo che lo concede al ruolo principale. Questa modifica non sarà effettiva finché non imposti il criterio di autorizzazione aggiornato.
Ad esempio, per concedere il ruolo Creatore token account di servizio
(roles/iam.serviceAccountTokenCreator
) a raha@example.com
, aggiungi
la seguente associazione dei ruoli all'array bindings
per il criterio di autorizzazione:
{
"role": "roles/iam.serviceAccountTokenCreator",
"members": [
"user:raha@example.com"
]
}
Revocare un ruolo
Per revocare un ruolo, rimuovi l'entità dall'associazione dei ruoli. Se non ci sono altre entità nell'associazione dei ruoli, rimuovi l'intera associazione dei ruoli dal criterio consentito.
gcloud
Modifica il criterio di autorizzazione rimuovendo l'entità o l'intera associazione dei ruoli. Questa modifica avrà effetto solo dopo aver impostato il criterio di autorizzazione aggiornato.
Ad esempio, immagina che il criterio di autorizzazione contenga la seguente associazione di ruoli, che concede a kai@example.com
e raha@example.com
il ruolo Utente account di servizio (roles/iam.serviceAccountUser
):
{
"role": "roles/iam.serviceAccountUser",
"members": [
"user:kai@example.com",
"user:raha@example.com"
]
}
Per revocare il ruolo di kai@example.com
, rimuovi kai@example.com
dall'associazione del ruolo:
{
"role": "roles/iam.serviceAccountUser",
"members": [
"user:raha@example.com"
]
}
Per revocare il ruolo sia da kai@example.com
che da raha@example.com
, rimuovi l'associazione dei ruoli dal criterio di autorizzazione.
REST
Modifica il criterio di autorizzazione rimuovendo l'entità o l'intera associazione dei ruoli. Questa modifica avrà effetto solo dopo aver impostato il criterio di autorizzazione aggiornato.
Ad esempio, immagina che il criterio di autorizzazione contenga la seguente associazione di ruoli, che concede a kai@example.com
e raha@example.com
il ruolo Utente account di servizio (roles/iam.serviceAccountUser
):
{
"role": "roles/iam.serviceAccountUser",
"members": [
"user:kai@example.com",
"user:raha@example.com"
]
}
Per revocare il ruolo di kai@example.com
, rimuovi kai@example.com
dall'associazione del ruolo:
{
"role": "roles/iam.serviceAccountUser",
"members": [
"user:raha@example.com"
]
}
Per revocare il ruolo sia da kai@example.com
che da raha@example.com
, rimuovi l'associazione dei ruoli dal criterio di autorizzazione.
Imposta il criterio di autorizzazione
Dopo aver modificato il criterio di autorizzazione per concedere e revocare i ruoli desiderati, chiama setIamPolicy()
per eseguire gli aggiornamenti.
gcloud
Per impostare il criterio di autorizzazione per la risorsa, esegui il comando set-iam-policy
per l'account di servizio:
gcloud iam service-accounts set-iam-policy SA_ID PATH
Fornisci i seguenti valori:
SA_ID
: l'ID del tuo account di servizio. Può essere l'indirizzo email dell'account di servizio nel moduloSA_NAME@PROJECT_ID.iam.gserviceaccount.com
o l'ID numerico univoco dell'account di servizio.PATH
: il percorso di un file che contiene il nuovo criterio di autorizzazione.
La risposta contiene il criterio di autorizzazione aggiornato.
Ad esempio, il seguente comando imposta il criterio di autorizzazione archiviato in policy.json
come criterio di autorizzazione per l'account di servizio my-service-account@my-project.iam.gserviceaccount.com
:
gcloud iam service-accounts set-iam-policy my-service-account@my-project.iam.gserviceaccount.com \ ~/policy.json
REST
Il metodo
serviceAccounts.setIamPolicy
imposta un criterio di autorizzazione aggiornato per l'account di servizio.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_ID
: l'ID del tuo progetto Google Cloud. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
.SA_ID
: l'ID del tuo account di servizio. Può essere l'indirizzo email dell'account di servizio nel moduloSA_NAME@PROJECT_ID.iam.gserviceaccount.com
o l'ID numerico univoco dell'account di servizio.-
POLICY
: una rappresentazione JSON del criterio che vuoi impostare. Per ulteriori informazioni sul formato di un criterio, consulta la documentazione di riferimento.Ad esempio, per impostare il criterio di autorizzazione mostrato nel passaggio precedente, sostituisci
policy
con il seguente:{ "version": 1, "etag": "BwUqLaVeua8=", "bindings": [ { "role": "roles/iam.serviceAccountUser", "members": [ "user:robin@example.com" ] }, { "role": "roles/serviceAccountAdmin", "members": [ "user:admin@example.com" ] } ] }
Metodo e URL HTTP:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID:setIamPolicy
Corpo JSON richiesta:
{ "policy": POLICY }
Per inviare la richiesta, espandi una delle seguenti opzioni:
La risposta contiene il criterio di autorizzazione aggiornato.
Passaggi successivi
- Scopri quali ruoli concedere per consentire alle entità di autenticarsi come account di servizio.
- Scopri come scegliere i ruoli predefiniti più appropriati.
- Leggi le best practice per l'utilizzo degli account di servizio per scoprire come utilizzarli in modo sicuro.
- Scopri come gestire l'accesso a progetti, cartelle e organizzazioni.
- Scopri la procedura generale per la gestione dell'accesso ad altre risorse.
- Scopri come rendere condizionale l'accesso di un'entità con le associazioni di ruoli condizionali.
Provalo
Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
Inizia gratuitamente