Quando utilizzi la simulazione dell'identità dei service account, inizi con un'entità autenticata (il tuo account utente o un account di servizio) e richiedi credenziali di breve durata per un account di servizio che disponga dell'autorizzazione richiesta dal tuo caso d'uso. L'entità autenticata deve disporre delle autorizzazioni necessarie per simulare l'identità del account di servizio.
La simulazione dell'identità dei service account è più sicura dell'utilizzo di una chiave di account di servizio perché richiede un'identità autenticata in precedenza e le credenziali create utilizzando la simulazione dell'identità non vengono mantenute. Al contrario, l'autenticazione con una chiave di account di servizio non richiede un'autenticazione precedente e la chiave persistente è una credenziale ad alto rischio se compromessa.
Per saperne di più sulla simulazione dell'identità dei account di servizio, consulta Simulazione dell'identità dei service account.
Prima di iniziare
Prima di utilizzare la simulazione dell'identità dei account di servizio, devi abilitare le API richieste e assicurarti di disporre dei ruoli necessari.
Abilita API
Per simulare l'identità di un account di servizio, devi abilitare l'API Service Account Credentials nel tuo progetto.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin), che
contiene l'autorizzazione serviceusage.services.enable. Scopri come concedere
i ruoli.
Ruoli obbligatori
Per ottenere l'autorizzazione necessaria per simulare l'identità di un account di servizio,
chiedi all'amministratore di concederti il
ruolo IAM Creatore token account di servizio (roles/iam.serviceAccountTokenCreator) sul service account.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene l'
iam.serviceAccounts.getAccessToken
autorizzazione,
necessaria per
simulare l'identità di un account di servizio.
Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.
Devi concedere questi ruoli al tuo account, anche quando lavori in un progetto che hai creato.
Per saperne di più sui ruoli richiesti per la simulazione dell'identità, consulta Ruoli per account di servizio account.
Puoi utilizzare la simulazione dell'identità dei account di servizio utilizzando i seguenti metodi:
- Utilizza gcloud CLI
- Configura le Credenziali predefinite dell'applicazione per l'utilizzo delle librerie client
- Genera e gestisci credenziali di breve durata
Utilizza gcloud CLI
gcloud CLI offre un modo semplice per utilizzare la simulazione dell'identità dei account di servizio. Questo metodo è utile quando devi utilizzare un account di servizio per accedere a Google Cloud risorse o servizi utilizzando la gcloud CLI.
Puoi simulare l'identità di un account di servizio per un comando gcloud CLI specifico o configurare gcloud CLI in modo che utilizzi automaticamente la simulazione dell'identità per ogni comando.
Utilizza la simulazione dell'identità per un comando gcloud CLI specifico
Per utilizzare la simulazione dell'identità per un comando gcloud CLI specifico, utilizza il
--impersonate-service-account flag. Ad esempio, il seguente comando elenca i bucket di archiviazione, utilizzando l'identità e l'accesso forniti dal account di servizio specificato:
gcloud storage buckets list --impersonate-service-account=SERVICE_ACCT_EMAIL
Quando utilizzi questo flag, gcloud CLI richiede credenziali di breve durata per il account di servizio specificato e le utilizza per autenticare l'API e autorizzare l'accesso. L'entità che ha eseguito l'accesso a gcloud CLI (di solito il tuo account utente) deve disporre dell'autorizzazione richiesta sul account di servizio.
Utilizza la simulazione dell'identità con gcloud CLI per impostazione predefinita
Per configurare gcloud CLI in modo che utilizzi l'identità e l'accesso forniti da un account di servizio per impostazione predefinita, utilizza il comando di configurazione di gcloud CLI:
gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL
Con questa proprietà di configurazione impostata, gcloud CLI richiede credenziali di breve durata per il account di servizio specificato e le utilizza per autenticare l'API e autorizzare l'accesso alla risorsa per ogni comando. L'entità che ha eseguito l'accesso a gcloud CLI deve disporre dell'autorizzazione richiesta sul account di servizio.
Configura le Credenziali predefinite dell'applicazione per l'utilizzo delle librerie client
Puoi utilizzare la simulazione dell'identità dei account di servizio per configurare un file Credenziali predefinite dell'applicazione (ADC) locale. Le librerie client che supportano la simulazione dell'identità possono utilizzare automaticamente queste credenziali. I file ADC locali creati utilizzando la simulazione dell'identità sono supportati nei seguenti linguaggi:
- C#
- Vai
- Java
- Node.js
- Python
Utilizza la simulazione dell'identità dei account di servizio per creare un file ADC locale:
gcloud auth application-default login --impersonate-service-account SERVICE_ACCT_EMAIL
Ora puoi utilizzare le librerie client utilizzando i linguaggi supportati nello stesso modo in cui faresti dopo aver configurato un file ADC locale con le credenziali utente. Le credenziali vengono trovate automaticamente dalle librerie di autenticazione. Per saperne di più, consulta Autenticarsi per l'utilizzo delle librerie client.
Le credenziali di un file ADC locale generato utilizzando la simulazione dell'identità dei account di servizio non sono supportate da tutte le librerie di autenticazione. Per saperne di più, consulta Errore restituito per le credenziali locali dalla account di servizio account.
Genera e gestisci credenziali di breve durata
Se nessuno dei metodi precedenti soddisfa il tuo caso d'uso, devi generare e gestire token di breve durata. Ad esempio, se hai bisogno di un tipo diverso di credenziale di breve durata (qualcosa di diverso da un token di accesso) o se devi utilizzare la simulazione dell'identità in un ambiente di produzione, utilizza questo metodo.
Per informazioni sulla generazione di token di breve durata, consulta Creare credenziali di breve durata per un service account.
Passaggi successivi
- Scopri di più su come ADC trova le credenziali.
- Esplora i metodi di autenticazione.