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 computação do Earth Engine podem ser compartilhados com outro usuário ou grupo de usuários. Se você quiser compartilhar com um grupo de usuários, crie um novo Grupo do Google e anote o e-mail dele (disponível no link "Sobre" na página do grupo). Nesta página, descrevemos como fornecer acesso a recursos para um indivíduo ou 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 na nuvem, ela precisa estar ativada no projeto, e o usuário precisa ter pelo menos as permissões do papel Leitor de recursos do Earth Engine (saiba mais sobre os 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 fornecida 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 do Service Usage no projeto selecionado.

Definir permissões de recursos

Definir permissões no nível do recurso

Há 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 para envolvidos no projeto

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

É possível compartilhar recursos no nível do projeto atribuindo o papel apropriado do Identity and Access Management (IAM) na página 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 ampla 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), as permissões 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
    Abra a página do IAM
    Ou mantenha o ponteiro sobre o nome do projeto na guia Recursos do editor de código e clique no ícone .
  2. Clique em Selecionar um projeto e escolha seu projeto. Você já deve estar nele se tiver aberto a página do IAM no Editor de código.
  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 de 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 o uso dele com recursos e clientes dentro de um perímetro de serviço. Use a API Python do Earth Engine com a biblioteca geemap.
Os recursos legados não são protegidos pelo VPC Service Controls. Usar ativos armazenados em projetos na nuvem.
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.

O uso do Earth Engine com recursos dentro de um perímetro de serviço de VPC protegido só está disponível para os planos de preços Professional e Premium. Tentar usar a API 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, acesse 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 as permissões e os papéis do projeto na nuvem.

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. Esses papéis são:

Papel Nome Descrição
roles/earthengine.viewer Visualizador de recursos do Earth Engine Concede permissão para visualizar 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 computações interativas 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 alteração dos 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 Proprietário do projeto no projeto na nuvem.

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

Ativar a API Earth Engine

Para ativar a API Earth Engine em um projeto na nuvem, o usuário precisa do papel de Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin) ou outro papel que inclua a permissão serviceusage.services.enable (como Proprietário do projeto ou Editor).

Permissões necessárias
  • serviceusage.services.enable
  • serviceusage.services.get
Papéis sugeridos
  • Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin) OU
  • Proprietário (roles/owner) OU
  • Editor (roles/editor)

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, os usuários precisarão de permissão para realizar operações como:

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 dos seguintes:
    • 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 por um ambiente de notebook e usam o autenticador de notebook. Consulte Autenticação de notebook do Colab ou do JupyterLab para mais detalhes.
Observações O Google Cloud exige o papel de consumidor do Service Usage para usar o projeto como o projeto ativo ao chamar APIs, e 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 exibir o uso de recursos.

Somente compartilhamento de recursos

Conceda ao usuário um dos papéis predefinidos 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 necessárias do serviceusage.

Gerenciamento de projetos

Listar e exibir projetos disponíveis

Isso acontece ao usar o Editor de Código 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 de organização avançados)
  • Leitor de pastas (roles/resourcemanager.folderViewer) nas pastas relevantes

Selecione um projeto para usar no Editor de Código

Permissões necessárias
  • resourcemanager.projects.get
  • serviceusage.services.get
Se o projeto não tiver sido configurado anteriormente

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 desses papéis 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)
Papéis adicionais (se o projeto ainda não tiver sido configurado)
  • Editor (roles/editor) OU
  • Movimentador de projetos (roles/resourcemanager.projectMover) E
    Administrador de projetos do IAM (roles/resourcemanager.projectIamAdmin) E
    Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin)

Criar projeto pelo 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
  • Movimentador 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 você o papel de Editor. Por isso, talvez sejam necessários papéis mais específicos. O papel Movimentador de projetos é 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)
Associar uma conta de faturamento a um projeto

O nível Colaborador exige uma conta de faturamento válida associada ao projeto. Para mais informações sobre permissões e papéis de faturamento, consulte a página de acesso do Cloud Billing.

Permissões necessárias
Conta de faturamento
  • billing.resourceAssociations.create
do Google Cloud
  • resourcemanager.projects.createBillingAssignment
Papéis sugeridos
Conta de faturamento
  • Usuário da conta de faturamento (roles/billing.user)
do Google Cloud
  • Gerente de faturamento do projeto (roles/billing.projectManager)

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.accounts.get
  • billing.subscriptions.list
Além disso:
  • billing.subscriptions.create (para criar um novo plano Basic ou Professional)
do Google Cloud
  • 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
  • Admin 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 do plano comercial do Earth Engine

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

Permissões necessárias
na conta de faturamento
  • billing.accounts.get
  • billing.subscriptions.list
Além disso:
  • billing.subscriptions.create (para fazer upgrade de um plano Limited para um plano Basic ou Professional)
  • billing.subscriptions.update (para mudar entre os planos Basic e Professional ou fazer downgrade de um plano Basic ou Professional para Limited)
Papéis sugeridos
na conta de faturamento
  • Leitor da conta de faturamento (roles/billing.viewer), para ver o plano atual do Earth Engine
  • Admin 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 os limites de tarefas em lote para envolvidos no projeto

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

Como 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 estiver 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 OAuth. Portanto, determinadas 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 esse papel é 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)