Avviso: nei prossimi mesi stiamo riorganizzando il sito della documentazione di App Engine per semplificare la ricerca di contenuti e l'allineamento con il resto dei prodotti Google Cloud. Gli stessi contenuti saranno disponibili, ma la navigazione ora corrisponderà al resto dei prodotti Cloud.

PHP 8.1 è ora disponibile in anteprima.

Ruoli che concedono l'accesso ad App Engine

I ruoli determinano quali servizi e azioni sono disponibili per un account utente o un account di servizio. I seguenti tipi di ruoli concedono l'accesso ad App Engine:

  • Ruoli di base, che si applicano a tutti i servizi e le risorse in un progetto, inclusi, a titolo esemplificativo, App Engine. Ad esempio, un account con il ruolo Editor può modificare le impostazioni di App Engine e quelle di Cloud Storage.

  • Ruoli di App Engine predefiniti, che forniscono un accesso granulare ad App Engine. Ogni servizio nel progetto Cloud fornisce ruoli predefiniti. Ad esempio, un account che ha solo il ruolo Deployer App Engine può eseguire il deployment delle app App Engine, ma non può visualizzare o creare oggetti in Cloud Storage. Un account di questo tipo avrà anche bisogno di un ruolo predefinito di Cloud Storage specifico per creare o visualizzare oggetti in Cloud Storage.

  • Ruoli personalizzati, che forniscono un accesso granulare in base a un elenco di autorizzazioni da te specificato.

Puoi utilizzare i ruoli di base quando lavori su progetti più piccoli che hanno esigenze meno complesse. Per controlli di accesso più precisi, utilizza i ruoli predefiniti.

Ruoli di base

I ruoli di base si applicano a tutti i servizi e le risorse in un progetto. Ad esempio, un account nel ruolo Editor può modificare le impostazioni di App Engine e di Cloud Storage.

Ruolo Autorizzazioni di Google Cloud Console Autorizzazioni degli strumenti
Owner necessaria per creare applicazioni App Engine. Tutti i privilegi di visualizzatore ed editor, oltre alla possibilità di visualizzare il codice sorgente di cui è stato eseguito il deployment, invitare utenti, modificare i ruoli utente ed eliminare un'applicazione. necessaria per creare applicazioni App Engine. Può anche eseguire il deployment del codice dell'applicazione e aggiornare tutte le configurazioni.
Editor Visualizza le informazioni dell'applicazione e modifica le relative impostazioni. Esegui il deployment del codice dell'applicazione, aggiorna indici/coda/cron.
Viewer Visualizzare le informazioni delle applicazioni. Log richiesta

Ruoli di App Engine predefiniti

Ruolo Autorizzazioni

Amministratore App Engine
(roles/appengine.appAdmin)

Accesso in lettura/scrittura/modifica a tutte le impostazioni e la configurazione dell'applicazione.

Per eseguire il deployment delle nuove versioni, un'entità deve avere il ruolo Utente account di servizio (roles/iam.serviceAccountUser) nell'account di servizio predefinito di App Engine e i ruoli Amministratore Cloud Build Editor (roles/cloudbuild.builds.editor) e Amministratore Cloud Storage (roles/storage.objectAdmin) nel progetto.

Risorse di livello inferiore in cui puoi concedere questo ruolo:

  • Progetto
  • appengine.applications.get
  • appengine.applications.update
  • appengine.instances.*
  • appengine.memcache.addKey
  • appengine.memcache.flush
  • appengine.memcache.get
  • appengine.memcache.update
  • suite.operative.*
  • appengine.runtimes.actAsAdmin
  • appengine.services.*
  • appengine.versions.create
  • appengine.versions.delete
  • appengine.versions.get
  • appengine.versions.list
  • appengine.versions.update
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Creatore App Engine
(roles/appengine.appCreator)

Può creare la risorsa App Engine per il progetto

Risorse di livello inferiore in cui puoi concedere questo ruolo:

  • Progetto
  • appengine.applications.create
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Visualizzatore App Engine
(roles/appengine.appViewer)

Accesso in sola lettura a tutta la configurazione e le impostazioni dell'applicazione.

Risorse di livello inferiore in cui puoi concedere questo ruolo:

  • Progetto
  • appengine.applications.get
  • appengine.instances.get
  • appengine.instances.list
  • suite.operative.*
  • appengine.services.get
  • appengine.services.list
  • appengine.versions.get
  • appengine.versions.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Visualizzatore del codice App Engine
(roles/appengine.codeViewer)

Accesso in sola lettura a tutta la configurazione dell'applicazione, alle impostazioni e al codice sorgente sottoposto a deployment.

Risorse di livello inferiore in cui puoi concedere questo ruolo:

  • Progetto
  • appengine.applications.get
  • appengine.instances.get
  • appengine.instances.list
  • suite.operative.*
  • appengine.services.get
  • appengine.services.list
  • appengine.versions.get
  • appengine.versions.getFileContents
  • appengine.versions.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Deploymenter di App Engine
(roles/appengine.deployer)

Accesso in sola lettura a tutta la configurazione e le impostazioni dell'applicazione.

Per eseguire il deployment delle nuove versioni, devi avere anche il ruolo Utente account di servizio (roles/iam.serviceAccountUser) per l'account di servizio predefinito di App Engine e i ruoli Amministratore Cloud Build Editor (roles/cloudbuild.builds.editor) e Amministratore Cloud Storage (roles/storage.objectAdmin) nel progetto.

Impossibile modificare le versioni esistenti diverse da quelle che non ricevono traffico.

Risorse di livello inferiore in cui puoi concedere questo ruolo:

  • Progetto
  • appengine.applications.get
  • appengine.instances.get
  • appengine.instances.list
  • suite.operative.*
  • appengine.services.get
  • appengine.services.list
  • appengine.versions.create
  • appengine.versions.delete
  • appengine.versions.get
  • appengine.versions.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Amministratore di servizi App Engine
(roles/appengine.serviceAdmin)

Accesso in sola lettura a tutta la configurazione e le impostazioni dell'applicazione.

Accesso in scrittura alle impostazioni a livello di modulo e di versione. Impossibile eseguire il deployment di una nuova versione.

Risorse di livello inferiore in cui puoi concedere questo ruolo:

  • Progetto
  • appengine.applications.get
  • appengine.instances.*
  • suite.operative.*
  • appengine.services.*
  • appengine.versions.delete
  • appengine.versions.get
  • appengine.versions.list
  • appengine.versions.update
  • resourcemanager.projects.get
  • resourcemanager.projects.list

I ruoli predefiniti di App Engine offrono opzioni più granulari per il controllo dell'accesso.

Questi ruoli forniscono l'accesso solo ad App Engine. Se il tuo progetto include altri servizi, ad esempio Cloud Storage o Cloud SQL, dovrai assegnare ruoli aggiuntivi per abilitare l'accesso agli altri servizi.

Confronto dei ruoli predefiniti di App Engine

La tabella seguente fornisce un confronto completo delle capacità di ogni ruolo predefinito di App Engine.

Capacità Amministratore App Engine Amministratore servizio App Engine Deployer App Engine Visualizzatore App Engine Visualizzatore del codice App Engine
Elenca tutti i servizi, le versioni e le istanze
Visualizza tutte le impostazioni di applicazioni, servizi, versioni e istanze
Visualizza le metriche di runtime come l'utilizzo delle risorse, le informazioni sul caricamento e le informazioni sugli errori
Visualizza il codice sorgente dell'app No No No No
Eseguire il deployment di una nuova versione di un'app Sì, se concedi anche il ruolo Utente account di servizio No Sì, se concedi anche il ruolo Utente account di servizio No No
Suddividi o esegui la migrazione del traffico No*** No No
Avviare e interrompere una versione No No No
Eliminare una versione No No
Eliminare un intero servizio No No No
Utilizza SSH per connetterti a un'istanza VM nell'ambiente flessibile No No No No
Arresta un'istanza No No No No
Disabilita e riattiva l'applicazione App Engine No No No No
Gestori di accesso con limitazione login:admin (solo runtime prima generazione) No No No No
Aggiorna le regole di spedizione No No No No
Aggiorna impostazioni DoS No No No No
Aggiorna pianificazioni cron No No No No No
Aggiorna scadenza cookie predefinita No No No No
Aggiorna referrer No No No No
Aggiornamento dei mittenti autorizzati dell'API Email No No No No

Per informazioni dettagliate sulle autorizzazioni IAM specifiche concesse da ogni ruolo, consulta la sezione Ruoli dell'API amministrativa.

Per un account responsabile solo del deployment di nuove versioni di un'app, ti consigliamo di concedere i seguenti ruoli:

  • Ruolo Deployer App Engine (roles/appengine.deployer)
  • Ruolo Utente account di servizio (roles/iam.serviceAccountUser)

    Il ruolo Utente account di servizio consente all'account di impersonare l'account di servizio App Engine predefinito durante il processo di deployment.

  • Se l'account utilizza i comandi gcloud per eseguire il deployment, aggiungi anche i seguenti ruoli:

    • Amministratore oggetti Storage (roles/storage.objectAdmin)
    • Editor di Cloud Build (roles/cloudbuild.builds.editor)

Per informazioni dettagliate su come concedere le autorizzazioni richieste, consulta Creazione di un account utente.

Separazione dei compiti di deployment e routing del traffico

Molte organizzazioni preferiscono separare l'attività di deployment di una versione dell'applicazione da quella di aumento del traffico alla nuova versione e quella di far eseguire queste attività da diverse funzioni job. I ruoli Deployer App Engine e Amministratore di servizi App Engine forniscono questa separazione:

  • Ruoli utente di App Engine Deployer più Account di servizio. Gli account possono eseguire il deployment di nuove versioni ed eliminare le versioni precedenti che non gestiscono il traffico. L'account con questi ruoli non potrà configurare il traffico verso nessuna versione, né modificare le impostazioni a livello di applicazione, ad esempio le regole di invio o il dominio di autenticazione.
  • Ruolo Amministratore di servizio App Engine: gli account non possono eseguire il deployment di una nuova versione di un'app né modificare le impostazioni a livello di applicazione. Tuttavia, tali account hanno i privilegi necessari per modificare le proprietà di servizi e versioni esistenti, compresa la modifica delle versioni che possono gestire il traffico. Il ruolo Amministratore servizio di App Engine è ideale per un reparto Operazioni/IT che gestisce l'aumento del traffico verso le nuove versioni di cui è stato eseguito il deployment.

Limitazioni dei ruoli predefiniti

Nessuno dei ruoli predefiniti di App Engine concede l'accesso ai seguenti elementi:

  • Visualizzare e scaricare i log delle applicazioni.
  • Visualizzare i grafici di Monitoring in Google Cloud Console.
  • Abilitare e disabilitare la fatturazione.
  • Eseguire scansioni di sicurezza in Cloud Security Scanner.
  • Accedere alla configurazione o ai dati archiviati in Datastore, Task Queues, Cloud Search o qualsiasi altro prodotto di archiviazione di Cloud Platform.