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 di un progetto, tra cui, a titolo esemplificativo, App Engine. Ad esempio, un account con il ruolo Editor può modificare le impostazioni di App Engine e Cloud Storage.
Ruoli App Engine predefiniti, che forniscono accesso granulare ad App Engine. Ogni servizio nel tuo progetto Google Cloud fornisce i propri ruoli predefiniti. Ad esempio, un account con solo il ruolo Deployer App Engine può eseguire il deployment di app App Engine, ma non può visualizzare o creare oggetti in Cloud Storage. Un account di questo tipo richiede anche un ruolo predefinito 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 specificate.
Puoi utilizzare i ruoli di base quando lavori a progetti più piccoli con esigenze meno complesse. Per controlli dell'accesso più precisi, 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 con il ruolo Editor può modificare le impostazioni di App Engine e Cloud Storage.
Ruolo | Autorizzazioni della console Google Cloud | Autorizzazioni degli strumenti |
---|---|---|
Owner |
Obbligatorio per creare applicazioni App Engine. Tutti i privilegi di visualizzatore e editor, nonché la possibilità di visualizzare il codice sorgente disegnato, invitare utenti, modificare i ruoli utente ed eliminare un'applicazione. Ha privilegi di amministratore per tutte le risorse del progetto. | Obbligatorio 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. Ha privilegi di amministratore per tutte le risorse del progetto. | Esegui il deployment del codice dell'applicazione, aggiorna gli indici/le code/i cron. |
Viewer |
Visualizza le informazioni sull'applicazione. Ha privilegi di amministratore per tutte le risorse del progetto. | Richiedere log |
Ruoli App Engine predefiniti
Role | Permissions |
---|---|
App Engine Admin( Read/Write/Modify access to all application configuration and settings. To deploy new versions, a principal must have the
Service Account User
( Lowest-level resources where you can grant this role:
|
|
App Engine Creator( Ability to create the App Engine resource for the project. Lowest-level resources where you can grant this role:
|
|
App Engine Viewer( Read-only access to all application configuration and settings. Lowest-level resources where you can grant this role:
|
|
App Engine Code Viewer( Read-only access to all application configuration, settings, and deployed source code. Lowest-level resources where you can grant this role:
|
|
App Engine Managed VM Debug Access( Ability to read or manage v2 instances. |
|
App Engine Deployer( Read-only access to all application configuration and settings. To deploy new versions, you must also have the
Service Account User
( Cannot modify existing versions other than deleting versions that are not receiving traffic. Lowest-level resources where you can grant this role:
|
|
App Engine Memcache Data Admin( Can get, set, delete, and flush App Engine Memcache items. |
|
App Engine Service Admin( Read-only access to all application configuration and settings. Write access to module-level and version-level settings. Cannot deploy a new version. Lowest-level resources where you can grant this role:
|
|
I ruoli predefiniti per App Engine offrono opzioni più granulari per controllo dell'accesso#39;accesso.
Questi ruoli forniscono l'accesso solo ad App Engine. Se il tuo 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 seguente fornisce un confronto completo delle funzionalità di ciascun ruolo App Engine predefinito.
Capacità | App Engine Admin | App Engine Service Admin | Deployer App Engine | App Engine Viewer | App Engine Code Viewer |
---|---|---|---|---|---|
Elenco di tutti i servizi, le versioni e le istanze | Sì | Sì | Sì | Sì | Sì |
Visualizzare tutte le impostazioni di applicazioni, servizi, versioni ed istanze | Sì | Sì | Sì | Sì | Sì |
Visualizza le metriche di runtime, come utilizzo delle risorse, informazioni sul caricamento e informazioni sugli errori | Sì | Sì | Sì | Sì | Sì |
Visualizzare il codice sorgente dell'app | No | No | No | No | Sì |
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 |
Suddividere o eseguire la migrazione del traffico | Sì | Sì | No*** | No | No |
Avviare e interrompere una versione | Sì | Sì | No | No | No |
Eliminare una versione | Sì | Sì | Sì | No | No |
Eliminare un intero servizio | Sì | Sì | No | No | No |
Utilizzare SSH per connettersi a un'istanza VM nell'ambiente flessibile | Sì | No | No | No | No |
Arresta un'istanza | Sì | No | No | No | No |
Disattivare e riattivare l'applicazione App Engine | Sì | No | No | No | No |
Gestori dell'accesso con una limitazione di accesso:amministratore (solo runtime di prima generazione) | Sì | No | No | No | No |
Aggiorna le regole di invio | Sì | No | No | No | No |
Aggiornare le impostazioni DoS | Sì | No | No | No | No |
Aggiornare le pianificazioni cron | No | No | No | No | No |
Aggiornare la scadenza dei cookie predefinita | Sì | No | No | No | No |
Aggiorna i referrer | Sì | No | No | No | No |
Aggiorna i mittenti autorizzati dell'API Email | Sì | No | No | No | No |
Per informazioni dettagliate sulle autorizzazioni IAM specifiche concesse da ciascun ruolo, consulta la sezione Ruoli dell'API Admin.
Ruolo consigliato per il deployment delle applicazioni
Per un account responsabile solo del deployment di nuove versioni di un'app, 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 simulare l'identità dell'account di servizio App Engine predefinito durante la procedura di deployment.
Se l'account utilizza i comandi
gcloud
per il deployment, aggiungi anche questi ruoli:- Storage Object Admin (
roles/storage.objectAdmin
) - Editor Cloud Build (
roles/cloudbuild.builds.editor
)
- Storage Object Admin (
Per informazioni dettagliate su come concedere le autorizzazioni richieste, consulta Creare 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 dall'attività di aumento del traffico verso la versione appena creata e svolgere queste attività con funzioni di lavoro diverse. I ruoli App Engine Deployer e App Engine Service Admin offrono questa separazione:
- Deployer App Engine e i ruoli Utente account di servizio: gli account sono limitati al deployment di nuove versioni ed eliminazione di versioni precedenti che non generano traffico. L'account con questi ruoli non potrà configurare il traffico per nessuna versione né modificare le impostazioni a livello di applicazione, come le regole di invio o il dominio di autenticazione.
- Ruolo Amministratore 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 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 Operations/IT che gestisce l'aumento del traffico verso le versioni di recente implementazione.
Limiti dei ruoli predefiniti
Nessuno dei ruoli predefiniti di App Engine concede l'accesso a quanto segue:
- Visualizzare e scaricare i log dell'applicazione.
- Visualizza i grafici di monitoraggio nella console Google Cloud.
- Abilita e disattiva la fatturazione.
- Esegui le scansioni di sicurezza in Cloud Security Scanner.
- Accedi alla configurazione o ai dati archiviati in Datastore, Task Queues, Cloud Search o in qualsiasi altro prodotto di archiviazione della piattaforma Cloud.