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, incluso, a titolo esemplificativo, App Engine. Ad esempio, un account con il ruolo Editor può modificare le impostazioni di App Engine e di Cloud Storage.
Ruoli predefiniti di App Engine, che forniscono accesso granulare ad App Engine. Ogni servizio nel progetto Google Cloud offre i propri ruoli predefiniti. Ad esempio, un account che ha solo il ruolo Deployer App Engine può eseguire il deployment delle app di App Engine, ma non può visualizzare o creare oggetti in Cloud Storage. Un account di questo tipo necessita inoltre 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ù ottimizzati, 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 con il ruolo Editor può modificare le impostazioni di App Engine e di Cloud Storage.
Ruolo | Autorizzazioni della console Google Cloud | Autorizzazioni per gli 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. Dispone di privilegi amministrativi per tutte le risorse nel progetto. | Necessaria per creare applicazioni App Engine. Può anche eseguire il deployment del codice dell'applicazione e aggiornare tutte le configurazioni. |
Editor |
Visualizzare le informazioni dell'applicazione e modificare le impostazioni dell'applicazione. Dispone di privilegi amministrativi per tutte le risorse nel progetto. | Esegui il deployment del codice dell'applicazione e aggiorna indici/coda/cron. |
Viewer |
Visualizzare le informazioni dell'applicazione. Dispone di privilegi amministrativi per tutte le risorse nel progetto. | Richiedere log |
Ruoli predefiniti di App Engine
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 solo l'accesso ad App Engine. Se il 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 funzionalità di ciascun ruolo App Engine predefinito.
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 | Sì | Yes | Yes | Yes | Sì |
Visualizza tutte le impostazioni per applicazioni, servizi, versioni e istanze | Sì | Yes | Yes | Yes | Sì |
Visualizza metriche di runtime come utilizzo delle risorse, informazioni sul caricamento e informazioni sugli errori | Sì | Yes | Yes | Yes | Sì |
Visualizza il codice sorgente dell'app | No | No | No | No | Sì |
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 | Sì | Sì | No*** | No | No |
Avviare e arrestare una versione | Sì | Sì | No | No | No |
Elimina una versione | Sì | Yes | Sì | No | No |
Elimina l'intero servizio | Sì | Sì | No | No | No |
Utilizza SSH per connetterti a un'istanza VM nell'ambiente flessibile | Sì | No | No | No | No |
Arresta un'istanza | Sì | No | No | No | No |
Disattiva e riattiva l'applicazione App Engine | Sì | No | No | No | No |
Gestori degli accessi con una limitazione login:admin (solo runtime di prima generazione) | Sì | No | No | No | No |
Aggiorna regole di spedizione | Sì | No | No | No | No |
Aggiornare le impostazioni DoS | Sì | No | No | No | No |
Aggiorna pianificazioni cron | No | No | No | No | No |
Aggiorna la scadenza predefinita dei cookie | Sì | No | No | No | No |
Aggiorna referrer | Sì | No | No | No | No |
Aggiornamento mittenti autorizzati dell'API Email | Sì | No | No | No | No |
Per maggiori dettagli 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 delle 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 i comandi
gcloud
per il deployment, aggiungi anche questi ruoli:- Amministratore oggetti Storage (
roles/storage.objectAdmin
) - Editor Cloud Build (
roles/cloudbuild.builds.editor
)
- Amministratore oggetti Storage (
Per maggiori dettagli 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 aumentare il traffico verso la versione appena creata e far sì che queste attività vengano eseguite da funzioni lavorative diverse. I ruoli App Engine Deployer e Amministratore servizio App Engine offrono questa separazione:
- Ruoli utente account di servizio e Deployer App Engine: 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 sarà in grado di configurare il traffico verso alcuna versione né di modificare le impostazioni a livello di applicazione, ad esempio le regole di invio o il dominio di autenticazione.
- Ruolo Amministratore servizi 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 hanno la possibilità di modificare le proprietà di servizi e versioni esistenti, inclusa la modifica delle versioni che possono gestire il traffico. Il ruolo Amministratore servizi di App Engine è ideale per un reparto Operations/IT che gestisce l'aumento del traffico verso le versioni di cui è stato eseguito il deployment di recente.
Limitazioni dei ruoli predefiniti
Nessuno dei ruoli predefiniti di App Engine concede l'accesso a quanto segue:
- Visualizzare e scaricare i log delle applicazioni.
- Visualizza i grafici di Monitoring nella console Google Cloud.
- Abilita e disabilita la fatturazione.
- Esegui scansioni di sicurezza in Cloud Security Scanner.
- Accedi alla configurazione o ai dati archiviati in Datastore, Task Queue, Cloud Search o qualsiasi altro prodotto di archiviazione piattaforma Cloud.