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

Alcuni servizi Google Cloud , come Compute Engine, App Engine e Cloud Run, supportano l'allegato di un service account gestito dall'utente ad alcuni tipi di risorse. In genere, il collegamento 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 ilaccount di serviziot come identità.

Il collegamento di un account di servizio gestito dall'utente è il modo preferito per fornire le credenziali ad ADC per il codice di produzione in esecuzione su Google Cloud.

Per assistenza nella determinazione dei ruoli da fornire al account di servizio, consulta Scegliere ruoli predefiniti.

Per informazioni sulle risorse a cui puoi collegare un account di servizio e assistenza per il collegamento delaccount di serviziot alla risorsa, consulta la documentazione IAM sul collegamento di un service account.

Configura l'autenticazione:

  1. Assicurati di disporre del ruolo IAM Creazione account di servizio (roles/iam.serviceAccountCreator) e del ruolo Amministratore IAM progetto (roles/resourcemanager.projectIamAdmin). Scopri come concedere i ruoli.
  2. Crea l'account di servizio:

    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

    Sostituisci SERVICE_ACCOUNT_NAME con un nome per il account di servizio.

  3. Per fornire l'accesso al tuo progetto e alle tue risorse, assegna un ruolo al account di servizio:

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

    Sostituisci quanto segue:

    • SERVICE_ACCOUNT_NAME: il nome del account di servizio
    • PROJECT_ID: l'ID progetto in cui hai creato il account di servizio
    • ROLE: il ruolo da concedere
  4. Per concedere un altro ruolo al account di servizio, esegui il comando come nel passaggio precedente.
  5. Concedi il ruolo richiesto all'entità che collegherà ilaccount di serviziot ad altre risorse.

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

    Sostituisci quanto segue:

    • SERVICE_ACCOUNT_NAME: il nome del account di servizio
    • PROJECT_ID: l'ID progetto in cui hai creato il account di servizio
    • USER_EMAIL: l'indirizzo email di un Account Google

Passaggi successivi