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 i service account in un progetto, una cartella o un'organizzazione, gestisci l'accesso a livello di progetto, cartella o organizzazione.
In Identity and Access Management (IAM), l'accesso viene gestito tramite criteri di autorizzazione, noti anche come criteri IAM. Un criterio di autorizzazione è collegato a una risorsaGoogle Cloud . Ogni criterio di autorizzazione contiene una raccolta di associazioni di ruolo che associano una o più entità, come utenti o service account, a un ruolo IAM. Queste associazioni di ruolo concedono i ruoli specificati alle entità, sia sulla risorsa a cui è associato il criterio di autorizzazione sia su tutti i discendenti della risorsa. Per maggiori informazioni sui criteri di autorizzazione, consulta Comprensione dei criteri di autorizzazione.
I service account sono sia risorse a cui è possibile concedere l'accesso ad altre entità sia entità a cui è possibile concedere l'accesso ad altre risorse. Questa pagina considera i service account come risorse e descrive come concedere ad altre entità l'accesso. Per scoprire come concedere a un account di servizio l'accesso ad altre risorse, consulta le seguenti 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 sezione Gestione dell'accesso ad altre risorse.
Questa pagina descrive come gestire l'accesso agli account di servizio utilizzando la consoleGoogle Cloud , Google Cloud CLI e l'API REST. Puoi anche gestire l'accesso utilizzando le librerie client IAM.
Prima di iniziare
Enable the IAM API.
Scopri di più sugli service account.
Ruoli IAM richiesti
Per ottenere le autorizzazioni
necessarie per gestire l'accesso a un account di servizio,
chiedi all'amministratore di concederti il
ruolo IAM Service Account Admin (roles/iam.serviceAccountAdmin
)
nel account di servizio o nel progetto proprietario del service account.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per gestire l'accesso a un account di servizio. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
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.
Visualizzare l'accesso attuale
La sezione seguente mostra come utilizzare la console Google Cloud , gcloud CLI e l'API REST per visualizzare chi ha accesso a un service account. Puoi anche visualizzare l'accesso utilizzando le librerie client IAM per ottenere la policy di autorizzazione del account di servizio.
Console
Nella console Google Cloud , vai alla pagina Service Accounts.
Seleziona un progetto.
Fai clic sull'indirizzo email del account di servizio.
Vai alla scheda Autorizzazioni. La sezione Entità con accesso a questo service account elenca tutte le entità a cui è stato concesso un ruolo per il account di servizio.
Questo elenco include le entità il cui accesso deriva da ruoli concessi sulle risorse padre. Per ulteriori informazioni sull'ereditarietà dei criteri, vedi Ereditarietà dei criteri e gerarchia delle risorse.
(Facoltativo) Per visualizzare le concessioni di ruoli per gli agenti di servizio, seleziona la casella di controllo Includi concessioni di ruoli fornite da Google.
gcloud
Per vedere chi ha accesso al tuo account di servizio, recupera la policy di autorizzazione per il account di serviziot. Per scoprire come interpretare le policy di autorizzazione, consulta la sezione Comprendere le policy di autorizzazione.
Per ottenere la policy di autorizzazione per il account di servizio, esegui il comando
get-iam-policy
per il 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 del account di servizio nel formatoSA_NAME@PROJECT_ID.iam.gserviceaccount.com
, oppure l'ID numerico univoco del account di servizio.FORMAT
: il formato del criterio. Utilizzajson
oyaml
.PATH
: il percorso di un nuovo file di output per la policy.
Ad esempio, il seguente comando recupera il criterio per l'account di servizio
my-service-account
e lo salva nella tua home directory in formato JSON:
gcloud iam service-accounts get-iam-policy my-service-account --format json > ~/policy.json
REST
Per vedere chi ha accesso al tuo account di servizio, recupera la policy di autorizzazione per il account di serviziot. Per scoprire come interpretare le policy di autorizzazione, consulta la sezione Comprendere le policy di autorizzazione.
Il metodo
serviceAccounts.getIamPolicy
recupera il criterio di autorizzazione di un account di servizio.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto Google Cloud . Gli ID progetto sono stringhe alfanumeriche, comemy-project
.SA_ID
: l'ID del tuo account di servizio. Può trattarsi dell'indirizzo email del account di servizio nel formatoSA_NAME@PROJECT_ID.iam.gserviceaccount.com
o dell'ID numerico univoco del service account.POLICY_VERSION
: La versione della policy da restituire. Le richieste devono specificare la versione più recente delle norme, ovvero la versione 3. Per maggiori dettagli, vedi Specificare una versione delle norme quando si recuperano le norme.
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID:getIamPolicy
Corpo JSON della richiesta:
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }
Per inviare la richiesta, espandi una di queste opzioni:
La risposta contiene il criterio di autorizzazione dell'account di servizio. Ad esempio:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] } ] }
Concedi o revoca un singolo ruolo IAM
Puoi utilizzare la console Google Cloud e gcloud CLI per concedere o revocare rapidamente un unico ruolo per una singola entità, senza modificare direttamente il criterio di autorizzazione dell'account di servizio. I tipi comuni di entità includono account Google, service account, gruppi Google e domini.Per un elenco di tutti i tipi di entità, consulta Tipi di entità.
In genere, le modifiche ai criteri diventano effettive entro 2 minuti. Tuttavia, in alcuni casi, la propagazione delle modifiche nel sistema può richiedere almeno 7 minuti.
Se hai bisogno di aiuto per identificare il ruolo predefinito più appropriato, consulta Trovare i ruoli predefiniti giusti.
Concedere un singolo ruolo IAM
Per concedere un singolo ruolo a un'entità:
Console
Nella console Google Cloud , vai alla pagina Service Accounts.
Seleziona un progetto.
Fai clic sull'indirizzo email del account di servizio.
Vai alla scheda Autorizzazioni e trova la sezione Entità con accesso a questo service account.
Seleziona un'entità a cui assegnare un ruolo:
Per concedere un ruolo a un'entità che ha già altri ruoli nell'account di servizio, trova una riga contenente l'entità, fai clic su
Modifica entità in quella riga, quindi fai clic su Aggiungi un altro ruolo.Per concedere un ruolo a un agente di servizio, seleziona la casella di controllo Includi concessioni di ruoli fornite daGoogle per visualizzarne l'indirizzo email.
Per concedere un ruolo a un'entità che non ha ruoli esistenti nel account di servizio, fai clic su
Concedi accesso, poi inserisci un identificatore per l'entità, ad esempiomy-user@example.com
o//iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
.
Seleziona un ruolo da concedere dall'elenco a discesa. Per le best practice di sicurezza, scegli un ruolo che includa solo le autorizzazioni necessarie all'entità.
(Facoltativo) Aggiungi una condizione al ruolo.
Fai clic su Salva. All'entità viene concesso il ruolo nell'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 del account di servizio nel formatoSA_NAME@PROJECT_ID.iam.gserviceaccount.com
, oppure l'ID numerico univoco del account di servizio.PRINCIPAL
: un identificatore per il principale o il membro, che di solito ha il seguente formato:PRINCIPAL-TYPE:ID
. Ad esempio,user:my-user@example.com
oprincipalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
. Per un elenco completo dei valori che può assumerePRINCIPAL
, consulta Identificatori principali.Per il tipo di entità
user
, il nome di dominio nell'identificatore deve essere un dominio Google Workspace o 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 la sezione Informazioni sui ruoli.
- Ruoli predefiniti:
CONDITION
: (Facoltativo). La condizione da aggiungere all'associazione di ruolo. Per ulteriori informazioni sulle condizioni, consulta la panoramica delle condizioni.
Ad esempio, per concedere il ruolo Utente service account all'utente
my-user@example.com
per il 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 IAM
Per revocare un singolo ruolo da un'entità, procedi nel seguente modo:
Console
Nella console Google Cloud , vai alla pagina Service Accounts.
Seleziona un progetto.
Fai clic sull'indirizzo email del account di servizio.
Vai alla scheda Autorizzazioni e trova la sezione Entità con accesso a questo service account.
Individua la riga contenente l'entità di cui vuoi revocare l'accesso. Quindi, fai clic su
Modifica entità in quella riga.Fai clic sul pulsante Elimina
per il ruolo che vuoi revocare, quindi fai clic su Salva.
gcloud
Per revocare rapidamente un ruolo a 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 del account di servizio nel formatoSA_NAME@PROJECT_ID.iam.gserviceaccount.com
, oppure l'ID numerico univoco del account di servizio.PRINCIPAL
: un identificatore per il principale o il membro, che di solito ha il seguente formato:PRINCIPAL-TYPE:ID
. Ad esempio,user:my-user@example.com
oprincipalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
. Per un elenco completo dei valori che può assumerePRINCIPAL
, consulta Identificatori principali.Per il tipo di entità
user
, il nome di dominio nell'identificatore deve essere un dominio Google Workspace o Cloud Identity. Per scoprire come configurare un dominio Cloud Identity, consulta la panoramica di Cloud Identity.ROLE_NAME
: il nome del ruolo che vuoi 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 la sezione Informazioni sui ruoli.
- Ruoli predefiniti:
Ad esempio, per revocare il ruolo Utente service account all'utente
my-user@example.com
per il 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
Concedere o revocare più ruoli IAM 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 Service Accounts.
Seleziona un progetto.
Fai clic sull'indirizzo email del account di servizio.
Vai alla scheda Autorizzazioni e trova la sezione Entità con accesso a questo service account.
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à, fai clic su
Modifica entità in quella riga, quindi fai clic su Aggiungi un altro ruolo.Per modificare i ruoli di un agente di servizio, seleziona la casella di controllo Includi concessioni di ruoli fornite da Google per visualizzarne l'indirizzo email.
Per concedere ruoli a un'entità che non ha ruoli esistenti nel account di servizio, fai clic su
Concedi accesso, poi inserisci l'indirizzo email o un altro identificatore dell'entità.
Modifica i ruoli dell'entità:
- Per concedere un ruolo a un principal che non ha ruoli esistenti nella risorsa, fai clic su Seleziona un ruolo, quindi seleziona un ruolo da concedere dall'elenco a discesa.
- Per concedere un ruolo aggiuntivo al principal, fai clic su Aggiungi un altro ruolo, poi seleziona un ruolo da concedere dall'elenco a discesa.
- Per sostituire uno dei ruoli del principale 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.
Concedere o revocare più ruoli IAM a livello di programmazione
Per apportare modifiche all'accesso su larga scala che comportano la concessione e la revoca di più ruoli per più entità, utilizza il pattern read-modify-write per aggiornare i criteri di autorizzazione dell'account di servizio:
- Leggi la policy di autorizzazione corrente chiamando
getIamPolicy()
. - Modifica il criterio di autorizzazione mediante un editor di testo o in modo programmatico per aggiungere o rimuovere eventuali entità o associazioni di ruoli.
- Scrivi la policy di autorizzazione aggiornata chiamando
setIamPolicy()
.
Questa sezione mostra come utilizzare l'interfaccia a riga di comando gcloud e l'API REST per aggiornare il criterio di autorizzazione. Puoi anche aggiornare il criterio di autorizzazione utilizzando le librerie client IAM.
In genere, le modifiche ai criteri diventano effettive entro 2 minuti. Tuttavia, in alcuni casi, la propagazione delle modifiche nel sistema può richiedere almeno 7 minuti.
Ottieni il criterio di autorizzazione attuale
gcloud
Per ottenere la policy di autorizzazione per il account di servizio, esegui il comando
get-iam-policy
per il 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 del account di servizio nel formatoSA_NAME@PROJECT_ID.iam.gserviceaccount.com
, oppure l'ID numerico univoco del account di servizio.FORMAT
: il formato per la policy di autorizzazione. Utilizzajson
oyaml
.PATH
: il percorso di un nuovo file di output per la policy consenti.
Ad esempio, il seguente comando recupera il criterio di autorizzazione per l'account di servizio
my-service-account
e lo salva nella home directory in formato JSON:
gcloud iam service-accounts get-iam-policy my-service-account --format json > ~/policy.json
REST
Il metodo
serviceAccounts.getIamPolicy
recupera il criterio di autorizzazione di un account di servizio.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto Google Cloud . Gli ID progetto sono stringhe alfanumeriche, comemy-project
.SA_ID
: l'ID del tuo account di servizio. Può trattarsi dell'indirizzo email del account di servizio nel formatoSA_NAME@PROJECT_ID.iam.gserviceaccount.com
o dell'ID numerico univoco del service account.POLICY_VERSION
: La versione della policy da restituire. Le richieste devono specificare la versione più recente delle norme, ovvero la versione 3. Per maggiori dettagli, vedi Specificare una versione delle norme quando si recuperano le norme.
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID:getIamPolicy
Corpo JSON della richiesta:
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }
Per inviare la richiesta, espandi una di queste opzioni:
La risposta contiene il criterio di autorizzazione dell'account di servizio. Ad esempio:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] } ] }
Salva la risposta in un file del tipo appropriato (json
o yaml
).
Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM Java.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM Python.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Modifica della policy di autorizzazione
Modifica la copia locale del criterio di autorizzazione dell'account di servizio in modo programmatico o mediante un editor di testo per riflettere i ruoli che vuoi concedere o revocare a utenti specifici.
Per assicurarti di non sovrascrivere altre modifiche, non modificare o rimuovere il campo etag
del criterio di autorizzazione. Il campo etag
identifica lo stato attuale
della policy 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 una policy di autorizzazione, devi modificare le associazioni di ruolo nella policy 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 la sezione Informazioni sui ruoli.
- Ruoli predefiniti:
PRINCIPAL_1
,PRINCIPAL_2
,...PRINCIPAL_N
: identificatori dei principali a cui vuoi concedere il ruolo.Gli identificatori dell'entità in genere hanno il seguente formato:
PRINCIPAL-TYPE:ID
. Ad esempio,user:my-user@example.com
oprincipalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
. Per un elenco completo dei valori che può assumerePRINCIPAL
, consulta Identificatori principali.Per il tipo di entità
user
, il nome di dominio nell'identificatore deve essere un dominio Google Workspace o Cloud Identity. Per scoprire come configurare un dominio Cloud Identity, consulta la panoramica di Cloud Identity.CONDITIONS
: (Facoltativo). Qualsiasi condizione che specifica quando verrà concesso l'accesso.
Concedere un ruolo
Per concedere ruoli alle tue entità, modifica le associazioni dei ruoli nel criterio di autorizzazione. Per scoprire quali ruoli puoi concedere, consulta la sezione Informazioni sui ruoli o visualizza i ruoli concedibili per il account di servizio. Se hai bisogno di aiuto per identificare i ruoli predefiniti più appropriati, consulta Trovare i ruoli predefiniti giusti.
Se vuoi, puoi utilizzare le condizioni per concedere i ruoli solo quando vengono soddisfatti determinati requisiti.
Per concedere un ruolo già incluso nella policy di autorizzazione, aggiungi l'entità a un'associazione di ruolo esistente:
gcloud
Modifica la policy di autorizzazione aggiungendo l'entità a un'associazione di ruolo esistente. Tieni presente che questa modifica non entrerà in vigore finché non imposterai le norme di autorizzazione aggiornate.
Ad esempio, supponiamo che il criterio di autorizzazione contenga il seguente binding del ruolo, che
concede il ruolo Utente account di servizio (roles/iam.serviceAccountUser
) a
Kai:
{
"role": "roles/iam.serviceAccountUser",
"members": [
"user:kai@example.com"
]
}
Per concedere lo stesso ruolo a Raha, aggiungila all'associazione di ruolo esistente:
{ "role": "roles/iam.serviceAccountUser", "members": [ "user:kai@example.com", "user:raha@example.com" ] }
REST
Modifica la policy di autorizzazione aggiungendo l'entità a un'associazione di ruolo esistente. Tieni presente che questa modifica non entrerà in vigore finché non imposterai le norme di autorizzazione aggiornate.
Ad esempio, supponiamo che il criterio di autorizzazione contenga il seguente binding del ruolo, che
concede il ruolo Utente account di servizio (roles/iam.serviceAccountUser
) a
Kai:
{
"role": "roles/iam.serviceAccountUser",
"members": [
"user:kai@example.com"
]
}
Per concedere lo stesso ruolo a Raha, aggiungila all'associazione di ruolo esistente:
{ "role": "roles/iam.serviceAccountUser", "members": [ "user:kai@example.com", "user:raha@example.com" ] }
Per concedere un ruolo non ancora incluso nelle norme di autorizzazione, aggiungi una nuova associazione di ruolo:
gcloud
Modifica la policy di autorizzazione aggiungendo una nuova associazione di ruolo che concede il ruolo all'entità. Questa modifica non avrà effetto finché non imposterai il criterio di autorizzazione aggiornato.
Ad esempio, per concedere il ruolo Creatore token service account
(roles/iam.serviceAccountTokenCreator
) a Raha, aggiungi
la seguente associazione di ruoli all'array bindings
per il criterio di autorizzazione:
{
"role": "roles/iam.serviceAccountTokenCreator",
"members": [
"user:raha@example.com"
]
}
REST
Modifica la policy di autorizzazione aggiungendo una nuova associazione di ruolo che concede il ruolo all'entità. Questa modifica non avrà effetto finché non imposterai il criterio di autorizzazione aggiornato.
Ad esempio, per concedere il ruolo Creatore token service account
(roles/iam.serviceAccountTokenCreator
) a Raha, aggiungi
la seguente associazione di 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 di ruolo. Se non sono presenti altre entità nell'associazione dei ruoli, rimuovi l'intera associazione dei ruoli dalla policy di autorizzazione.
gcloud
Modifica il criterio di autorizzazione rimuovendo l'entità o l'intera associazione di ruolo. Questa modifica non avrà effetto finché non imposterai le norme di autorizzazione aggiornate.
Ad esempio, supponiamo che il criterio di autorizzazione contenga il seguente binding del ruolo, che
concede a Kai e Raha il ruolo Utente service account
(roles/iam.serviceAccountUser
):
{
"role": "roles/iam.serviceAccountUser",
"members": [
"user:kai@example.com",
"user:raha@example.com"
]
}
Per revocare il ruolo di Kai, rimuovi l'identificatore dell'entità di Kai dall'associazione di ruolo:
{
"role": "roles/iam.serviceAccountUser",
"members": [
user:raha@example.com
]
}
Per revocare il ruolo sia per Kai che per Raha, rimuovi l'associazione di ruolo dalla policy di autorizzazione.
REST
Modifica il criterio di autorizzazione rimuovendo l'entità o l'intera associazione di ruolo. Questa modifica non avrà effetto finché non imposterai le norme di autorizzazione aggiornate.
Ad esempio, supponiamo che il criterio di autorizzazione contenga il seguente binding del ruolo, che
concede a Kai e Raha il ruolo Utente service account
(roles/iam.serviceAccountUser
):
{
"role": "roles/iam.serviceAccountUser",
"members": [
"user:kai@example.com",
"user:raha@example.com"
]
}
Per revocare il ruolo di Kai, rimuovi l'identificatore dell'entità di Kai dall'associazione di ruolo:
{
"role": "roles/iam.serviceAccountUser",
"members": [
user:raha@example.com
]
}
Per revocare il ruolo sia per Kai che per Raha, rimuovi l'associazione di ruolo dalla policy di autorizzazione.
Impostare la norma di autorizzazione
Dopo aver modificato il criterio di autorizzazione per concedere e revocare i ruoli, chiama
setIamPolicy()
per apportare gli aggiornamenti.
gcloud
Per impostare la policy di autorizzazione per la risorsa, esegui il comando
set-iam-policy
per il 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 del account di servizio nel formatoSA_NAME@PROJECT_ID.iam.gserviceaccount.com
, oppure l'ID numerico univoco del account di servizio.PATH
: il percorso di un file che contiene la nuova policy di autorizzazione.
La risposta contiene la policy di autorizzazione aggiornata.
Ad esempio, il seguente comando imposta la policy di autorizzazione archiviata in policy.json
come policy di autorizzazione per il 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 il account di servizio.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto Google Cloud . Gli ID progetto sono stringhe alfanumeriche, comemy-project
.SA_ID
: l'ID del tuo account di servizio. Può trattarsi dell'indirizzo email del account di servizio nel formatoSA_NAME@PROJECT_ID.iam.gserviceaccount.com
o dell'ID numerico univoco del service account.-
POLICY
: una rappresentazione JSON della policy che vuoi impostare. Per ulteriori informazioni sul formato di un criterio, consulta la documentazione di riferimento sui criteri.Ad esempio, per impostare la norma di autorizzazione mostrata nel passaggio precedente, sostituisci
policy
con quanto segue:{ "version": 1, "etag": "BwUqLaVeua8=", "bindings": [ { "role": "roles/iam.serviceAccountUser", "members": [ "group:my-group@example.com" ] }, { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] } ] }
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID:setIamPolicy
Corpo JSON della richiesta:
{ "policy": POLICY }
Per inviare la richiesta, espandi una di queste opzioni:
La risposta contiene la policy di autorizzazione aggiornata.
Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM Java.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM Python.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Passaggi successivi
- Scopri quali ruoli concedere per consentire alle entità di autenticarsi come service account.
- Scopri come scegliere i ruoli predefiniti più appropriati.
- Consulta 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 i passaggi generali per gestire l'accesso ad altre risorse.
- Scopri come rendere condizionale l'accesso di un principal 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