L'API App Engine Admin di Google utilizza Identity and Access Management (IAM) per controllo dell'accesso'accesso.
Il controllo dell'accesso nell'API App Engine Admin può essere configurato a livello di progetto. L'accesso ai progetti Google Cloud e alle risorse al loro interno può essere concesso ad account utente, domini, gruppi o account di servizio. Ad esempio:
- Concedere l'accesso a tutte le risorse all'interno di un progetto a un singolo account utente o di servizio.
- Concedi l'accesso parziale alle risorse all'interno del progetto. Ad esempio, l'accesso in sola lettura alle risorse o la possibilità di eseguire il deployment di nuove versioni, ma non di configurare il traffico verso queste versioni.
Per una descrizione dettagliata di IAM e delle sue funzionalità, consulta la documentazione IAM.
Ogni metodo dell'API Admin richiede che il chiamante disponga delle autorizzazioni necessarie. Consulta la sezione seguente per un elenco di tutte le autorizzazioni e i ruoli supportati dall'API Admin.
Autorizzazioni e ruoli
Questa sezione riepiloga le autorizzazioni e i ruoli supportati dall'API Admin.
Per maggiori dettagli sui ruoli di App Engine, consulta Controllo dell'accesso di App Engine.
Autorizzazioni obbligatorie
La tabella seguente elenca le autorizzazioni di cui il chiamante deve disporre per chiamare ciascun metodo:
Metodo | Autorizzazioni richieste |
---|---|
apps.create |
appengine.applications.create sulla risorsa Application richiesta. |
apps.get |
appengine.applications.get sulla risorsa Application richiesta. |
apps.patch |
appengine.applications.update sulla risorsa Application richiesta. |
apps.repair |
appengine.applications.update sulla risorsa Application richiesta. |
apps.authorizedCertificates.create |
appengine.applications.update sulla risorsa Application richiesta. |
apps.authorizedCertificates.delete |
appengine.applications.update sulla risorsa Application richiesta. |
apps.authorizedCertificates.get |
appengine.applications.get sulla risorsa Application richiesta. |
apps.authorizedCertificates.list |
appengine.applications.get sulla risorsa Application richiesta. |
apps.authorizedCertificates.patch |
appengine.applications.update sulla risorsa Application richiesta. |
apps.authorizedDomains.list |
appengine.applications.get sulla risorsa Application richiesta. |
apps.domainMappings.create |
appengine.applications.update sulla risorsa Application richiesta. |
apps.domainMappings.delete |
appengine.applications.update sulla risorsa Application richiesta. |
apps.domainMappings.get |
appengine.applications.get sulla risorsa Application richiesta. |
apps.domainMappings.list |
appengine.applications.get sulla risorsa Application richiesta. |
apps.domainMappings.patch |
appengine.applications.update sulla risorsa Application richiesta. |
apps.locations.get |
appengine.applications.get sulla risorsa Application richiesta. |
apps.locations.list |
appengine.applications.get sulla risorsa Application richiesta. |
apps.operations.get |
appengine.applications.get sulla risorsa Application richiesta. |
apps.operations.list |
appengine.applications.get sulla risorsa Application richiesta. |
apps.services.delete |
appengine.services.delete sulla risorsa Service richiesta. |
apps.services.get |
appengine.services.get sulla risorsa Service richiesta. |
apps.services.list |
appengine.services.list sulla risorsa Application richiesta. |
apps.services.patch |
appengine.services.update sulla risorsa Service richiesta. |
apps.services.versions.create |
appengine.versions.create sulla risorsa Service richiesta. |
apps.services.versions.delete |
appengine.versions.delete sulla risorsa Version richiesta. |
apps.services.versions.get |
appengine.versions.get sulla risorsa Version richiesta. |
apps.services.versions.list |
appengine.versions.list sulla risorsa Service richiesta. |
apps.services.versions.patch |
appengine.versions.update sulla risorsa Version richiesta. |
apps.services.versions.instances.debug |
appengine.instances.enableDebug sulla risorsa Instance richiesta. |
apps.services.versions.instances.delete |
appengine.instances.delete sulla risorsa Instance richiesta. |
apps.services.versions.instances.get |
appengine.instances.get sulla risorsa Instance richiesta. |
apps.services.versions.instances.list |
appengine.instances.list sulla risorsa Version richiesta. |
Ruoli
La seguente tabella elenca i ruoli IAM dell'API App Engine Admin con un elenco corrispondente di tutte le autorizzazioni incluse in ciascun ruolo. Tieni presente che ogni autorizzazione è applicabile a un determinato tipo di risorsa.
Ruolo | Include autorizzazioni |
---|---|
Amministratore App Engine
Accesso in lettura/scrittura/modifica a tutte le configurazioni e le impostazioni dell'applicazione. |
appengine.applications.disable
|
appengine.applications.get | |
appengine.applications.update | |
appengine.instances.delete | |
appengine.instances.enableDebug | |
appengine.instances.get | |
appengine.instances.list | |
appengine.instances.update
|
|
appengine.operations.cancel
|
|
appengine.operations.delete
|
|
appengine.operations.get | |
appengine.operations.list | |
appengine.runtimes.actAsAdmin
|
|
appengine.services.delete | |
appengine.services.get | |
appengine.services.list | |
appengine.services.update | |
appengine.versions.create | |
appengine.versions.delete | |
appengine.versions.get | |
appengine.versions.list | |
appengine.versions.update | |
resourcemanager.projects.get | |
resourcemanager.projects.list | |
Deployment di App Engine
Accesso in sola lettura a tutte le configurazioni e le impostazioni dell'applicazione. Accesso in scrittura solo per creare una nuova versione; non è possibile modificare versioni esistenti diverse dall'eliminazione di versioni che non ricevono traffico. Impossibile configurare il traffico verso una versione. |
appengine.applications.get |
appengine.instances.get | |
appengine.instances.list | |
appengine.operations.get | |
appengine.operations.list | |
appengine.services.create
|
|
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 servizi App Engine
Accesso in sola lettura a tutte le configurazioni e le impostazioni dell'applicazione. Accesso in scrittura alle impostazioni a livello di servizio e di versione, inclusa la configurazione del traffico. Impossibile eseguire il deployment delle versioni delle app. |
appengine.applications.get |
appengine.instances.delete | |
appengine.instances.get | |
appengine.instances.list | |
appengine.operations.get | |
appengine.operations.list | |
appengine.services.delete | |
appengine.services.get | |
appengine.services.list | |
appengine.services.update | |
appengine.versions.delete | |
appengine.versions.get | |
appengine.versions.list | |
appengine.versions.update | |
resourcemanager.projects.get | |
resourcemanager.projects.list | |
Visualizzatore App Engine
Accesso in sola lettura a tutte le configurazioni e le impostazioni dell'applicazione. |
appengine.applications.get |
appengine.instances.get | |
appengine.instances.list | |
appengine.operations.get | |
appengine.operations.list | |
appengine.services.get | |
appengine.services.list | |
appengine.versions.get | |
appengine.versions.list | |
resourcemanager.projects.get | |
resourcemanager.projects.list | |
Visualizzatore del codice App Engine
Accesso in sola lettura a tutte le configurazioni e le impostazioni delle applicazioni e al codice sorgente di cui è stato eseguito il deployment. |
appengine.applications.get |
appengine.instances.get | |
appengine.instances.list | |
appengine.operations.get | |
appengine.operations.list | |
appengine.services.get | |
appengine.services.list | |
appengine.versions.get | |
appengine.versions.getFileContents | |
appengine.versions.list | |
resourcemanager.projects.get | |
resourcemanager.projects.list |
Tieni presente che i ruoli roles/owner
, roles/editor
e roles/viewer
includono
autorizzazioni anche per altri servizi Google Cloud. Per ulteriori informazioni su questi ruoli di base, consulta Controllo dell'accesso.
Autorizzazioni non disponibili per i ruoli personalizzati
Se vuoi configurare l'accesso oltre ai ruoli IAM predefiniti, puoi creare un ruolo personalizzato. Tuttavia, le seguenti autorizzazioni non sono disponibili per i ruoli personalizzati:
appengine.applications.disable
appengine.applications.list
appengine.instances.update
appengine.operations.cancel
appengine.operations.delete
appengine.services.create
Queste autorizzazioni non sono necessarie per le operazioni.
Controllo dell'accesso tramite la console Google Cloud
Puoi utilizzare la console Google Cloud per gestire controllo dell'accesso per i tuoi progetti Google Cloud.
Impostazione dei controlli dell'accesso a livello di progetto
Per concedere alle entità l'accesso a un progetto Google Cloud e alle sue risorse, consulta Concessione, modifica e revoca dell'accesso.
Impostare i controlli di accesso degli account di servizio
Puoi creare un account di servizio in un progetto Google Cloud per concedere alla tua app l'accesso programmatico ai servizi Google Cloud. Ad esempio, utilizza un account di servizio per consentire a un progetto Google Cloud di inviare una richiesta HTTP con l'API App Engine Admin a un altro progetto Google Cloud.
Per creare account di servizio e concedere l'accesso, consulta i seguenti argomenti IAM: