Controllare l'accesso alle risorse

Puoi condividere gli asset o la quota di calcolo del tuo progetto abilitato per Earth Engine con altri utenti di Earth Engine a livello di progetto. Gli asset o il calcolo di Earth Engine possono essere condivisi con un altro utente o gruppo di utenti. Se vuoi condividere con un gruppo di utenti, crea un nuovo gruppo Google e prendi nota della sua email (disponibile dal link Informazioni nella pagina del gruppo). Questa pagina descrive come fornire l'accesso alle risorse per un singolo utente o un gruppo e i ruoli e le autorizzazioni necessari per le diverse attività.

Imposta l'utilizzo del servizio Earth Engine

Per utilizzare l'API Earth Engine in un progetto cloud, l'API deve essere abilitata nel progetto e l'utente deve disporre almeno delle autorizzazioni nel ruolo Earth Engine Resource Viewer (scopri di più sui ruoli IAM di Earth Engine predefiniti). Inoltre, l'utente deve disporre almeno dell'autorizzazione serviceusage.services.use sul progetto. Questa autorizzazione può essere fornita tramite i ruoli Proprietario o Editor del progetto oppure tramite il ruolo specifico Service Usage Consumer. Se l'utente non dispone delle autorizzazioni Earth Engine e Service Usage richieste per il progetto selezionato, verrà generato un errore.

Imposta le autorizzazioni per gli asset

Imposta le autorizzazioni a livello di risorsa

Esistono diverse opzioni per aggiornare le autorizzazioni a livello di asset.

  • Utilizza Assets Manager nell'editor di codice.
  • Utilizza la riga di comando di Earth Engine.
  • Utilizza una libreria client, ad esempio ee.data.setAssetAcl().
  • In alternativa, chiama direttamente l'API REST.

Imposta le autorizzazioni degli asset a livello di progetto

La condivisione a livello di progetto imposta le autorizzazioni su tutti gli asset nel tuo progetto cloud abilitato per Earth Engine contemporaneamente.

Puoi condividere gli asset a livello di progetto assegnando il ruolo Identity and Access Management (IAM) appropriato nella pagina Amministrazione IAM del progetto. Esistono ruoli IAM di Earth Engine predefiniti per la condivisione di asset e risorse di Earth Engine. Consulta Informazioni sui ruoli per una panoramica più generale dei ruoli IAM.

Quando un altro utente tenta di accedere a uno dei tuoi asset, le autorizzazioni vengono prima controllate a livello di asset. Se le autorizzazioni non sono state impostate a livello di asset o se il controllo non va a buon fine (ovvero, nessun accesso), le autorizzazioni verranno controllate a livello di progetto.

Imposta le autorizzazioni a livello di progetto

Per impostare le autorizzazioni a livello di progetto, assegna un ruolo IAM di progetto a un utente o a un gruppo di utenti:

  1. Apri la pagina IAM nella console Google Cloud
    Apri la pagina IAM
    In alternativa, tieni il puntatore sul nome del progetto nella scheda Asset dell'editor di codice e fai clic sull'icona .
  2. Fai clic su Seleziona un progetto e scegli il tuo progetto (dovresti già essere lì se hai aperto la pagina IAM dall'editor di codice).
  3. Fai clic su AGGIUNGI in alto e aggiungi l'indirizzo email della persona o del gruppo come nuovo membro oppure fai clic sull'icona accanto al membro esistente nel progetto.
  4. Nel menu a discesa Ruolo, cerca il ruolo Earth Engine Resource che vuoi concedere. Per maggiori dettagli, consulta Ruoli IAM di Earth Engine predefiniti.
  5. Fai clic sul pulsante SALVA.

Controlli di servizio VPC

Earth Engine supporta i Controlli di servizio VPC, una funzionalità di sicurezza di Google Cloud che aiuta gli utenti a proteggere le proprie risorse e a mitigare il rischio di esfiltrazione di dati. L'aggiunta di risorse a un perimetro di servizio VPC consente un maggiore controllo sulle operazioni di lettura e scrittura dei dati.

Scopri di più sulle funzionalità e sulla configurazione di VPC-SC.

Limitazioni

L'abilitazione dei Controlli di servizio VPC per le tue risorse comporta alcune limitazioni, per le quali abbiamo fornito soluzioni alternative di esempio:

Limitazione Esempio di alternativa
L'editor di codice non è supportato e i Controlli di servizio VPC non ne consentono l'utilizzo con risorse e client all'interno di un perimetro di servizio. Utilizza l' API Python di Earth Engine insieme alla libreria geemap.
Gli asset legacy non sono protetti dai Controlli di servizio VPC. Utilizza gli asset archiviati nei progetti cloud.
Esporta su Google Drive non è supportato dai Controlli di servizio VPC.
Le app Earth Engine non sono supportate per le risorse e i client all'interno di un perimetro di servizio. Nessuna soluzione alternativa disponibile.

L'utilizzo di Earth Engine con risorse all'interno di un perimetro di servizio VPC protetto è disponibile solo per i piani tariffari Professional e Premium. Se provi a utilizzare l'API Earth Engine con un progetto protetto da VPC-SC associato a un piano tariffario Basic, verrà generato un errore. Per scoprire di più sui prezzi di Earth Engine, consulta la documentazione ufficiale.

Per saperne di più sui Controlli di servizio VPC e sulle relative limitazioni, consulta Prodotti supportati e limitazioni.

Ruoli e autorizzazioni

Le sezioni seguenti descrivono le autorizzazioni e i ruoli necessari per eseguire attività e accedere alle risorse di Earth Engine. Consulta la documentazione di Google Cloud per scoprire di più sulle autorizzazioni e sui ruoli dei progetti cloud.

Ruoli IAM di Earth Engine predefiniti

Earth Engine fornisce ruoli predefiniti che consentono vari livelli di controllo sulle risorse Earth Engine all'interno di un progetto. Questi ruoli sono:

Ruolo Titolo Descrizione
roles/earthengine.viewer Earth Engine Resource Viewer Fornisce l'autorizzazione per visualizzare ed elencare asset e attività.
roles/earthengine.writer Earth Engine Resource Writer Fornisce l'autorizzazione per leggere, creare, modificare ed eliminare asset, importare immagini e tabelle, leggere e aggiornare attività, eseguire calcoli interattivi e creare attività di esportazione a lunga esecuzione.
roles/earthengine.admin Earth Engine Admin Fornisce l'autorizzazione per tutte le risorse Earth Engine, inclusa la modifica dei controlli di accesso per gli asset Earth Engine.
roles/earthengine.appsPublisher Earth Engine Apps Publisher Fornisce l'autorizzazione per creare un service account da utilizzare con un'app Earth Engine. Concede inoltre l'autorizzazione per modificare ed eliminare le app di proprietà del progetto nell'ambito del progetto cloud.

Tieni presente che puoi impostare un ruolo di base o personalizzato se i ruoli Earth Engine predefiniti non soddisfano le tue esigenze. Puoi visualizzare il bundle di autorizzazioni associate a ogni ruolo dalla pagina Ruoli IAM filtrando per un ruolo specifico e facendo clic sul ruolo.

Abilita l'API Earth Engine

Per abilitare l'API Earth Engine su un progetto Cloud, l'utente deve disporre del ruolo Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin) o di un altro ruolo che includa l'autorizzazione serviceusage.services.enable (ad esempio Project Owner o Editor).

Autorizzazioni richieste
  • serviceusage.services.enable
  • serviceusage.services.get
Ruoli suggeriti
  • Amministratore Service Usage (roles/serviceusage.serviceUsageAdmin) OPPURE
  • Proprietario (roles/owner) OPPURE
  • Editor (roles/editor)

Accesso completo all'API Earth Engine

Per concedere agli utenti l'accesso completo al servizio Earth Engine, direttamente tramite l'API REST, l'editor di codice o una libreria client, gli utenti dovranno disporre dell'autorizzazione per eseguire operazioni come:

Autorizzazioni richieste
  • clientauthconfig.clients.listWithSecrets
  • earthengine.assets.get
  • earthengine.assets.getIamPolicy
  • earthengine.assets.list
  • earthengine.computations.create
  • earthengine.operations.get
  • earthengine.operations.list
  • monitoring.timeSeries.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.operations.get
  • serviceusage.operations.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • serviceusage.services.use
Ruoli suggeriti
  • Service Usage Consumer (roles/serviceusage.serviceUsageConsumer) E uno dei seguenti ruoli:
    • Earth Engine Resource Viewer (roles/earthengine.viewer) OPPURE
    • Earth Engine Resource Writer (roles/earthengine.writer) OPPURE
    • Earth Engine Resource Admin (roles/earthengine.admin)
  • OAuth Config Editor (roles/oauthconfig.editor) è inoltre richiesto per gli utenti che accedono a Earth Engine tramite un ambiente notebook e utilizzano l'autenticatore del notebook. Per maggiori dettagli, consulta Autenticazione dei blocchi note Colab o JupyterLab.
Note Google Cloud richiede il ruolo Service Usage Consumer per utilizzare il progetto come progetto attivo quando vengono chiamate le API e ee.Initialize(project=X) non riuscirà senza questa autorizzazione nel progetto X. Inoltre, puoi selezionare questo progetto nella console Cloud per visualizzare l'utilizzo delle risorse.

Solo condivisione di asset

Concedi all'utente uno dei ruoli IAM di Earth Engine predefiniti con le autorizzazioni minime per eseguire l'attività necessaria. Tieni presente che gli utenti non potranno utilizzare le risorse del progetto senza le autorizzazioni serviceusage necessarie.

Project management

Elencare e visualizzare i progetti disponibili

Questo accade quando utilizzi l'editor di codice per sfogliare i progetti disponibili.

Autorizzazioni richieste
  • resourcemanager.projects.get
  • resourcemanager.folders.list
  • resourcemanager.folders.get
  • resourcemanager.organizations.get (non comune)
Ruoli suggeriti
  • Visualizzatore (roles/viewer) OPPURE
    Visualizzatore risorse Earth Engine (roles/earthengine.viewer) sui progetti pertinenti OPPURE
    Browser (roles/browser, consigliato per casi di organizzazione avanzati)
  • Folder Viewer (roles/resourcemanager.folderViewer) sulle cartelle pertinenti

Seleziona un progetto da utilizzare nell'editor di codice

Autorizzazioni richieste
  • resourcemanager.projects.get
  • serviceusage.services.get
Se il progetto non è stato configurato in precedenza

Quando selezioni un progetto per la prima volta tramite l'editor di codice, il progetto viene inizializzato per l'utilizzo con Earth Engine. Se non è stato fatto in precedenza, avrai bisogno di questi ruoli per completare la configurazione.

  • resourcemanager.projects.update AND
  • serviceusage.services.enable
Ruoli suggeriti
  • Visualizzatore (roles/viewer) O
  • Earth Engine Resource Viewer (roles/earthengine.viewer) E
    Service Usage Consumer (roles/serviceusage.serviceUsageConsumer)
Ruoli aggiuntivi (se il progetto non è stato configurato in precedenza)
  • Editor (roles/editor) OPPURE
  • Project Mover (roles/resourcemanager.projectMover) AND
    Project IAM Admin (roles/resourcemanager.projectIamAdmin) AND
    Service Usage Admin (roles/serviceusage.serviceUsageAdmin)

Crea un progetto tramite l'editor di codice

Autorizzazioni richieste
  • resourcemanager.projects.get
  • resourcemanager.projects.create
  • resourcemanager.projects.update
  • serviceusage.services.get
  • serviceusage.services.enable
Ruoli suggeriti
  • Editor (roles/editor) OPPURE
  • Project Mover (roles/resourcemanager.projectMover) AND
    Project Creator (roles/resourcemanager.projectCreator) AND
    Service Usage Admin (roles/serviceusage.serviceUsageAdmin)
Note La tua organizzazione potrebbe non concederti il ruolo Editor, pertanto potrebbero essere necessari ruoli più granulari. Il ruolo Project Mover è necessario per coprire l'autorizzazione projects.update.

Selezione del livello non commerciale

Le seguenti autorizzazioni e i ruoli suggeriti riguardano la configurazione del livello non commerciale.

Selezione del livello
Autorizzazioni richieste
  • earthengine.config.update
Ruoli suggeriti
  • Earth Engine Resource Writer (roles/earthengine.writer)
Associa un account di fatturazione a un progetto

Il livello Contributor richiede un account di fatturazione valido associato al progetto. Per ulteriori informazioni sulle autorizzazioni e sui ruoli di fatturazione, consulta la pagina Accesso alla fatturazione Cloud.

Autorizzazioni richieste
Account di fatturazione
  • billing.resourceAssociations.create
Progetto cloud
  • resourcemanager.projects.createBillingAssignment
Ruoli suggeriti
Account di fatturazione
  • Billing Account User (roles/billing.user)
Progetto cloud
  • Project Billing Manager (roles/billing.projectManager)

Registrazione di un progetto commerciale

Le seguenti autorizzazioni riguardano la registrazione dei progetti per l'utilizzo a pagamento.

Autorizzazioni richieste
Account di fatturazione
  • billing.accounts.get
  • billing.subscriptions.list
Inoltre:
  • billing.subscriptions.create (per creare un nuovo piano Basic o Professional)
Progetto cloud
  • earthengine.config.update
  • serviceusage.services.get
  • serviceusage.services.enable
Ruoli suggeriti
Account di fatturazione
  • Billing Account Viewer (roles/billing.viewer), per creare un nuovo piano Limited
  • Billing Account Administrator (roles/billing.admin), per creare un nuovo piano Basic o Professional
Progetto cloud
  • Earth Engine Resource Writer (roles/earthengine.writer)
  • Amministratore Service Usage (roles/serviceusage.serviceUsageAdmin)

Gestione del piano Earth Engine commerciale

Le seguenti autorizzazioni riguardano la gestione dei piani tariffari di Earth Engine.

Autorizzazioni necessarie
per l'account di fatturazione
  • billing.accounts.get
  • billing.subscriptions.list
Inoltre:
  • billing.subscriptions.create (per eseguire l'upgrade da un piano Limited a un piano Basic o Professional)
  • billing.subscriptions.update (per passare dal piano Basic a Professional e viceversa o per eseguire il downgrade di un piano Basic o Professional a Limited)
Ruoli suggeriti
nell'account di fatturazione
  • Billing Account Viewer (roles/billing.viewer), per visualizzare il piano Earth Engine attuale
  • Billing Account Administrator (roles/billing.admin), per modificare un piano Earth Engine

Gestione delle attività in batch

Le seguenti autorizzazioni riguardano la configurazione dei limiti per progetto sulla contemporaneità delle attività batch. Questa funzionalità è disponibile solo per gli utenti commerciali di Earth Engine.

Visualizzazione dei limiti delle attività batch a livello di progetto

Autorizzazioni necessarie
per l'account Cloud
earthengine.config.get

Impostazione dei limiti delle attività batch a livello di progetto

Autorizzazioni necessarie
per l'account Cloud
earthengine.config.update
Nota: questa autorizzazione comprende anche la visualizzazione dei limiti a livello di piano configurati nell'account di fatturazione.
Autorizzazioni necessarie
per l'account di fatturazione
billing.subscriptions.list

Gestione delle app

Visualizza informazioni sull'app

Autorizzazioni richieste
  • iam.serviceAccounts.get
  • iam.serviceAccounts.getIamPolicy, se l'app è limitata (meno comune)
Ruoli suggeriti Viewer (roles/viewer) OPPURE
Earth Engine Apps Publisher (roles/earthengine.appsPublisher)

Pubblica/aggiorna l'app

Autorizzazioni richieste
  • iam.serviceAccounts.get
  • iam.serviceAccounts.create
  • iam.serviceAccounts.enable
  • iam.serviceAccounts.getIamPolicy
  • iam.serviceAccounts.setIamPolicy
  • iam.serviceAccounts.disable, se l'app viene spostata da un progetto a un altro (non comune)
Ruoli suggeriti Earth Engine Apps Publisher (roles/earthengine.appsPublisher) OPPURE
Service Account Admin (roles/iam.serviceAccountAdmin)
Note
  • Inoltre, i service account delle app Earth Engine si identificano ai server Earth Engine presentando un token di accesso OAuth. Pertanto, alcune identità vengono aggiunte durante la creazione dell'app come Creatore token account di servizio (roles/iam.serviceAccountTokenCreator) nei service account.
  • Nel caso di un'app Earth Engine pubblica, l'identità a cui viene concesso questo ruolo è earth-engine-public-apps@appspot.gserviceaccount.com, mentre nel caso di app con limitazioni, l'identità è il gruppo Google con limitazioni di accesso configurato dal creator dell'app.

Elimina un'app

Autorizzazioni richieste iam.serviceAccounts.disable
Ruoli suggeriti Earth Engine Apps Publisher (roles/earthengine.appsPublisher) OPPURE
Service Account Admin (roles/iam.serviceAccountAdmin)