Controllare l'accesso alle risorse

Puoi condividere le risorse o la quota di calcolo del tuo progetto abilitato per Earth Engine con altri utenti di Earth Engine a livello di progetto. Le risorse 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 annota il suo indirizzo 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 richiesti per le diverse attività.

Impostare 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 Visualizzatore risorse Earth Engine (scopri di più sui ruoli IAM Earth Engine predefiniti). Inoltre, l'utente deve disporre almeno dell'autorizzazione serviceusage.services.use per il progetto. Questa autorizzazione può essere fornita tramite i ruoli Proprietario o Editor del progetto oppure tramite il ruolo specifico Consumer utilizzo dei servizi. Verrà restituito un errore se l'utente non dispone delle autorizzazioni Earth Engine e Service Usage richieste per il progetto selezionato.

Impostare le autorizzazioni degli asset

Impostare le autorizzazioni a livello di asset

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

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

Impostare le autorizzazioni delle risorse a livello di progetto

La condivisione a livello di progetto imposta le autorizzazioni per tutti gli asset del 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 di amministrazione IAM del progetto. Esistono ruoli IAM Earth Engine predefiniti per la condivisione di asset e risorse Earth Engine. Consulta la sezione Informazioni sui ruoli per una panoramica più generale dei ruoli IAM.

Quando un altro utente tenta di accedere a una delle tue risorse, le autorizzazioni vengono prima controllate a livello di risorsa. Se le autorizzazioni non sono state impostate a livello di asset o il controllo non va a buon fine (ad es. 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 del 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 sopra il 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 qui se hai aperto la pagina IAM dall'editor di codice).
  3. Fai clic su AGGIUNGI in alto e aggiungi l'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 Risorsa Earth Engine che vuoi concedere. Per maggiori dettagli, consulta Ruoli IAM predefiniti di Earth Engine.
  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
Code Editor 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. Utilizzare gli asset archiviati nei progetti cloud.
Esporta in Google Drive non è supportato da 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 di prezzi Professional e Premium. Il tentativo di utilizzare l'API Earth Engine con un progetto protetto da VPC-SC associato a un piano di prezzi Basic genererà 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 la sezione Prodotti supportati e limitazioni.

Ruoli e autorizzazioni

Le seguenti sezioni descrivono le autorizzazioni e i ruoli necessari per eseguire attività e accedere alle risorse di Earth Engine. Consulta la documentazione di Google Cloud per saperne di più su autorizzazioni e ruoli del progetto Cloud.

Ruoli IAM di Earth Engine predefiniti

Earth Engine fornisce ruoli predefiniti che consentono vari gradi 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 Amministratore Earth Engine 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 nel progetto cloud.

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

Accesso completo all'API Earth Engine

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

  • Esecuzione di espressioni Earth Engine
  • Esecuzione di calcoli batch (esportazioni)
  • Visualizzazione di risultati interattivi (mappe online, miniature, grafici e così via)
  • Creazione/eliminazione di asset Earth Engine
  • Utilizzo dell'autenticazione OAuth tramite una libreria client per connettersi a Earth Engine
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
  • Consumer utilizzo dei servizi (roles/serviceusage.serviceUsageConsumer) E uno dei seguenti:
    • Visualizzatore risorse Earth Engine (roles/earthengine.viewer) O
    • Earth Engine Resource Writer (roles/earthengine.writer) O
    • Amministratore risorse Earth Engine (roles/earthengine.admin)
  • OAuth Config Editor (roles/oauthconfig.editor) è inoltre necessario per gli utenti che accedono a Earth Engine tramite un ambiente notebook e utilizzano Notebook Authenticator. Per saperne di più, consulta Autenticazione del notebook Colab o JupyterLab.
Note Google Cloud richiede il ruolo Consumer servizi per utilizzare il progetto come progetto attivo quando vengono chiamate le API e ee.Initialize(project=X) non funzionerà senza questa autorizzazione per il 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.

Gestione di progetti

Elencare e visualizzare i progetti disponibili

Ciò si verifica 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) O
    Visualizzatore risorse Earth Engine (roles/earthengine.viewer) sui progetti pertinenti O
    Browser (roles/browser, consigliato per i casi avanzati di organizzazione)
  • Visualizzatore cartella (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 tramite l'editor di codice, il progetto viene inizializzato per l'utilizzo con Earth Engine. Se non è mai stato fatto prima, avrai bisogno di questi ruoli per completare la configurazione.

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

Creare 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) O
  • Project Mover (roles/resourcemanager.projectMover) E
    Project Creator (roles/resourcemanager.projectCreator) E
    Service Usage Admin (roles/serviceusage.serviceUsageAdmin)
Note La tua organizzazione potrebbe non concederti il ruolo Editor, quindi potrebbero essere necessari ruoli più granulari. Project Mover è necessario per coprire l'autorizzazione projects.update.

Selezione del livello non commerciale

Le seguenti autorizzazioni e i ruoli suggeriti si riferiscono alla configurazione del livello non commerciale.

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

Il livello Contributor richiede un account di fatturazione valido nel progetto.

Autorizzazioni richieste
  • billing.accounts.get
Ruoli suggeriti
  • Visualizzatore account di fatturazione (roles/billing.viewer)

Registrazione del progetto commerciale

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

Autorizzazioni richieste
Account di fatturazione
  • billing.subscriptions.list
Inoltre:
  • billing.accounts.get (per creare un nuovo piano limitato)
  • billing.subscriptions.create (per creare un nuovo piano Basic o Professional)
Progetto cloud
  • earthengine.computations.create
  • earthengine.config.update
  • serviceusage.services.get
  • serviceusage.services.enable
Ruoli suggeriti
Account di fatturazione
  • Visualizzatore account di fatturazione (roles/billing.viewer), per creare un nuovo piano limitato
  • Amministratore account di fatturazione (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 dei piani Earth Engine commerciali

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

Autorizzazioni necessarie
sull'account di fatturazione
  • billing.subscriptions.create (per modificare un piano Earth Engine)
  • billing.subscriptions.list (per visualizzare il piano Earth Engine attuale)
Ruoli suggeriti
nell'account di fatturazione
  • Visualizzatore account di fatturazione (roles/billing.viewer), per visualizzare il piano Earth Engine attuale
  • Amministratore account di fatturazione (roles/billing.admin), per modificare un piano Earth Engine

Gestione delle attività batch

Le seguenti autorizzazioni riguardano la configurazione dei limiti per progetto sulla concorrenza 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
sull'account Cloud
earthengine.config.get

Impostazione dei limiti delle attività batch a livello di progetto

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

Gestione delle app

Visualizzare le informazioni sull'app

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

Pubblica/Aggiorna 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) O
Service Account Admin (roles/iam.serviceAccountAdmin)
Note
  • Inoltre, i service account dell'app Earth Engine si identificano sui server Earth Engine presentando un token di accesso OAuth. Pertanto, durante la creazione dell'app vengono aggiunte determinate identità come Creatore token account di servizio (roles/iam.serviceAccountTokenCreator) sugli account di servizio.
  • Nel caso di un'app Earth Engine pubblica, l'identità a cui è stato concesso questo ruolo è earth-engine-public-apps@appspot.gserviceaccount.com e nel caso di app con limitazioni, l'identità è il gruppo Google con limitazioni di accesso configurato dal creatore dell'app.

Eliminare un'app

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