In questa pagina viene spiegato come creare credenziali di breve durata per un account di servizio, che puoi utilizzare per impersonare l'account di servizio. A seconda tipo di token che crei, il token di breve durata fornisce l'identità (per i token ID) o le autorizzazioni (per i token di accesso) associati al servizio .
Se la tua architettura di sistema richiede l'uso di una serie di token per la generazione puoi utilizzare una catena di delega composta da diversi servizi Google Cloud. Nella maggior parte dei casi, il metodo diretto, come spiegato in questa pagina, è sufficiente.
Prima di iniziare
-
Enable the IAM and Service Account Credentials APIs:
gcloud services enable iam.googleapis.com
iamcredentials.googleapis.com Configurare l'autenticazione.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Vai
Per utilizzare gli Go esempi in questa pagina in una località dell'ambiente di sviluppo, installare e inizializzare gcloud CLI quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Per ulteriori informazioni, vedi Configurare l'autenticazione per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Google Cloud.
Java
Per utilizzare gli Java esempi in questa pagina in una località dell'ambiente di sviluppo, installare e inizializzare gcloud CLI quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Per ulteriori informazioni, vedi Configurare l'autenticazione per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Google Cloud.
Node.js
Per utilizzare gli Node.js esempi in questa pagina in una località dell'ambiente di sviluppo, installare e inizializzare gcloud CLI quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Per ulteriori informazioni, vedi Configurare l'autenticazione per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Google Cloud.
Python
Per utilizzare gli Python esempi in questa pagina in una località dell'ambiente di sviluppo, installare e inizializzare gcloud CLI quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Per ulteriori informazioni, vedi Configurare l'autenticazione per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Google Cloud.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Informazioni sugli account di servizio IAM.
Informazioni sul furto d'identità degli account di servizio.
Cerca di capire che tipo di token ti serve e utilizza i passaggi appropriati forniti nelle sezioni seguenti:
Creare un token di accesso di breve durata
La maggior parte delle API Google accetta i token di accesso per l'autenticazione. Quando generi un token di accesso utilizzando l'usurpazione dell'identità del service account, il token di accesso non è associato a un token di aggiornamento, il che significa che quando il token scade, devi ripetere la procedura di usurpazione dell'identità per generarne uno nuovo.
Per maggiori informazioni, consulta Token di accesso.
Per creare un token di accesso di breve durata, completa queste attività:
Fornisci le autorizzazioni richieste
Una richiesta diretta coinvolge due identità: l'utente chiamante che richiede la credenziale e l'account di servizio per cui viene creata la credenziale. La modalità di configurazione delle autorizzazioni dipende dal fatto che il chiamante si autentichi come account di servizio o come account utente.
Se vuoi eseguire un comando REST o gcloud CLI in questa pagina in un ambiente di sviluppo locale, il chiamante può essere rappresentato dalle credenziali dell'utente. Per i carichi di lavoro automatizzati, come un'applicazione in esecuzione in Compute Engine, il chiamante deve essere rappresentato da un account di servizio.
Service account
Quando l'applicazione chiamante utilizza un account di servizio come identità, sono coinvolte le seguenti entità:
Account di servizio chiamante (
CALLER_SA
)Questo account di servizio rappresenta l'applicazione chiamante, che emette la richiesta per le credenziali di breve durata.
-
Account di servizio privo di privilegi (
PRIV_SA
)A questo account di servizio vengono concessi i ruoli IAM necessari il token di breve durata. Si tratta dell'account di servizio per il quale viene creato un token di breve durata.
Per concedere a
CALLER_SA
autorizzazioni per la creazione di contenuti di breve durata le credenziali perPRIV_SA
, concediCALLER_SA
il ruolo Creatore token account di servizio (roles/iam.serviceAccountTokenCreator
) il giornoPRIV_SA
.Concedi il ruolo richiesto su
PRIV_SA
:Console
-
Nella console Google Cloud, vai alla pagina Account di servizio.
- Seleziona un progetto.
-
Fai clic sull'indirizzo email dell'account di servizio che riceve privilegi.
PRIV_SA
. - Fai clic sulla scheda Autorizzazioni.
- In Entità con accesso a questo account di servizio, fai clic su Concedi l'accesso.
-
Inserisci l'indirizzo email dell'account di servizio per il chiamante,
CALLER_SA
.Ad esempio,
demo@my-project.iam.gserviceaccount.com
. -
Seleziona il ruolo Creatore token account di servizio
(
roles/iam.serviceAccountTokenCreator
). - Fai clic su Salva per concedere il ruolo all'account di servizio.
gcloud
Il comando
gcloud iam service-accounts add-iam-policy-binding
concede un ruolo a un account di servizio.Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
-
PRIV_SA
: l'indirizzo email dell'account di servizio con privilegi per il quale viene generato il token. -
CALLER_SA
: l'indirizzo email del account di servizio che rappresenta l'applicazione che richiede il token di breve durata.
Esegui la persone che seguo :
Linux, macOS o Cloud Shell
gcloud iam service-accounts add-iam-policy-binding PRIV_SA \ --member=serviceAccount:CALLER_SA --role=roles/iam.serviceAccountTokenCreator --format=json
Windows (PowerShell)
gcloud iam service-accounts add-iam-policy-binding PRIV_SA ` --member=serviceAccount:CALLER_SA --role=roles/iam.serviceAccountTokenCreator --format=json
Windows (cmd.exe)
gcloud iam service-accounts add-iam-policy-binding PRIV_SA ^ --member=serviceAccount:CALLER_SA --role=roles/iam.serviceAccountTokenCreator --format=json
Dovresti ricevere una risposta simile alla seguente:
Updated IAM policy for serviceAccount [PRIV_SA]. { "bindings": [ { "members": [ "serviceAccount:CALLER_SA" ], "role": "roles/iam.serviceAccountTokenCreator" } ], "etag": "BwXhCB4eyjY=", "version": 1 }
REST
-
Leggi il criterio di autorizzazione per
PRIV_SA
:La
serviceAccounts.getIamPolicy
ottiene il criterio di autorizzazione di un account di servizio.Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_ID
: il tuo progetto Google Cloud ID. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
.-
PRIV_SA
: l'indirizzo email dell'account di servizio che riceve privilegi per con cui viene creato il token di breve durata. POLICY_VERSION
: la versione del criterio da utilizzare restituito. Le richieste devono specificare la versione del criterio più recente, ovvero la versione del criterio 3. Consulta la sezione Specificare una versione del criterio quando si riceve un criterio per maggiori dettagli.
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/PRIV_SA:getIamPolicy
Corpo JSON della richiesta:
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] } ] }
Se non hai concesso alcun ruolo per l'account di servizio, la risposta contiene solo un valore
etag
. Includietag
nel passaggio successivo. -
Modifica il criterio di autorizzazione per concedere a
CALLER_SA
l'autorizzazione Ruolo Creatore token account di servizio (roles/iam.serviceAccountTokenCreator
).Ad esempio, per modificare la risposta di esempio dal passaggio precedente, aggiungi quanto segue:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] }, { "role": "roles/iam.serviceAccountTokenCreator", "members": [ "serviceAccount:CALLER_SA" ] } ] }
-
Scrivi il criterio di autorizzazione aggiornato:
La
serviceAccounts.setIamPolicy
imposta un criterio di autorizzazione aggiornato per l'account di servizio.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: l'ID del tuo progetto Google Cloud. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
.-
PRIV_SA
: l'indirizzo email dell'account di servizio che riceve privilegi per cui viene creato il token di breve durata. POLICY_VERSION
: la versione del criterio da utilizzare restituito. Le richieste devono specificare la versione del criterio più recente, ovvero la versione del criterio 3. Per maggiori dettagli, consulta la sezione Specificare una versione delle norme al momento dell'ottenimento di una norma.-
POLICY
: una rappresentazione JSON del criterio che che vuoi impostare. Per ulteriori informazioni sul formato di un criterio, consulta Riferimento alle norme.Ad esempio, per impostare il criterio di autorizzazione mostrato nel passaggio precedente, sostituisci
POLICY
con quanto segue, doveCALLER_SA
è l'account di servizio che crea il token di breve durata:{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] }, { "role": "roles/iam.serviceAccountTokenCreator", "members": [ "serviceAccount:CALLER_SA" ] } ] }
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/PRIV_SA
Corpo JSON della richiesta:
{ "policy": POLICY }
Per inviare la richiesta, espandi una delle seguenti opzioni:
La risposta contiene il criterio di autorizzazione aggiornato.
Credenziali utente
Se vuoi utilizzare Google Cloud CLI per generare token di breve durata, o se vuoi generare token di breve durata da un ambiente di sviluppo locale, puoi utilizzare un account utente per generare i token. Spesso puoi usare i tuoi account utente.
Quando utilizzi un account utente per generare token di breve durata, sono coinvolte le seguenti identità:
Account chiamante (
CALLER_ACCOUNT
)Questo account utente viene utilizzato per generare credenziali di breve durata per il l'account di servizio che supporta i privilegi.
Account di servizio privo di privilegi (
PRIV_SA
)A questo account di servizio vengono concessi i ruoli IAM necessari il token di breve durata. Si tratta dell'account di servizio per il quale viene creato il token di breve durata.
Per consentire a
CALLER_ACCOUNT
di creare contenuti di breve durata le credenziali perPRIV_SA
, concediCALLER_ACCOUNT
il ruolo Creatore token account di servizio (roles/iam.serviceAccountTokenCreator
) il giornoPRIV_SA
.Concedi il ruolo richiesto su
PRIV_SA
:Console
-
Nella console Google Cloud, vai alla pagina Account di servizio.
- Seleziona un progetto.
-
Fai clic sull'indirizzo email dell'account di servizio che riceve privilegi.
PRIV_SA
. - Fai clic sulla scheda Autorizzazioni.
- In Entità con accesso a questo account di servizio, fai clic su Concedi l'accesso.
-
Inserisci l'identificatore entità dell'account chiamante,
CALLER_ACCOUNT
.Ad esempio,
example-user@example.com
. -
Seleziona il ruolo Creatore token account di servizio
(
roles/iam.serviceAccountTokenCreator
). - Fai clic su Salva per concedere il ruolo all'account utente.
gcloud
Il comando
gcloud iam service-accounts add-iam-policy-binding
concede un ruolo a un account di servizio.Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:
-
PRIV_SA
: l'indirizzo email dell'account di servizio con privilegi per il quale viene generato il token. -
CALLER_ACCOUNT
: l'indirizzo email del account utente utilizzato per richiedere il token di breve durata.
Esegui la persone che seguo :
Linux, macOS o Cloud Shell
gcloud iam service-accounts add-iam-policy-binding PRIV_SA \ --member=user:CALLER_ACCOUNT --role=roles/iam.serviceAccountTokenCreator --format=json
Windows (PowerShell)
gcloud iam service-accounts add-iam-policy-binding PRIV_SA ` --member=user:CALLER_ACCOUNT --role=roles/iam.serviceAccountTokenCreator --format=json
Windows (cmd.exe)
gcloud iam service-accounts add-iam-policy-binding PRIV_SA ^ --member=user:CALLER_ACCOUNT --role=roles/iam.serviceAccountTokenCreator --format=json
Dovresti ricevere una risposta simile alla seguente:
Updated IAM policy for serviceAccount [PRIV_SA]. { "bindings": [ { "members": [ "user:my-user@example.com" ], "role": "roles/iam.serviceAccountTokenCreator" } ], "etag": "BwX1ZbefjXU=", "version": 1 }
REST
-
Leggi il criterio di autorizzazione per
PRIV_SA
:La
serviceAccounts.getIamPolicy
ottiene il criterio di autorizzazione di un account di servizio.Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_ID
: il tuo progetto Google Cloud ID. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
.-
PRIV_SA
: l'indirizzo email dell'account di servizio che riceve privilegi per con cui viene creato il token di breve durata. POLICY_VERSION
: la versione del criterio da utilizzare restituito. Le richieste devono specificare la versione del criterio più recente, ovvero la versione del criterio 3. Consulta la sezione Specificare una versione del criterio quando si riceve un criterio per maggiori dettagli.
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/PRIV_SA:getIamPolicy
Corpo JSON della richiesta:
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] } ] }
Se non hai concesso alcun ruolo all'account di servizio, la risposta contiene solo un valore
etag
. Includi il valoreetag
nel passaggio successivo. -
Modifica il criterio di autorizzazione da concedere
CALLER_ACCOUNT
il ruolo Creatore token account di servizio (roles/iam.serviceAccountTokenCreator
).Ad esempio, per modificare la risposta di esempio dal passaggio precedente, aggiungi quanto segue:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] }, { "role": "roles/iam.serviceAccountTokenCreator", "members": [ "user:my-user@example.com" ] } ] }
-
Scrivi il criterio di autorizzazione aggiornato:
La
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
.-
PRIV_SA
: l'indirizzo email dell'account di servizio che riceve privilegi per cui viene creato il token di breve durata. POLICY_VERSION
: la versione del criterio da utilizzare restituito. Le richieste devono specificare la versione più recente dei criteri, ovvero la versione 3. Consulta la sezione Specificare una versione del criterio quando si riceve un criterio per maggiori dettagli.-
POLICY
: una rappresentazione JSON del criterio che che vuoi impostare. Per ulteriori informazioni sul formato di un criterio, consulta Riferimento alle norme.Ad esempio, per impostare il criterio di autorizzazione mostrato nel passaggio precedente, sostituisci
POLICY
con il codice seguente, doveCALLER_ACCOUNT
è l'account utente che ha creato il token di breve durata:{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] }, { "role": "roles/iam.serviceAccountTokenCreator", "members": [ "CALLER_ACCOUNT" ] } ] }
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/PRIV_SA
Corpo JSON della richiesta:
{ "policy": POLICY }
Per inviare la richiesta, espandi una delle seguenti opzioni:
La risposta contiene il criterio di autorizzazione aggiornato.
Genera il token di accesso
Puoi generare un token di accesso OAuth 2.0 utilizzando gcloud CLI, l'API REST o le librerie client di Cloud e le librerie client delle API di Google.
Se utilizzi l'API REST e il sistema è configurato per consentire una durata maggiore, puoi crearne uno con una durata maggiore di quella predefinita. Google Cloud CLI non supporta l'impostazione di una durata per il token.
Gli esempi riportati di seguito sono progettati per essere utilizzati in un ambiente di sviluppo locale. il chiamante deve essere rappresentato da un account utente anziché da un account di servizio.
Genera un token di accesso OAuth 2.0 per un account di servizio:
gcloud
Assicurati di aver eseguito l'accesso a gcloud CLI con l'account utente del chiamante.
Genera un token per l'account di servizio utilizzando il comando
gcloud auth print-access-token
.Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:
-
PRIV_SA
: l'indirizzo email dell'account di servizio che riceve privilegi per con cui viene creato il token di breve durata.
Esegui la persone che seguo :
Linux, macOS o Cloud Shell
gcloud auth print-access-token --impersonate-service-account=PRIV_SA
Windows (PowerShell)
gcloud auth print-access-token --impersonate-service-account=PRIV_SA
Windows (cmd.exe)
gcloud auth print-access-token --impersonate-service-account=PRIV_SA
Dovresti ricevere una risposta simile alla seguente:
WARNING: This command is using service account impersonation. All API calls will be executed as [my-sa@my-project.iam.gserviceaccount.com]. ya29.c.b0AXv0zTPnzTnDV8F8Aj5Fgy46Yf2v_v8eZIoKq7xGpfbpXuy23aQ1693m3gAuE8AZga7w6kdagN7a9bfdDYbdeoGY0CMHOClsCwIdutL7k_RFC672lOCbUgF5hS8Iu2nCA8hle-11LJXBLmaxFmH08ZTBJLuDrWSNd8cYqGYFunSC1K1qLIPBF18tsa0hxVgKPucI8b1A9L8_MK1JGLGcr0n7-zY77_lmbcdODG3NmIbLOGWOutjJgqSO_YoeCKK2QTUZIp5PG7RkKlXWnmYJA9pEahzNoQrs5sWZctc2bia9af_ITzqqlXC9h1Kj5-me6e8rd734MJvpagqYazRk0gGWpMb03XmMGpgPc_FBp4pnX9rGOzW83SNpcDz8zeFO1Q0Bo3N7CuZougjRce0y8I2_4rtw5ME_nV3wrCWa..................................................................................................................................................................................................................................................................................................
-
REST
L'API Service Account Credentials
serviceAccounts.generateAccessToken
genera un token di accesso OAuth 2.0 per un account di servizio.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
-
PRIV_SA
: l'indirizzo email dell'account di servizio che riceve privilegi per il quale viene creato il token di breve durata. -
LIFETIME
: il tempo che rimane fino alla scadenza del token di accesso, in secondi. Ad esempio,300s
.Per impostazione predefinita, la durata massima del token è di 1 ora (3600 secondi). per estendere la durata massima di questi token 12 ore (43.200 secondi), Aggiungere l'account di servizio a un criterio dell'organizzazione che include Vincolo di elenco
constraints/iam.allowServiceAccountCredentialLifetimeExtension
.
Metodo HTTP e URL:
POST https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/PRIV_SA:generateAccessToken
Corpo JSON della richiesta:
{ "scope": [ "https://www.googleapis.com/auth/cloud-platform" ], "lifetime": "LIFETIME" }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Se la richiesta
generateAccessToken
ha esito positivo, il corpo della risposta contiene un token di accesso OAuth 2.0 e una data di scadenza. L'accessToken
potrà quindi da utilizzare per autenticare una richiesta per conto dell'account di servizio fino a quando Hai raggiunto il numeroexpireTime
:{ "accessToken": "eyJ0eXAi...NiJ9", "expireTime": "2020-04-07T15:01:23.045123456Z" }
Vai
Java
Node.js
Python
Crea un token ID OpenID Connect (OIDC)
I token ID seguono Specifica OpenID Connect (OIDC). I token ID sono accettati da un numero limitato di servizi e applicazioni.
Per ulteriori informazioni, consulta le sezioni Token ID e Autenticazione per le applicazioni ospitate sulle funzioni di Cloud Run o Cloud Run.
Per creare un token ID, completa le seguenti attività:
Fornisci le autorizzazioni necessarie al chiamante.
Utilizzare il ruolo Creatore token di identità OpenID Connect account di servizio (
roles/iam.serviceAccountOpenIdTokenCreator
) per creare un ID di accesso. Questo è un ruolo diverso da quello che utilizzi per l'altro token di testo.
Fornisci le autorizzazioni richieste
Una richiesta diretta coinvolge due identità: il chiamante che richiede la credenziale e l'account di servizio per il quale la credenziale di accesso. La modalità di configurazione delle autorizzazioni dipende dal fatto che le il chiamante si sta autenticando come account di servizio o come account utente.
Se vuoi eseguire un comando REST o gcloud CLI in questa pagina in un ambiente di sviluppo locale, il chiamante può essere rappresentato dalle credenziali dell'utente. Per i carichi di lavoro automatizzati, come un'applicazione in esecuzione in Compute Engine, il chiamante deve essere rappresentato da un account di servizio.
Service account
Quando l'applicazione chiamante utilizza un account di servizio come identità, sono coinvolte le seguenti entità:
Account di servizio chiamante (
CALLER_SA
)Questo account di servizio rappresenta l'applicazione chiamante, che emette la richiesta per le credenziali di breve durata.
-
Account di servizio privo di privilegi (
PRIV_SA
)A questo account di servizio vengono concessi i ruoli IAM necessari il token di breve durata. Si tratta dell'account di servizio per il quale viene creato un token di breve durata.
Per concedere a
CALLER_SA
autorizzazioni per la creazione di contenuti di breve durata le credenziali perPRIV_SA
, concediCALLER_SA
il ruolo Creatore token di identità OpenID Connect account di servizio (roles/iam.serviceAccountOpenIdTokenCreator
) il giornoPRIV_SA
.Concedi il ruolo richiesto su
PRIV_SA
:Console
-
Nella console Google Cloud, vai alla pagina Account di servizio.
- Seleziona un progetto.
-
Fai clic sull'indirizzo email dell'account di servizio che riceve privilegi.
PRIV_SA
. - Fai clic sulla scheda Autorizzazioni.
- In Entità con accesso a questo account di servizio, fai clic su Concedi l'accesso.
-
Inserisci l'indirizzo email dell'account di servizio per il chiamante,
CALLER_SA
.Ad esempio,
demo@my-project.iam.gserviceaccount.com
. -
Seleziona il ruolo Creatore token di identità OpenID Connect account di servizio
(
roles/iam.serviceAccountOpenIdTokenCreator
). - Fai clic su Salva per concedere il ruolo all'account di servizio.
gcloud
La
gcloud iam service-accounts add-iam-policy-binding
concede un ruolo nell'account di servizio.Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:
-
PRIV_SA
: l'indirizzo email dell'account di servizio con privilegi per il quale viene generato il token. -
CALLER_SA
: l'indirizzo email del account di servizio che rappresenta l'applicazione che richiede il token di breve durata.
Esegui la persone che seguo :
Linux, macOS o Cloud Shell
gcloud iam service-accounts add-iam-policy-binding PRIV_SA \ --member=serviceAccount:CALLER_SA --role=roles/iam.serviceAccountOpenIdTokenCreator --format=json
Windows (PowerShell)
gcloud iam service-accounts add-iam-policy-binding PRIV_SA ` --member=serviceAccount:CALLER_SA --role=roles/iam.serviceAccountOpenIdTokenCreator --format=json
Windows (cmd.exe)
gcloud iam service-accounts add-iam-policy-binding PRIV_SA ^ --member=serviceAccount:CALLER_SA --role=roles/iam.serviceAccountOpenIdTokenCreator --format=json
Dovresti ricevere una risposta simile alla seguente:
Updated IAM policy for serviceAccount [PRIV_SA]. { "bindings": [ { "members": [ "serviceAccount:CALLER_SA" ], "role": "roles/iam.serviceAccountOpenIdTokenCreator" } ], "etag": "BwXhCB4eyjY=", "version": 1 }
REST
-
Leggi il criterio di autorizzazione per
PRIV_SA
:La
serviceAccounts.getIamPolicy
ottiene il criterio di autorizzazione di un account di servizio.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo progetto Google Cloud ID. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
.-
PRIV_SA
: l'indirizzo email dell'account di servizio che riceve privilegi per con cui viene creato il token di breve durata. POLICY_VERSION
: la versione del criterio da utilizzare restituito. Le richieste devono specificare la versione del criterio più recente, ovvero la versione del criterio 3. Consulta la sezione Specificare una versione del criterio quando si riceve un criterio per maggiori dettagli.
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/PRIV_SA:getIamPolicy
Corpo JSON della richiesta:
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] } ] }
Se non hai concesso alcun ruolo per l'account di servizio, la risposta contiene solo un valore
etag
. Includi il valoreetag
nel passaggio successivo. -
Modifica il criterio di autorizzazione per concedere a
CALLER_SA
l'autorizzazione Ruolo Creatore token di identità OpenID Connect account di servizio (roles/iam.serviceAccountOpenIdTokenCreator
).Ad esempio, per modificare la risposta di esempio dal passaggio precedente, aggiungi quanto segue:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] }, { "role": "roles/iam.serviceAccountOpenIdTokenCreator", "members": [ "serviceAccount:CALLER_SA" ] } ] }
-
Scrivi il criterio di autorizzazione aggiornato:
La
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
.-
PRIV_SA
: l'indirizzo email dell'account di servizio che riceve privilegi per cui viene creato il token di breve durata. POLICY_VERSION
: la versione del criterio da restituire. Le richieste devono specificare la versione del criterio più recente, ovvero la versione del criterio 3. Consulta la sezione Specificare una versione del criterio quando si riceve un criterio per maggiori dettagli.-
POLICY
: una rappresentazione JSON del criterio che che vuoi impostare. Per ulteriori informazioni sul formato di un criterio, consulta Riferimento alle norme.Ad esempio, per impostare il criterio di autorizzazione mostrato nel passaggio precedente, sostituisci
POLICY
con quanto segue, doveCALLER_SA
è l'account di servizio creando il token di breve durata:{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] }, { "role": "roles/iam.serviceAccountOpenIdTokenCreator", "members": [ "serviceAccount:CALLER_SA" ] } ] }
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/PRIV_SA
Corpo JSON della richiesta:
{ "policy": POLICY }
Per inviare la richiesta, espandi una delle seguenti opzioni:
La risposta contiene il criterio di autorizzazione aggiornato.
Credenziali utente
Se vuoi utilizzare Google Cloud CLI per generare token di breve durata, o se vuoi generare token di breve durata da un ambiente di sviluppo locale, puoi utilizzare un account utente per generare i token. Spesso puoi usare i tuoi account utente.
Quando utilizzi un account utente per generare token di breve durata, sono coinvolte le seguenti identità:
Account chiamante (
CALLER_ACCOUNT
)Questo account utente viene utilizzato per generare credenziali di breve durata per il l'account di servizio che supporta i privilegi.
Account di servizio privo di privilegi (
PRIV_SA
)A questo account di servizio vengono concessi i ruoli IAM necessari il token di breve durata. Si tratta dell'account di servizio per il quale viene creato un token di breve durata.
Per consentire a
CALLER_ACCOUNT
di creare contenuti di breve durata le credenziali perPRIV_SA
, concediCALLER_ACCOUNT
il ruolo Creatore token di identità OpenID Connect account di servizio (roles/iam.serviceAccountOpenIdTokenCreator
) il giornoPRIV_SA
.Concedi il ruolo richiesto su
PRIV_SA
:Console
-
Nella console Google Cloud, vai alla pagina Account di servizio.
- Seleziona un progetto.
-
Fai clic sull'indirizzo email dell'account di servizio che riceve privilegi.
PRIV_SA
. - Fai clic sulla scheda Autorizzazioni.
- In Entità con accesso a questo account di servizio, fai clic su Concedi l'accesso.
-
Inserisci l'identificatore entità dell'account chiamante,
CALLER_ACCOUNT
.Ad esempio,
example-user@example.com
. -
Seleziona il ruolo Creatore token di identità OpenID Connect account di servizio
(
roles/iam.serviceAccountOpenIdTokenCreator
). - Fai clic su Salva per concedere il ruolo all'account utente.
gcloud
Il comando
gcloud iam service-accounts add-iam-policy-binding
concede un ruolo a un account di servizio.Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:
-
PRIV_SA
: l'indirizzo email dell'account di servizio con privilegi per il quale viene generato il token. -
CALLER_ACCOUNT
: l'indirizzo email del account utente utilizzato per richiedere il token di breve durata.
Esegui la persone che seguo :
Linux, macOS o Cloud Shell
gcloud iam service-accounts add-iam-policy-binding PRIV_SA \ --member=user:CALLER_ACCOUNT --role=roles/iam.serviceAccountOpenIdTokenCreator --format=json
Windows (PowerShell)
gcloud iam service-accounts add-iam-policy-binding PRIV_SA ` --member=user:CALLER_ACCOUNT --role=roles/iam.serviceAccountOpenIdTokenCreator --format=json
Windows (cmd.exe)
gcloud iam service-accounts add-iam-policy-binding PRIV_SA ^ --member=user:CALLER_ACCOUNT --role=roles/iam.serviceAccountOpenIdTokenCreator --format=json
Dovresti ricevere una risposta simile alla seguente:
Updated IAM policy for serviceAccount [PRIV_SA]. { "bindings": [ { "members": [ "user:my-user@example.com" ], "role": "roles/iam.serviceAccountOpenIdTokenCreator" } ], "etag": "BwX1ZbefjXU=", "version": 1 }
REST
-
Leggi il criterio di autorizzazione per
PRIV_SA
:Il metodo
serviceAccounts.getIamPolicy
recupera il criterio di autorizzazione di un account di servizio.Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_ID
: il tuo progetto Google Cloud ID. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
.-
PRIV_SA
: l'indirizzo email dell'account di servizio che riceve privilegi per con cui viene creato il token di breve durata. POLICY_VERSION
: la versione del criterio da restituire. Le richieste devono specificare la versione del criterio più recente, ovvero la versione del criterio 3. Consulta la sezione Specificare una versione del criterio quando si riceve un criterio per maggiori dettagli.
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/PRIV_SA:getIamPolicy
Corpo JSON della richiesta:
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] } ] }
Se non hai concesso alcun ruolo all'account di servizio, la risposta contiene solo un valore
etag
. Includietag
nel passaggio successivo. -
Modifica il criterio di autorizzazione da concedere
CALLER_ACCOUNT
il ruolo Creatore token di identità OpenID Connect account di servizio (roles/iam.serviceAccountOpenIdTokenCreator
).Ad esempio, per modificare la risposta di esempio dal passaggio precedente, aggiungi quanto segue:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] }, { "role": "roles/iam.serviceAccountOpenIdTokenCreator", "members": [ "user:my-user@example.com" ] } ] }
-
Scrivi il criterio di autorizzazione aggiornato:
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
.-
PRIV_SA
: l'indirizzo email dell'account di servizio che riceve privilegi per cui viene creato il token di breve durata. POLICY_VERSION
: la versione del criterio da utilizzare restituito. Le richieste devono specificare la versione più recente dei criteri, ovvero la versione 3. Consulta la sezione Specificare una versione del criterio quando si riceve un criterio per maggiori dettagli.-
POLICY
: una rappresentazione JSON del criterio che che vuoi impostare. Per ulteriori informazioni sul formato di un criterio, consulta Riferimento alle norme.Ad esempio, per impostare il criterio di autorizzazione mostrato nel passaggio precedente, sostituisci
POLICY
con il codice seguente, doveCALLER_ACCOUNT
è l'account utente che ha creato il token di breve durata:{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] }, { "role": "roles/iam.serviceAccountOpenIdTokenCreator", "members": [ "CALLER_ACCOUNT" ] } ] }
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/PRIV_SA
Corpo JSON della richiesta:
{ "policy": POLICY }
Per inviare la richiesta, espandi una delle seguenti opzioni:
La risposta contiene il criterio di autorizzazione aggiornato.
Genera il token ID
Puoi generare un token ID OpenID Connect (OIDC) utilizzando gcloud CLI, l'API REST o le librerie client Cloud e le librerie client dell'API di Google.
Gli esempi riportati di seguito sono progettati per essere utilizzati in un ambiente di sviluppo locale. il chiamante deve essere rappresentato da un account utente anziché da un account di servizio.
I token ID OIDC sono validi per 1 ora (3600 secondi).
Genera un token ID OIDC firmato da Google per un account di servizio:
gcloud
Assicurati di aver eseguito l'accesso a gcloud CLI con l'account utente del chiamante.
Genera un token per l'account di servizio utilizzando il comando
gcloud auth print-access-token
.Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:
-
PRIV_SA
: l'indirizzo email dell'account di servizio con privilegi per cui viene creato il token di breve durata. -
AUDIENCE_NAME
: il pubblico del token, di solito l'URL del un'applicazione o un servizio a cui verrà usato il token per accedere.
Esegui la persone che seguo :
Linux, macOS o Cloud Shell
gcloud auth print-identity-token --impersonate-service-account=PRIV_SA --audiences="AUDIENCE_NAME"
Windows (PowerShell)
gcloud auth print-identity-token --impersonate-service-account=PRIV_SA --audiences="AUDIENCE_NAME"
Windows (cmd.exe)
gcloud auth print-identity-token --impersonate-service-account=PRIV_SA --audiences="AUDIENCE_NAME"
Dovresti ricevere una risposta simile alla seguente:
WARNING: This command is using service account impersonation. All API calls will be executed as [my-sa@my-project.iam.gserviceaccount.com]. eyJhbGciOiJSUzI1NiIsImtpZDNhMDg4ZDRmZmMjJkYTVmZTM5MDZjY2MiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJ3d3cuZXhhbXBsJhenAiOiIxMTYzwNDYyMDk0ODIiLCJleHAiOjE2NTQ4ODU0MzEsImlhdCI6MTY1NDg4MTgzMSwiaXN6Ly9hY2NvdW50cy5nb29nbGUuY29tIiwic3ViIMDQ2MjA5NDgyIn0.F7mu8IHj5VQdu7ItFrnYAKyGd7YqXuOP_rFLc98q8BaFBycAF1zAQnSnwqnSUXba0UK9PDT_-IOry68qLwBObz4XlX9lk0ehpN0O0W9FcFToKLB6wefXXPd4h7xtuPe5KzmpSOqj2Qqv34HriGw00Nqd-oGSgNY_lZ4wGEf4rT4oQa_kEcrY57Q2G6pwd769BhgeFwoLi5aK_Cv2kvf_zfMszC-xlkP9zwWQ8XinJBwe-qcQBa4NTgrbueNtXsEjccBS366zmw
-
REST
L'API Service Account Credentials
serviceAccounts.generateIdToken
genera un token ID OIDC per un account di servizio.Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
-
PRIV_SA
: l'indirizzo email dell'account di servizio che riceve privilegi per con cui viene creato il token di breve durata. -
AUDIENCE_NAME
: il pubblico del token, di solito l'URL del un'applicazione o un servizio a cui verrà usato il token per accedere.
Metodo HTTP e URL:
POST https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/PRIV_SA:generateIdToken
Corpo JSON della richiesta:
{ "audience": "AUDIENCE_NAME", "includeEmail": "true" }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Se la richiesta
generateId
ha esito positivo, il corpo della risposta contiene un token ID valido per un'ora.token
può quindi essere utilizzato per autenticare una richiesta per conto dell'account di servizio:{ "token": "eyJ0eXAi...NiJ9" }
Creare un token web JSON (JWT) autofirmato
I token web JSON (JWT) autofirmati sono utili in diversi scenari:
- Comunicazione sicura tra le tue applicazioni. In questo scenario, applicazione può firmare un token che può essere verificato da un'altra applicazione per l'autenticazione.
- Autenticazione di una chiamata a un'API di Google come descritto in Autorizzazione dell'account di servizio senza OAuth.
- Autenticazione in un'API di cui è stato eseguito il deployment con API Gateway.
- Trattare un account di servizio come provider di identità firmando un JWT che contiene dichiarazioni arbitrarie su un utente, un account o un dispositivo.
Per creare un JWT, completa queste attività:
Fornisci le autorizzazioni richieste
Una richiesta diretta coinvolge due identità: il chiamante che richiede la credenziale e l'account di servizio per il quale la credenziale di accesso. La modalità di configurazione delle autorizzazioni dipende dal fatto che le il chiamante si sta autenticando come account di servizio o come account utente.
Se vuoi eseguire un comando REST o gcloud CLI in questa pagina in un ambiente di sviluppo locale, il chiamante può essere rappresentato dalle credenziali dell'utente. Per i carichi di lavoro automatizzati, come un'applicazione in esecuzione in Compute Engine, il chiamante deve essere rappresentato da un account di servizio.
Service account
Quando l'applicazione chiamante utilizza un account di servizio come identità, sono coinvolte le seguenti entità:
Account di servizio chiamante (
CALLER_SA
)Questo account di servizio rappresenta l'applicazione chiamante, che emette la richiesta per le credenziali di breve durata.
-
Account di servizio privo di privilegi (
PRIV_SA
)A questo account di servizio vengono concessi i ruoli IAM necessari il token di breve durata. Si tratta dell'account di servizio per il quale viene creato un token di breve durata.
Per concedere a
CALLER_SA
autorizzazioni per la creazione di contenuti di breve durata le credenziali perPRIV_SA
, concediCALLER_SA
il ruolo Creatore token account di servizio (roles/iam.serviceAccountTokenCreator
) il giornoPRIV_SA
.Concedi il ruolo richiesto su
PRIV_SA
:Console
-
Nella console Google Cloud, vai alla pagina Account di servizio.
- Seleziona un progetto.
-
Fai clic sull'indirizzo email dell'account di servizio che riceve privilegi.
PRIV_SA
. - Fai clic sulla scheda Autorizzazioni.
- In Entità con accesso a questo account di servizio, fai clic su Concedi l'accesso.
-
Inserisci l'indirizzo email dell'account di servizio dell'utente che chiama,
CALLER_SA
.Ad esempio,
demo@my-project.iam.gserviceaccount.com
. -
Seleziona il ruolo Creatore token account di servizio
(
roles/iam.serviceAccountTokenCreator
). - Fai clic su Salva per concedere il ruolo all'account di servizio.
gcloud
La
gcloud iam service-accounts add-iam-policy-binding
concede un ruolo nell'account di servizio.Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
-
PRIV_SA
: l'indirizzo email dell'account di servizio con privilegi per il quale viene generato il token. -
CALLER_SA
: l'indirizzo email del account di servizio che rappresenta l'applicazione che richiede il token di breve durata.
Esegui la persone che seguo :
Linux, macOS o Cloud Shell
gcloud iam service-accounts add-iam-policy-binding PRIV_SA \ --member=serviceAccount:CALLER_SA --role=roles/iam.serviceAccountTokenCreator --format=json
Windows (PowerShell)
gcloud iam service-accounts add-iam-policy-binding PRIV_SA ` --member=serviceAccount:CALLER_SA --role=roles/iam.serviceAccountTokenCreator --format=json
Windows (cmd.exe)
gcloud iam service-accounts add-iam-policy-binding PRIV_SA ^ --member=serviceAccount:CALLER_SA --role=roles/iam.serviceAccountTokenCreator --format=json
Dovresti ricevere una risposta simile alla seguente:
Updated IAM policy for serviceAccount [PRIV_SA]. { "bindings": [ { "members": [ "serviceAccount:CALLER_SA" ], "role": "roles/iam.serviceAccountTokenCreator" } ], "etag": "BwXhCB4eyjY=", "version": 1 }
REST
-
Leggi il criterio di autorizzazione per
PRIV_SA
:Il metodo
serviceAccounts.getIamPolicy
recupera il criterio di autorizzazione di un account di servizio.Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_ID
: il tuo progetto Google Cloud ID. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
.-
PRIV_SA
: l'indirizzo email dell'account di servizio che riceve privilegi per con cui viene creato il token di breve durata. POLICY_VERSION
: la versione del criterio da utilizzare restituito. Le richieste devono specificare la versione del criterio più recente, ovvero la versione del criterio 3. Consulta la sezione Specificare una versione del criterio quando si riceve un criterio per maggiori dettagli.
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/PRIV_SA:getIamPolicy
Corpo JSON della richiesta:
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] } ] }
Se non hai concesso alcun ruolo per l'account di servizio, la risposta contiene solo un valore
etag
. Includietag
nel passaggio successivo. -
Modifica il criterio di autorizzazione per concedere a
CALLER_SA
l'autorizzazione Ruolo Creatore token account di servizio (roles/iam.serviceAccountTokenCreator
).Ad esempio, per modificare la risposta di esempio dal passaggio precedente, aggiungi quanto segue:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] }, { "role": "roles/iam.serviceAccountTokenCreator", "members": [ "serviceAccount:CALLER_SA" ] } ] }
-
Scrivi il criterio di autorizzazione aggiornato:
La
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
.-
PRIV_SA
: l'indirizzo email dell'account di servizio che riceve privilegi per cui viene creato il token di breve durata. POLICY_VERSION
: la versione del criterio da utilizzare restituito. Le richieste devono specificare la versione del criterio più recente, ovvero la versione del criterio 3. Per maggiori dettagli, consulta la sezione Specificare una versione delle norme al momento dell'ottenimento di una norma.-
POLICY
: una rappresentazione JSON del criterio che che vuoi impostare. Per ulteriori informazioni sul formato di un criterio, consulta Riferimento alle norme.Ad esempio, per impostare il criterio di autorizzazione mostrato nel passaggio precedente, sostituisci
POLICY
con quanto segue, doveCALLER_SA
è l'account di servizio creando il token di breve durata:{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] }, { "role": "roles/iam.serviceAccountTokenCreator", "members": [ "serviceAccount:CALLER_SA" ] } ] }
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/PRIV_SA
Corpo JSON della richiesta:
{ "policy": POLICY }
Per inviare la richiesta, espandi una delle seguenti opzioni:
La risposta contiene il criterio di autorizzazione aggiornato.
Credenziali utente
Se vuoi utilizzare Google Cloud CLI per generare token di breve durata, o se vuoi generare token di breve durata da un ambiente di sviluppo locale, puoi utilizzare un account utente per generare i token. Spesso puoi usare i tuoi account utente.
Quando utilizzi un account utente per generare token di breve durata, sono coinvolte le seguenti identità:
Account chiamante (
CALLER_ACCOUNT
)Questo account utente viene utilizzato per generare credenziali di breve durata per il l'account di servizio che supporta i privilegi.
Account di servizio privo di privilegi (
PRIV_SA
)A questo account di servizio vengono concessi i ruoli IAM necessari il token di breve durata. Si tratta dell'account di servizio per il quale viene creato il token di breve durata.
Per consentire a
CALLER_ACCOUNT
di creare contenuti di breve durata le credenziali perPRIV_SA
, concediCALLER_ACCOUNT
il ruolo Creatore token account di servizio (roles/iam.serviceAccountTokenCreator
) il giornoPRIV_SA
.Concedi il ruolo richiesto su
PRIV_SA
:Console
-
Nella console Google Cloud, vai alla pagina Account di servizio.
- Seleziona un progetto.
-
Fai clic sull'indirizzo email dell'account di servizio che riceve privilegi.
PRIV_SA
. - Fai clic sulla scheda Autorizzazioni.
- In Entità con accesso a questo account di servizio, fai clic su Concedi l'accesso.
-
Inserisci l'identificatore entità dell'account chiamante,
CALLER_ACCOUNT
.Ad esempio,
example-user@example.com
. -
Seleziona il ruolo Creatore token account di servizio
(
roles/iam.serviceAccountTokenCreator
). - Fai clic su Salva per concedere il ruolo all'account utente.
gcloud
La
gcloud iam service-accounts add-iam-policy-binding
concede un ruolo nell'account di servizio.Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:
-
PRIV_SA
: l'indirizzo email dell'account di servizio con privilegi per il quale viene generato il token. -
CALLER_ACCOUNT
: l'indirizzo email del account utente utilizzato per richiedere il token di breve durata.
Esegui la persone che seguo :
Linux, macOS o Cloud Shell
gcloud iam service-accounts add-iam-policy-binding PRIV_SA \ --member=user:CALLER_ACCOUNT --role=roles/iam.serviceAccountTokenCreator --format=json
Windows (PowerShell)
gcloud iam service-accounts add-iam-policy-binding PRIV_SA ` --member=user:CALLER_ACCOUNT --role=roles/iam.serviceAccountTokenCreator --format=json
Windows (cmd.exe)
gcloud iam service-accounts add-iam-policy-binding PRIV_SA ^ --member=user:CALLER_ACCOUNT --role=roles/iam.serviceAccountTokenCreator --format=json
Dovresti ricevere una risposta simile alla seguente:
Updated IAM policy for serviceAccount [PRIV_SA]. { "bindings": [ { "members": [ "user:my-user@example.com" ], "role": "roles/iam.serviceAccountTokenCreator" } ], "etag": "BwX1ZbefjXU=", "version": 1 }
REST
-
Leggi il criterio di autorizzazione per
PRIV_SA
:La
serviceAccounts.getIamPolicy
ottiene il criterio di autorizzazione di un account di servizio.Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_ID
: il tuo progetto Google Cloud ID. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
.-
PRIV_SA
: l'indirizzo email dell'account di servizio che riceve privilegi per con cui viene creato il token di breve durata. POLICY_VERSION
: la versione del criterio da utilizzare restituito. Le richieste devono specificare la versione del criterio più recente, ovvero la versione del criterio 3. Per maggiori dettagli, consulta la sezione Specificare una versione delle norme al momento dell'ottenimento di una norma.
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/PRIV_SA:getIamPolicy
Corpo JSON della richiesta:
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] } ] }
Se non hai concesso alcun ruolo all'account di servizio, la risposta contiene solo un valore
etag
. Includi il valoreetag
nel passaggio successivo. -
Modifica il criterio di autorizzazione da concedere
CALLER_ACCOUNT
il ruolo Creatore token account di servizio (roles/iam.serviceAccountTokenCreator
).Ad esempio, per modificare la risposta di esempio dal passaggio precedente, aggiungi quanto segue:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] }, { "role": "roles/iam.serviceAccountTokenCreator", "members": [ "user:my-user@example.com" ] } ] }
-
Scrivi il criterio di autorizzazione aggiornato:
La
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
.-
PRIV_SA
: l'indirizzo email dell'account di servizio che riceve privilegi per cui viene creato il token di breve durata. POLICY_VERSION
: la versione del criterio da restituire. Le richieste devono specificare la versione del criterio più recente, ovvero la versione del criterio 3. Per maggiori dettagli, consulta la sezione Specificare una versione delle norme al momento dell'ottenimento di una norma.-
POLICY
: una rappresentazione JSON del criterio che vuoi impostare. Per ulteriori informazioni sul formato di un criterio, consulta Riferimento alle norme.Ad esempio, per impostare il criterio di autorizzazione mostrato nel passaggio precedente, sostituisci
POLICY
con il codice seguente, doveCALLER_ACCOUNT
è l'account utente che ha creato il token di breve durata:{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] }, { "role": "roles/iam.serviceAccountTokenCreator", "members": [ "CALLER_ACCOUNT" ] } ] }
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/PRIV_SA
Corpo JSON della richiesta:
{ "policy": POLICY }
Per inviare la richiesta, espandi una delle seguenti opzioni:
La risposta contiene il criterio di autorizzazione aggiornato.
Genera il JWT
Genera un JWT autofirmato:
REST
L'API Service Account Credentials
serviceAccounts.signJwt
firma un JWT utilizzando la chiave privata gestita dal sistema di un account di servizio.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
-
PRIV_SA
: l'indirizzo email dell'account di servizio che riceve privilegi per con cui viene creato il token di breve durata. -
JWT_PAYLOAD
: il payload JWT da firmare, che è un oggetto JSON che contiene un set di attestazioni JWT. Includi le dichiarazioni necessarie per il caso d'uso desiderato e per soddisfare i requisiti di convalida per il servizio che stai chiamando. Se chiami un API di Google, consulta la guida all'autenticazione di Google per conoscere i requisiti delle rivendicazioni.Il reclamo
exp
(tempo di scadenza) non deve essere superiore a 12 ore nel futuro. Se chiami un'API di Google, la rivendicazioneexp
non deve durare più di un'ora in per il futuro.Il payload di esempio seguente contiene dichiarazioni per chiamare un'API di Google, in cui
EXP
è un timestamp intero che rappresenta la data e l'ora di scadenza:{ \"iss\": \"PRIV_SA\", \"sub\": \"PRIV_SA\", \"aud\": \"https://firestore.googleapis.com/\", \"iat\": 1529350000, \"exp\": EXP }
Metodo HTTP e URL:
POST https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/PRIV_SA:signJwt
Corpo JSON della richiesta:
{ "payload": "JWT_PAYLOAD" }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Se la richiesta
signJwt
ha esito positivo, il corpo della risposta contiene un JWT firmato e l'ID della chiave di firma utilizzato per firmare il JWT. Puoi utilizzare il valoresignedJwt
come token di trasporto per autenticare direttamente una richiesta per conto dell'account di servizio. Il token è valido fino alla scadenza specificata nella richiesta:{ "keyId": "42ba1e...fc0a", "signedJwt": "eyJ0eXAi...NiJ9" }
Creare un oggetto binario (blob) autofirmato
Gli oggetti binari autofirmati, o BLOB, vengono utilizzati per trasmettere dati binari in modo in cui è noto l'autore dei dati (perché il blob è autofirmato). I BLOB possono essere utilizzati per creare firme, un oggetto Cloud Storage necessario da vari flussi di autenticazione, inclusi gli URL firmati. Per informazioni su firme, consulta la documentazione di Cloud Storage.
Per creare un oggetto binario autofirmato, completa queste attività:
Fornisci le autorizzazioni richieste
Una richiesta diretta coinvolge due identità: l'utente chiamante che richiede la credenziale e l'account di servizio per cui viene creata la credenziale. La modalità di configurazione delle autorizzazioni dipende dal fatto che le il chiamante si sta autenticando come account di servizio o come account utente.
Se vuoi eseguire un comando REST o gcloud CLI in questa pagina in un ambiente di sviluppo locale, il chiamante può essere rappresentato dalle credenziali dell'utente. Per i carichi di lavoro automatizzati, come un'applicazione in esecuzione in Compute Engine, il chiamante deve essere rappresentato da un account di servizio.
Service account
Quando l'applicazione chiamante utilizza un account di servizio come identità, sono coinvolte le seguenti entità:
Account di servizio chiamante (
CALLER_SA
)Questo account di servizio rappresenta l'applicazione chiamante, che emette la richiesta per le credenziali di breve durata.
-
Account di servizio privo di privilegi (
PRIV_SA
)A questo account di servizio vengono concessi i ruoli IAM necessari il token di breve durata. Si tratta dell'account di servizio per il quale viene creato un token di breve durata.
Per concedere a
CALLER_SA
autorizzazioni per la creazione di contenuti di breve durata le credenziali perPRIV_SA
, concediCALLER_SA
il ruolo Creatore token account di servizio (roles/iam.serviceAccountTokenCreator
) il giornoPRIV_SA
.Concedi il ruolo richiesto su
PRIV_SA
:Console
-
Nella console Google Cloud, vai alla pagina Account di servizio.
- Seleziona un progetto.
-
Fai clic sull'indirizzo email dell'account di servizio che riceve privilegi.
PRIV_SA
. - Fai clic sulla scheda Autorizzazioni.
- In Entità con accesso a questo account di servizio, fai clic su Concedi l'accesso.
-
Inserisci l'indirizzo email dell'account di servizio dell'utente che chiama,
CALLER_SA
.Ad esempio,
demo@my-project.iam.gserviceaccount.com
. -
Seleziona il ruolo Creatore token account di servizio
(
roles/iam.serviceAccountTokenCreator
). - Fai clic su Salva per concedere il ruolo all'account di servizio.
gcloud
La
gcloud iam service-accounts add-iam-policy-binding
concede un ruolo nell'account di servizio.Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:
-
PRIV_SA
: l'indirizzo email dell'account di servizio con privilegi per il quale viene generato il token. -
CALLER_SA
: l'indirizzo email del account di servizio che rappresenta l'applicazione che richiede il token di breve durata.
Esegui la persone che seguo :
Linux, macOS o Cloud Shell
gcloud iam service-accounts add-iam-policy-binding PRIV_SA \ --member=serviceAccount:CALLER_SA --role=roles/iam.serviceAccountTokenCreator --format=json
Windows (PowerShell)
gcloud iam service-accounts add-iam-policy-binding PRIV_SA ` --member=serviceAccount:CALLER_SA --role=roles/iam.serviceAccountTokenCreator --format=json
Windows (cmd.exe)
gcloud iam service-accounts add-iam-policy-binding PRIV_SA ^ --member=serviceAccount:CALLER_SA --role=roles/iam.serviceAccountTokenCreator --format=json
Dovresti ricevere una risposta simile alla seguente:
Updated IAM policy for serviceAccount [PRIV_SA]. { "bindings": [ { "members": [ "serviceAccount:CALLER_SA" ], "role": "roles/iam.serviceAccountTokenCreator" } ], "etag": "BwXhCB4eyjY=", "version": 1 }
REST
-
Leggi il criterio di autorizzazione per
PRIV_SA
:La
serviceAccounts.getIamPolicy
ottiene il criterio di autorizzazione di un account di servizio.Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_ID
: il tuo progetto Google Cloud ID. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
.-
PRIV_SA
: l'indirizzo email dell'account di servizio che riceve privilegi per con cui viene creato il token di breve durata. POLICY_VERSION
: la versione del criterio da utilizzare restituito. Le richieste devono specificare la versione del criterio più recente, ovvero la versione del criterio 3. Consulta la sezione Specificare una versione del criterio quando si riceve un criterio per maggiori dettagli.
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/PRIV_SA:getIamPolicy
Corpo JSON della richiesta:
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] } ] }
Se non hai concesso alcun ruolo per l'account di servizio, la risposta contiene solo un valore
etag
. Includietag
nel passaggio successivo. -
Modifica il criterio di autorizzazione per concedere a
CALLER_SA
l'autorizzazione Ruolo Creatore token account di servizio (roles/iam.serviceAccountTokenCreator
).Ad esempio, per modificare la risposta di esempio dal passaggio precedente, aggiungi quanto segue:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] }, { "role": "roles/iam.serviceAccountTokenCreator", "members": [ "serviceAccount:CALLER_SA" ] } ] }
-
Scrivi il criterio di autorizzazione aggiornato:
La
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
.-
PRIV_SA
: l'indirizzo email dell'account di servizio che riceve privilegi per cui viene creato il token di breve durata. POLICY_VERSION
: la versione del criterio da utilizzare restituito. Le richieste devono specificare la versione del criterio più recente, ovvero la versione del criterio 3. Consulta la sezione Specificare una versione del criterio quando si riceve un criterio per maggiori dettagli.-
POLICY
: una rappresentazione JSON del criterio che vuoi impostare. Per ulteriori informazioni sul formato di un criterio, consulta Riferimento alle norme.Ad esempio, per impostare il criterio di autorizzazione mostrato nel passaggio precedente, sostituisci
POLICY
con quanto segue, doveCALLER_SA
è l'account di servizio creando il token di breve durata:{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] }, { "role": "roles/iam.serviceAccountTokenCreator", "members": [ "serviceAccount:CALLER_SA" ] } ] }
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/PRIV_SA
Corpo JSON della richiesta:
{ "policy": POLICY }
Per inviare la richiesta, espandi una delle seguenti opzioni:
La risposta contiene il criterio di autorizzazione aggiornato.
Credenziali utente
Se vuoi utilizzare Google Cloud CLI per generare token di breve durata, o se vuoi generare token di breve durata da un ambiente di sviluppo locale, puoi utilizzare un account utente per generare i token. Spesso puoi usare i tuoi account utente.
Quando utilizzi un account utente per generare token di breve durata, sono coinvolte le seguenti identità:
Account chiamante (
CALLER_ACCOUNT
)Questo account utente viene utilizzato per generare credenziali di breve durata per il l'account di servizio che supporta i privilegi.
Account di servizio privo di privilegi (
PRIV_SA
)A questo account di servizio vengono concessi i ruoli IAM necessari il token di breve durata. Si tratta dell'account di servizio per il quale viene creato il token di breve durata.
Per consentire a
CALLER_ACCOUNT
di creare contenuti di breve durata le credenziali perPRIV_SA
, concediCALLER_ACCOUNT
il ruolo Creatore token account di servizio (roles/iam.serviceAccountTokenCreator
) il giornoPRIV_SA
.Concedi il ruolo richiesto su
PRIV_SA
:Console
-
Nella console Google Cloud, vai alla pagina Account di servizio.
- Seleziona un progetto.
-
Fai clic sull'indirizzo email dell'account di servizio che riceve privilegi.
PRIV_SA
. - Fai clic sulla scheda Autorizzazioni.
- In Entità con accesso a questo account di servizio, fai clic su Concedi l'accesso.
-
Inserisci l'identificatore entità dell'account chiamante,
CALLER_ACCOUNT
.Ad esempio,
example-user@example.com
. -
Seleziona il ruolo Creatore token account di servizio
(
roles/iam.serviceAccountTokenCreator
). - Fai clic su Salva per concedere il ruolo all'account utente.
gcloud
Il comando
gcloud iam service-accounts add-iam-policy-binding
concede un ruolo a un account di servizio.Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:
-
PRIV_SA
: l'indirizzo email dell'account di servizio con privilegi per il quale viene generato il token. -
CALLER_ACCOUNT
: l'indirizzo email del account utente utilizzato per richiedere il token di breve durata.
Esegui la persone che seguo :
Linux, macOS o Cloud Shell
gcloud iam service-accounts add-iam-policy-binding PRIV_SA \ --member=user:CALLER_ACCOUNT --role=roles/iam.serviceAccountTokenCreator --format=json
Windows (PowerShell)
gcloud iam service-accounts add-iam-policy-binding PRIV_SA ` --member=user:CALLER_ACCOUNT --role=roles/iam.serviceAccountTokenCreator --format=json
Windows (cmd.exe)
gcloud iam service-accounts add-iam-policy-binding PRIV_SA ^ --member=user:CALLER_ACCOUNT --role=roles/iam.serviceAccountTokenCreator --format=json
Dovresti ricevere una risposta simile alla seguente:
Updated IAM policy for serviceAccount [PRIV_SA]. { "bindings": [ { "members": [ "user:my-user@example.com" ], "role": "roles/iam.serviceAccountTokenCreator" } ], "etag": "BwX1ZbefjXU=", "version": 1 }
REST
-
Leggi il criterio di autorizzazione per
PRIV_SA
:La
serviceAccounts.getIamPolicy
ottiene il criterio di autorizzazione di un account di servizio.Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_ID
: il tuo progetto Google Cloud ID. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
.-
PRIV_SA
: l'indirizzo email dell'account di servizio che riceve privilegi per con cui viene creato il token di breve durata. POLICY_VERSION
: la versione del criterio da utilizzare restituito. Le richieste devono specificare la versione del criterio più recente, ovvero la versione del criterio 3. Consulta la sezione Specificare una versione del criterio quando si riceve un criterio per maggiori dettagli.
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/PRIV_SA:getIamPolicy
Corpo JSON della richiesta:
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] } ] }
Se non hai concesso alcun ruolo all'account di servizio, la risposta contiene solo un valore
etag
. Includi il valoreetag
nel passaggio successivo. -
Modifica il criterio di autorizzazione da concedere
CALLER_ACCOUNT
il ruolo Creatore token account di servizio (roles/iam.serviceAccountTokenCreator
).Ad esempio, per modificare la risposta di esempio dal passaggio precedente, aggiungi quanto segue:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] }, { "role": "roles/iam.serviceAccountTokenCreator", "members": [ "user:my-user@example.com" ] } ] }
-
Scrivi il criterio di autorizzazione aggiornato:
La
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
.-
PRIV_SA
: l'indirizzo email dell'account di servizio che riceve privilegi per cui viene creato il token di breve durata. POLICY_VERSION
: la versione del criterio da utilizzare restituito. Le richieste devono specificare la versione del criterio più recente, ovvero la versione del criterio 3. Consulta la sezione Specificare una versione del criterio quando si riceve un criterio per maggiori dettagli.-
POLICY
: una rappresentazione JSON del criterio che che vuoi impostare. Per ulteriori informazioni sul formato di un criterio, consulta Riferimento alle norme.Ad esempio, per impostare il criterio di autorizzazione mostrato nel passaggio precedente, sostituisci
POLICY
con il codice seguente, doveCALLER_ACCOUNT
è l'account utente che ha creato il token di breve durata:{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] }, { "role": "roles/iam.serviceAccountTokenCreator", "members": [ "CALLER_ACCOUNT" ] } ] }
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/PRIV_SA
Corpo JSON della richiesta:
{ "policy": POLICY }
Per inviare la richiesta, espandi una delle seguenti opzioni:
La risposta contiene il criterio di autorizzazione aggiornato.
Genera il blob autofirmato
Genera un BLOB autofirmato per l'account di servizio:
REST
L'API Service Account Credentials
serviceAccounts.signBlob
firma un blob utilizzando la chiave privata gestita dal sistema di un account di servizio.Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
-
PRIV_SA
: l'indirizzo email dell'account di servizio che riceve privilegi per con cui viene creato il token di breve durata. -
BLOB_PAYLOAD
: una stringa di byte con codifica base64. Ad esempio:VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu
.
Metodo HTTP e URL:
POST https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/PRIV_SA:signBlob
Corpo JSON della richiesta:
{ "payload": "BLOB_PAYLOAD" }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Se la richiesta
signBlob
ha avuto esito positivo, il corpo della risposta contiene un blob firmato e l'ID della chiave di firma utilizzato per firmare il blob. Puoi utilizzare il valoresignedBlob
come token di connessione per autenticare direttamente una richiesta per conto dell'account di servizio. Il token sia valida fino alla scadenza della chiave privata gestita dal sistema dell'account di servizio. L'ID di questa chiave è del campokeyId
nella risposta.{ "keyId": "42ba1e...fc0a", "signedBlob": "eyJ0eXAi...NiJ9" }
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-09-25 UTC.
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "translationIssue", "label":"Problema di traduzione" },{ "type": "thumb-down", "id": "otherDown", "label":"Altra" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Facile da capire" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Il problema è stato risolto" },{ "type": "thumb-up", "id": "otherUp", "label":"Altra" }]