Controllo dell'accesso nell'API Admin

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

/roles/appengine.appAdmin

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

/roles/appengine.deployer

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

/roles/appengine.serviceAdmin

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

/roles/appengine.appViewer

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

/roles/appengine.codeViewer

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: