Configurare l'ADC per una risorsa con un account di servizio collegato

Alcuni servizi Google Cloud, come Compute Engine, App Engine e le funzioni Cloud Run, supportano l'attacco di un account di servizio gestito dall'utente ad alcuni tipi di risorse. In genere, l'attacco di un account di servizio è supportato quando le risorse del servizio possono eseguire o includere codice dell'applicazione. Quando colleghi un account di servizio a una risorsa, il codice in esecuzione sulla risorsa può utilizzare quell'account di servizio come la sua identità.

L'attacco di un account di servizio gestito dall'utente è il modo migliore per fornire le credenziali all'ADC per il codice di produzione in esecuzione su Google Cloud.

Per sapere quali ruoli devi fornire al tuo account di servizio, consulta Scegliere i ruoli predefiniti.

Per informazioni sulle risorse a cui puoi collegare un account di servizio e assistenza per il collegamento dell'account di servizio alla risorsa, consulta la documentazione IAM sull'attacco di un account di servizio.

Set up authentication:

  1. Create the service account:

    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

    Replace SERVICE_ACCOUNT_NAME with a name for the service account.

  2. To provide access to your project and your resources, grant a role to the service account:

    gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE

    Replace the following:

    • SERVICE_ACCOUNT_NAME: the name of the service account
    • PROJECT_ID: the project ID where you created the service account
    • ROLE: the role to grant
  3. To grant another role to the service account, run the command as you did in the previous step.
  4. Grant the required role to the principal that will attach the service account to other resources.

    gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser

    Replace the following:

    • SERVICE_ACCOUNT_NAME: the name of the service account
    • PROJECT_ID: the project ID where you created the service account
    • USER_EMAIL: the email address for a Google Account

Passaggi successivi