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
Vai alla scheda Impostazioni applicazione di App Engine nella console e fai clic su Modifica impostazioni applicazione.
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.