Utilizzo di account di servizio gestiti dall'utente

Le app App Engine richiedono un account di servizio per accedere ad altri servizi Google Cloud ed eseguire attività. Per impostazione predefinita, l'account di servizio predefinito di App Engine viene utilizzato come identità della tua app App Engine. Puoi anche specificare un service account gestito dall'utente diverso da utilizzare come identità per una versione specifica della tua app App Engine. Ciò ti consente di concedere privilegi diversi a ogni versione, in base alle attività specifiche che svolge, ed evitare di concedere più privilegi del necessario.

Questa guida spiega come specificare un account di servizio gestito dall'utente diverso durante il deployment di una nuova versione. Se non devi creare un account di servizio distinto quando esegui il deployment di una versione specifica della tua app, puoi continuare a utilizzare il account di servizio predefinito non specificandone uno.

Creazione di un account di servizio gestito dall'utente

Per creare un account di servizio gestito dall'utente, consulta queste istruzioni. Quando definisci i ruoli Identity and Access Management (IAM) da concedere al service account, puoi fare riferimento a Ruoli che concedono l'accesso ad App Engine.

Se devi esaminare i concetti di IAM prima di creare il account di servizio, consulta le guide Panoramica dei concetti di IAM e Service account.

Dopo aver creato il account di servizio gestito dall'utente, puoi aggiornare il account di servizio predefinito a livello di app per la tua applicazione utilizzando uno dei seguenti metodi:

gcloud

Esegui il comando gcloud app update.

    gcloud app update --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

Sostituisci:

  • SERVICE_ACCOUNT_NAME con il nome del account di servizio che hai creato.
  • PROJECT_ID con l'ID del progetto Google Cloud in cui vuoi assegnare il account di servizio.

Ogni nuova versione che implementi dopo questo aggiornamento utilizza il nuovo service account predefinito a livello di app, a meno che tu non assegni esplicitamente un account di servizio specifico per la versione.

Console

  1. Vai alla scheda Impostazioni applicazione di App Engine nella console e fai clic su Modifica impostazioni applicazione.

    Vai alle impostazioni dell'applicazione

  2. Scegli un account di servizio predefinito a livello di app da Seleziona un service account e fai clic su Salva.

    Verrà visualizzata la scheda Impostazioni applicazione, dove potrai vedere l'indirizzo email del tuoaccount di serviziot predefinito a livello di app aggiornato. Esempio: SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com.

    Ogni nuova versione che implementi dopo questo aggiornamento utilizza il nuovo service account predefinito a livello di app, a meno che tu non assegni esplicitamente un account di servizio specifico per la versione.

Specificare un account di servizio durante il deployment dell'app

gcloud

Esegui il comando gcloud app deploy e specifica il tuo account di servizio:

gcloud app deploy --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

app.yaml

Nel file app.yaml, specifica il account di servizio aggiungendo l'elemento service_account:

service_account: SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

Passaggi successivi

Segui le best practice per l'utilizzo dei service account.