Controlar o acesso a recursos

É possível compartilhar os recursos ou a cota de computação do seu projeto ativado para o Earth Engine com outros usuários do Earth Engine no nível do projeto. Os recursos ou a capacidade de computação do Earth Engine podem ser compartilhados com outro usuário ou grupo de usuários. Se quiser compartilhar com um grupo de usuários, crie um grupo do Google e anote o e-mail dele (disponível no link "Sobre" na página do grupo). Nesta página, descrevemos como conceder acesso a recursos para uma pessoa ou um grupo e os papéis e permissões necessários para diferentes atividades.

Definir o uso do serviço do Earth Engine

Para usar a API Earth Engine em um projeto do Cloud, a API precisa estar ativada no projeto, e o usuário precisa ter pelo menos as permissões no papel Visualizador de recursos do Earth Engine. Saiba mais sobre papéis predefinidos do IAM do Earth Engine. Além disso, o usuário precisa ter pelo menos a permissão serviceusage.services.use no projeto. Essa permissão pode ser concedida pelos papéis de proprietário ou editor do projeto ou pelo papel específico de consumidor do Service Usage. Um erro será gerado se o usuário não tiver as permissões necessárias do Earth Engine e de uso de serviços no projeto selecionado.

Definir permissões de recursos

Definir permissões no nível do recurso

várias opções para atualizar as permissões no nível do recurso.

  • Use o Gerenciador de recursos no editor de código.
  • Use a linha de comando do Earth Engine.
  • Use uma biblioteca de cliente, por exemplo, ee.data.setAssetAcl().
  • Ou chame a API REST diretamente.

Definir permissões de recursos no nível do projeto

O compartilhamento no nível do projeto define permissões em todos os recursos do projeto do Cloud ativado para o Earth Engine de uma só vez.

Para compartilhar recursos no nível do projeto, atribua o papel apropriado do gerenciamento de identidade e acesso (IAM) na página de administrador do IAM do projeto. Há papéis predefinidos do IAM do Earth Engine para compartilhar recursos do Earth Engine. Consulte Noções básicas sobre papéis para uma visão geral mais geral dos papéis do IAM.

Quando outro usuário tenta acessar um dos seus recursos, as permissões são verificadas primeiro no nível do recurso. Se as permissões não tiverem sido definidas no nível do recurso ou se a verificação falhar (ou seja, sem acesso), elas serão verificadas no nível do projeto.

Definir permissões no nível do projeto

Para definir permissões no nível do projeto, atribua um papel do IAM do projeto a um usuário ou grupo de usuários:

  1. Abra a página do IAM no console do Google Cloud
    Abrir a página do IAM
    Ou passe o cursor sobre o nome do projeto na guia Recursos do Code Editor e clique no ícone .
  2. Clique em Selecionar um projeto e escolha o projeto. Se você abriu a página do IAM no Code Editor, já está lá.
  3. Clique em ADICIONAR na parte de cima e adicione o e-mail individual ou do grupo como o novo membro ou clique no ícone ao lado do membro atual no projeto.
  4. No menu suspenso Papel, pesquise o papel Recurso do Earth Engine que você quer conceder. Consulte Papéis predefinidos do IAM do Earth Engine para mais detalhes.
  5. Clique no botão SALVAR.

VPC Service Controls

O Earth Engine é compatível com o VPC Service Controls, um recurso de segurança do Google Cloud que ajuda os usuários a proteger os recursos e reduzir o risco de exfiltração de dados. Adicionar recursos a um perímetro de serviço da VPC permite mais controle sobre as operações de leitura e gravação de dados.

Saiba mais sobre os recursos e a configuração do VPC-SC.

Limitações

A ativação do VPC Service Controls para seus recursos tem algumas limitações, para as quais fornecemos exemplos de soluções alternativas:

Limitação Exemplo de alternativa
O editor de código não é compatível, e o VPC Service Controls não permite usá-lo com recursos e clientes dentro de um perímetro de serviço. Use a API Python do Earth Engine com a biblioteca geemap.
Recursos legados não são protegidos pelo VPC Service Controls. Use recursos armazenados em projetos do Cloud.
A opção Exportar para o Google Drive não é compatível com o VPC Service Controls.
Os apps do Earth Engine não são compatíveis com recursos e clientes dentro de um perímetro de serviço. Não há solução alternativa disponível.

Usar o Earth Engine com recursos dentro de um perímetro de serviço VPC seguro só está disponível para os planos de preços Professional e Premium. Tentar usar a API do Earth Engine com um projeto protegido pelo VPC-SC associado a um plano de preços Basic vai resultar em um erro. Para saber mais sobre os preços do Earth Engine, consulte a documentação oficial.

Para mais informações sobre o VPC Service Controls e as limitações dele, consulte Produtos e limitações compatíveis.

Papéis e permissões

As seções a seguir descrevem as permissões e os papéis necessários para realizar atividades e acessar recursos do Earth Engine. Consulte a documentação do Google Cloud para saber mais sobre permissões e papéis do projeto do Cloud.

Papéis predefinidos do IAM do Earth Engine

O Earth Engine oferece papéis predefinidos que permitem vários graus de controle sobre os recursos do Earth Engine em um projeto. São elas:

Papel Nome Descrição
roles/earthengine.viewer Visualizador de recursos do Earth Engine Concede permissão para ver e listar recursos e tarefas.
roles/earthengine.writer Gravador de recursos do Earth Engine Concede permissão para ler, criar, modificar e excluir recursos, importar imagens e tabelas, ler e atualizar tarefas, realizar cálculos interativos e criar tarefas de exportação de longa duração.
roles/earthengine.admin Administrador do Earth Engine Concede permissão para todos os recursos do Earth Engine, incluindo a mudança de controles de acesso para recursos do Earth Engine.
roles/earthengine.appsPublisher Editor de apps do Earth Engine Concede permissão para criar uma conta de serviço para uso com um app do Earth Engine. Também concede permissão para editar e excluir apps de propriedade do projeto no projeto do Cloud.

É possível definir um papel primitivo ou personalizado se os papéis predefinidos do Earth Engine não atenderem às suas necessidades. Para conferir o conjunto de permissões associado a cada papel na página "Papéis do IAM", filtre por um papel específico e clique nele.

Acesso total à API Earth Engine

Para dar aos usuários acesso total ao serviço do Earth Engine, seja diretamente pela API REST, pelo editor de código ou por uma biblioteca de cliente, eles precisam de permissão para realizar operações como:

  • Executar expressões do Earth Engine
  • Execução de cálculos em lote (exportações)
  • Receber resultados interativos (mapas on-line, miniaturas, gráficos etc.)
  • Como criar/excluir recursos do Earth Engine
  • Usar a autenticação OAuth com uma biblioteca de cliente para se conectar ao Earth Engine
Permissões necessárias
  • 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
Papéis sugeridos
  • Consumidor do Service Usage (roles/serviceusage.serviceUsageConsumer) E um destes:
    • Leitor de recursos do Earth Engine (roles/earthengine.viewer) OU
    • Gravador de recursos do Earth Engine (roles/earthengine.writer) OU
    • Administrador de recursos do Earth Engine (roles/earthengine.admin)
  • O Editor de configuração OAuth (roles/oauthconfig.editor) também é necessário para usuários que acessam o Earth Engine em um ambiente de notebook e usam o Notebook Authenticator. Consulte Autenticação de notebook do Colab ou JupyterLab para mais detalhes.
Observações O Google Cloud exige a função Consumidor de uso do serviço para usar o projeto como o projeto ativo ao chamar APIs, e o ee.Initialize(project=X) vai falhar sem essa permissão no projeto X. Além disso, é possível selecionar esse projeto no Console do Cloud para mostrar seu uso de recursos.

Somente compartilhamento de recursos

Conceda ao usuário uma das funções predefinidas do IAM do Earth Engine com permissões mínimas para realizar a atividade necessária. Os usuários não poderão consumir recursos do projeto sem as permissões serviceusage necessárias.

Gerenciamento de projetos

Listar e mostrar projetos disponíveis

Isso acontece ao usar o Code Editor para navegar pelos projetos disponíveis.

Permissões necessárias
  • resourcemanager.projects.get
  • resourcemanager.folders.list
  • resourcemanager.folders.get
  • resourcemanager.organizations.get (incomum)
Papéis sugeridos
  • Leitor (roles/viewer) OU
    Leitor de recursos do Earth Engine (roles/earthengine.viewer) em projetos relevantes OU
    Navegador (roles/browser, recomendado para casos avançados de organização)
  • Leitor de pastas (roles/resourcemanager.folderViewer) nas pastas relevantes

Selecionar um projeto para usar no Editor de código

Permissões necessárias
  • resourcemanager.projects.get
  • serviceusage.services.get
Se o projeto não foi configurado antes

Ao selecionar um projeto pela primeira vez no editor de código, ele é inicializado para uso com o Earth Engine. Se isso não tiver sido feito antes, você vai precisar dessas funções para que a configuração seja concluída.

  • resourcemanager.projects.update E
  • serviceusage.services.enable
Papéis sugeridos
  • Leitor (roles/viewer) OU
  • Leitor de recursos do Earth Engine (roles/earthengine.viewer) E
    Consumidor do Service Usage (roles/serviceusage.serviceUsageConsumer)
Outras funções (se o projeto não tiver sido configurado antes)
  • Editor (roles/editor) OU
  • Administrador de movimentação de projetos (roles/resourcemanager.projectMover) E
    Administrador de projetos do IAM (roles/resourcemanager.projectIamAdmin) E
    Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin)

Criar um projeto no Editor de código

Permissões necessárias
  • resourcemanager.projects.get
  • resourcemanager.projects.create
  • resourcemanager.projects.update
  • serviceusage.services.get
  • serviceusage.services.enable
Papéis sugeridos
  • Editor (roles/editor) OU
  • Transportador de projetos (roles/resourcemanager.projectMover) E
    Criador de projetos (roles/resourcemanager.projectCreator) E
    Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin)
Observações Sua organização pode não conceder a função de Editor, então talvez seja necessário usar funções mais específicas. O Project Mover é necessário para cobrir a permissão projects.update.

Seleção de nível não comercial

As permissões e os papéis sugeridos a seguir estão relacionados à configuração do nível não comercial.

Seleção de nível
Permissões necessárias
  • earthengine.config.update
Papéis sugeridos
  • Gravador de recursos do Earth Engine (roles/earthengine.writer)
Adicionar uma conta de faturamento

O nível de colaborador exige uma conta de faturamento válida no projeto.

Permissões necessárias
  • billing.accounts.get
Papéis sugeridos
  • Leitor da conta de faturamento (roles/billing.viewer)

Registro de projeto comercial

As permissões a seguir se referem ao registro de projetos para uso pago.

Permissões necessárias
Conta de faturamento
  • billing.subscriptions.list
Além disso:
  • billing.accounts.get (para criar um novo plano Limited)
  • billing.subscriptions.create (para criar um novo plano Basic ou Professional)
do Google Cloud
  • earthengine.computations.create
  • earthengine.config.update
  • serviceusage.services.get
  • serviceusage.services.enable
Papéis sugeridos
Conta de faturamento
  • Leitor da conta de faturamento (roles/billing.viewer), para criar um novo plano limitado
  • Administrador da conta de faturamento (roles/billing.admin), para criar um novo plano Basic ou Professional
do Google Cloud
  • Gravador de recursos do Earth Engine (roles/earthengine.writer)
  • Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin)

Gerenciamento de planos comerciais do Earth Engine

As permissões a seguir se referem ao gerenciamento dos planos de preços do Earth Engine.

Permissões necessárias
na conta de faturamento
  • billing.subscriptions.create (para mudar um plano do Earth Engine)
  • billing.subscriptions.list para conferir o plano atual do Earth Engine.
Funções sugeridas
na conta de faturamento
  • Leitor da conta de faturamento (roles/billing.viewer), para conferir o plano atual do Earth Engine
  • Administrador da conta de faturamento (roles/billing.admin), para mudar um plano do Earth Engine

Gerenciamento de tarefas em lote

As permissões a seguir se referem à configuração de limites por projeto na simultaneidade de tarefas em lote. Esse recurso está disponível apenas para usuários comerciais do Earth Engine.

Como visualizar limites de tarefas em lote no nível do projeto

Permissões necessárias
na conta do Cloud
earthengine.config.get

Definir limites de tarefas em lote no nível do projeto

Permissões necessárias
na conta do Cloud
earthengine.config.update
Observação: essa permissão também inclui a visualização dos limites no nível do plano configurados na conta de faturamento.
Permissões necessárias
na conta de faturamento
billing.subscriptions.list

Gerenciamento de apps

Mostrar informações do app

Permissões necessárias
  • iam.serviceAccounts.get
  • iam.serviceAccounts.getIamPolicy, se o app for restrito (menos comum)
Papéis sugeridos Leitor (roles/viewer) OU
Editor de apps do Earth Engine (roles/earthengine.appsPublisher)

Publicar/atualizar app

Permissões necessárias
  • iam.serviceAccounts.get
  • iam.serviceAccounts.create
  • iam.serviceAccounts.enable
  • iam.serviceAccounts.getIamPolicy
  • iam.serviceAccounts.setIamPolicy
  • iam.serviceAccounts.disable, se o app for movido de um projeto para outro (incomum)
Papéis sugeridos Editor de apps do Earth Engine (roles/earthengine.appsPublisher) OU
Administrador da conta de serviço (roles/iam.serviceAccountAdmin)
Observações
  • Além disso, as contas de serviço do app do Earth Engine se identificam para os servidores do Earth Engine apresentando um token de acesso do OAuth. Portanto, algumas identidades são adicionadas durante a criação do app como Criador de token da conta de serviço (roles/iam.serviceAccountTokenCreator) nas contas de serviço.
  • No caso de um app público do Earth Engine, a identidade que recebe essa função é earth-engine-public-apps@appspot.gserviceaccount.com. No caso de apps restritos, a identidade é o grupo do Google de restrição de acesso configurado pelo criador do app.

Excluir um app

Permissões necessárias iam.serviceAccounts.disable
Papéis sugeridos Editor de apps do Earth Engine (roles/earthengine.appsPublisher) OU
Administrador da conta de serviço (roles/iam.serviceAccountAdmin)