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 in disponibilità generale.

Ruoli che concedono l'accesso ad App Engine

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

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, validi per tutti i servizi e le risorse di un progetto, inclusi, a titolo esemplificativo, App Engine. Ad esempio, un account con il ruolo Editor può modificare le impostazioni di App Engine e le impostazioni di Cloud Storage.

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

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

Puoi utilizzare i ruoli di base quando lavori su progetti più piccoli che hanno esigenze meno complesse. Per un controllo dell'accesso più ottimizzato, utilizza i ruoli predefiniti.

Ruoli di base

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

Ruolo Autorizzazioni della console Google Cloud Autorizzazioni 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 sull'applicazione e modifica le impostazioni dell'applicazione. Esegui il deployment del codice dell'applicazione, aggiorna gli indici/queue/cron.
Viewer Visualizza informazioni sull'applicazione. Log di richiesta

Ruoli predefiniti di App Engine

Ruolo Autorizzazioni

(roles/appengine.appAdmin)

Accesso in lettura/scrittura/modifica a tutte le impostazioni e la configurazione delle applicazioni.

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

Le risorse di livello più basso in cui puoi concedere questo ruolo:

  • Progetto

appengine.applications.get

appengine.applications.update

appengine.instances.*

  • appengine.instances.delete
  • appengine.instances.enableDebug
  • appengine.instances.get
  • elenco.appengine.instances

appengine.memcache.addKey

appengine.memcache.flush

appengine.memcache.get

motore.app.memcache.update

appengine.operations.*

  • appengine.operations.get
  • appengine.operations.list

appengine.runtimes.actAsAdmin

appengine.services.*

  • appengine.services.delete
  • appengine.services.get
  • appengine.services.list
  • aggiornamento.appengine.services.update

appengine.versions.create

appengine.versions.delete

appengine.versions.get

elenco.engineengine.versions.list

aggiornamento.appengine.versions.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/appengine.appCreator)

Può creare la risorsa App Engine per il progetto

Le risorse di livello più basso in cui puoi concedere questo ruolo:

  • Progetto

Contiene 1 autorizzazione di proprietario

appengine.applications.create

resourcemanager.projects.get

resourcemanager.projects.list

(roles/appengine.appViewer)

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

Le risorse di livello più basso in cui puoi concedere questo ruolo:

  • Progetto

appengine.applications.get

appengine.instances.get

elenco.appengine.instances

appengine.operations.*

  • appengine.operations.get
  • appengine.operations.list

appengine.services.get

appengine.services.list

appengine.versions.get

elenco.engineengine.versions.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/appengine.codeViewer)

Accesso in sola lettura a tutte le impostazioni, alle impostazioni e al codice sorgente di cui è stato eseguito il deployment.

Le risorse di livello più basso in cui puoi concedere questo ruolo:

  • Progetto

Contiene 1 autorizzazione di proprietario

appengine.applications.get

appengine.instances.get

elenco.appengine.instances

appengine.operations.*

  • appengine.operations.get
  • appengine.operations.list

appengine.services.get

appengine.services.list

appengine.versions.get

appengine.versioni.getFileContents

elenco.engineengine.versions.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/appengine.debugger)

Può leggere o gestire istanze v2.

appengine.applications.get

appengine.instances.*

  • appengine.instances.delete
  • appengine.instances.enableDebug
  • appengine.instances.get
  • elenco.appengine.instances

appengine.operations.*

  • appengine.operations.get
  • appengine.operations.list

appengine.services.get

appengine.services.list

appengine.versions.get

elenco.engineengine.versions.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/appengine.deployer)

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

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

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

Le risorse di livello più basso in cui puoi concedere questo ruolo:

  • Progetto

appengine.applications.get

appengine.instances.get

elenco.appengine.instances

appengine.operations.*

  • appengine.operations.get
  • appengine.operations.list

appengine.services.get

appengine.services.list

appengine.versions.create

appengine.versions.delete

appengine.versions.get

elenco.engineengine.versions.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/appengine.memcacheDataAdmin)

Può ottenere, impostare, eliminare e svuotare gli elementi della memcache di App Engine.

appengine.applications.get

appengine.memcache.addKey

appengine.memcache.flush

appengine.memcache.get

motore.app.memcache.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/appengine.serviceAdmin)

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

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

Le risorse di livello più basso in cui puoi concedere questo ruolo:

  • Progetto

appengine.applications.get

appengine.instances.delete

appengine.instances.get

elenco.appengine.instances

appengine.operations.*

  • appengine.operations.get
  • appengine.operations.list

appengine.services.*

  • appengine.services.delete
  • appengine.services.get
  • appengine.services.list
  • aggiornamento.appengine.services.update

appengine.versions.delete

appengine.versions.get

elenco.engineengine.versions.list

aggiornamento.appengine.versions.update

resourcemanager.projects.get

resourcemanager.projects.list

I ruoli predefiniti di App Engine offrono opzioni granulari per il controllo degli accessi.

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

Confronto dei ruoli predefiniti di App Engine

La tabella riportata di seguito fornisce un confronto completo delle capacità di ciascun 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
Visualizzare metriche di runtime come l'utilizzo delle risorse, le informazioni di caricamento e le informazioni sugli errori
Visualizza codice sorgente 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
Suddivisione o migrazione del traffico No*** No No
Avviare e interrompere una versione No No No
Eliminare una versione No No
Elimina 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 di prima generazione) No No No No
Aggiorna le regole di invio No No No No
Aggiornamento impostazioni DoS No No No No
Aggiorna programma cron No No No No No
Aggiorna la scadenza del cookie predefinito No No No No
Aggiorna referrer No No No No
Aggiornamento mittenti autorizzati dell'API Email No No No No

Per i dettagli sulle autorizzazioni IAM specifiche concesse da ogni ruolo, consulta la sezione Ruoli dell'API Admin.

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 predefinito di App Engine durante il processo di deployment.

  • Se l'account utilizza gcloud comandi per il deployment, aggiungi anche questi 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 della versione di un'applicazione da quella di incrementare il traffico alla nuova versione e far eseguire queste attività da diverse funzioni job. I ruoli Deployer App Engine Deployer e Amministratore servizio App Engine forniscono questa separazione:

  • Ruoli utente del deployment App Engine più gli account utente: possono eseguire il deployment di nuove versioni ed eliminare le versioni precedenti che non gestiscono il traffico. L'account con questi ruoli non sarà in grado di 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, questi account dispongono dei privilegi necessari per modificare le proprietà di servizi e versioni esistenti, inclusa la modifica delle versioni che possono gestire il traffico. Il ruolo Amministratore servizio App Engine è ideale per un reparto Operazioni/IT che gestisce il passaggio del traffico alle versioni di cui è stato appena 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.
  • Attiva e disattiva la fatturazione.
  • Esegui analisi della sicurezza in Cloud Security Scanner.
  • Accedere alla configurazione o ai dati archiviati in Datastore, code di attività, Cloud Search o qualsiasi altro prodotto di archiviazione di Cloud Platform.