I ruoli determinano quali servizi e azioni sono disponibili per un account utente o un account di servizio. I seguenti tipi di ruoli consentono di accedere 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 di 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 tuo progetto Cloud fornisce i propri ruoli predefiniti. Ad esempio, un account con il ruolo Deployer di 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 avrebbe bisogno anche di un ruolo predefinito predefinito di Cloud Storage per creare o visualizzare oggetti in Cloud Storage.
Ruoli personalizzati, che forniscono accesso granulare in base a un elenco di autorizzazioni specificate.
Puoi utilizzare i ruoli di base quando lavori su progetti più piccoli con esigenze meno complesse. Per un controllo degli accessi più preciso, 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 di Editor può modificare le impostazioni di App Engine e le impostazioni di Cloud Storage.
Ruolo | Autorizzazioni di Cloud Console | Autorizzazioni degli strumenti |
---|---|---|
Owner |
Obbligatorio per creare applicazioni App Engine. Tutti i privilegi di visualizzatore e di editor, oltre alla possibilità di visualizzare il codice sorgente implementato, invitare utenti, modificare i ruoli utente ed eliminare un'applicazione. | Obbligatorio per creare applicazioni App Engine. Può anche eseguire il deployment di codice dell'applicazione e aggiornare tutte le configurazioni. |
Editor |
Visualizza le informazioni delle applicazioni e modifica le impostazioni delle applicazioni. | Esegui il deployment del codice dell'applicazione, aggiorna indici/code/cron. |
Viewer |
Visualizza le informazioni dell'applicazione. | Log di richiesta |
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 il controllo degli accessi.
Questi ruoli forniscono solo l'accesso 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 offre un confronto completo delle funzionalità 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 | Sì | Sì | Sì | Sì | Sì |
Visualizza tutte le impostazioni di applicazioni, servizi, versioni e istanze | Sì | Sì | Sì | Sì | Sì |
Visualizzazione di metriche di runtime, come utilizzo delle risorse, informazioni sul carico e informazioni sugli errori | Sì | Sì | Sì | Sì | Sì |
Visualizza 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 |
Suddividi o esegui 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 |
Elimina un intero servizio | Sì | Sì | No | No | No |
Utilizza SSH per connetterti a un'istanza VM nell'ambiente flessibile | Sì | No | No | No | No |
Chiusura di un'istanza | Sì | No | No | No | No |
Disabilita e riattiva l'applicazione App Engine | Sì | No | No | No | No |
Accedere ai gestori che hanno una limitazione di accesso:admin (solo runtime di prima generazione) | Sì | No | No | No | No |
Aggiorna regole di invio | Sì | No | No | No | No |
Aggiorna impostazioni DoS | Sì | No | No | No | No |
Aggiorna pianificazioni cron | No | No | No | No | No |
Aggiorna scadenza cookie predefinita | Sì | No | No | No | No |
Aggiorna referrer | Sì | No | No | No | No |
Aggiornamento mittenti autorizzati delle 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, ti consigliamo di concedere i seguenti ruoli:
- Ruolo responsabile deployment di 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
gcloud
comandi 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 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 dal traffico relativo alla versione appena creata e svolgere queste attività tramite diverse funzioni di job. I ruoli Amministratore deployment/App Engine di App Engine forniscono questa separazione:
- Ruoli di deployment di App Engine e di utente dell'account di servizio: gli account sono limitati al deployment di nuove versioni ed eliminano le versioni precedenti che non forniscono 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, come 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'applicazione né modificare le impostazioni a livello di applicazione. Tuttavia, questi account hanno privilegi per modificare le proprietà di servizi e versioni esistenti, compresa la possibilità di cambiare le versioni che possono gestire il traffico. Il ruolo Amministratore servizio App Engine è ideale per un reparto Operations/IT che gestisce l'applicazione del traffico verso le versioni appena implementate.
Limiti dei ruoli predefiniti
Nessuno dei ruoli predefiniti di App Engine concede l'accesso a quanto segue:
- Crea applicazioni App Engine.
- Visualizzazione e download dei log delle applicazioni.
- Visualizza i grafici di Monitoring in Cloud Console.
- Attivare e disattivare la fatturazione.
- Esegui scansioni di sicurezza in Cloud Security Scanner.
- Accedi alla configurazione o ai dati archiviati in Datastore, Code di attività, Memcache, Cloud Search o qualsiasi altro prodotto di archiviazione di Cloud Platform.