Controle de acesso

Nesta página, você encontra as opções de controle de acesso disponíveis na API do Cloud Composer.

Visão geral

A API do Cloud Composer usa o gerenciamento de identidade e acesso (IAM, na sigla em inglês) para controlar o acesso.

Na API Cloud Composer, é possível configurar o controle de acesso no nível do projeto. Por exemplo, conceda acesso a todos os recursos da API do Cloud Composer em um projeto a um grupo de desenvolvedores.

Para uma descrição detalhada do IAM e dos recursos dele, consulte a documentação do IAM. Em particular, consulte Como gerenciar políticas do IAM.

Todos os métodos da API do Cloud Composer exigem que o autor da chamada tenha as permissões necessárias. Para mais informações, veja Permissões e papéis.

Permissões exigidas

Na tabela a seguir, listamos as permissões que o autor da chamada precisa ter para chamar cada método na API Cloud Composer ou para executar tarefas nas ferramentas do Google Cloud que usam a API, como o Console do Google Cloud ou o SDK do Cloud.

Método Permissão
environments.create composer.environments.create
iam.serviceAccounts.actAs (na conta de serviço em que o ambiente será executado)
environments.delete composer.environments.delete
environments.get composer.environments.get
environments.list composer.environments.list
environments.update composer.environments.update
operations.delete composer.operations.delete
operations.get composer.operations.get
operations.list composer.operations.list

Papéis

Papel Nome Descrição Permissões Menor recurso
roles/composer.admin Administrador do Composer Concede controle total dos recursos do Cloud Composer.
  • composer.*
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
Projeto
roles/composer.environmentAndStorageObjectAdmin Administrador de ambiente e de objetos do Storage Concede controle total dos recursos do Cloud Composer e dos objetos em todos os buckets do projeto.
  • composer.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • storage.objects.*
Projeto
roles/composer.environmentAndStorageObjectViewer Leitor de usuários do ambiente e de objetos do Storage Concede as permissões necessárias para listar e receber ambientes e operações do Cloud Composer. Concede acesso somente leitura a objetos em todos os buckets do projeto.
  • composer.environments.get
  • composer.environments.list
  • composer.imageversions.*
  • composer.operations.get
  • composer.operations.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • storage.objects.get
  • storage.objects.list
Projeto
roles/composer.user Usuário do Composer Concede as permissões necessárias para listar e receber ambientes e operações do Cloud Composer.
  • composer.environments.get
  • composer.environments.list
  • composer.imageversions.*
  • composer.operations.get
  • composer.operations.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
Projeto
roles/composer.worker Worker do Composer Concede as permissões necessárias para executar uma VM de ambiente do Cloud Composer. Destinado a contas de serviço.
  • artifactregistry.*
  • cloudbuild.*
  • container.*
  • containeranalysis.occurrences.create
  • containeranalysis.occurrences.delete
  • containeranalysis.occurrences.get
  • containeranalysis.occurrences.list
  • containeranalysis.occurrences.update
  • logging.logEntries.create
  • monitoring.metricDescriptors.create
  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.monitoredResourceDescriptors.*
  • monitoring.timeSeries.*
  • pubsub.snapshots.create
  • pubsub.snapshots.delete
  • pubsub.snapshots.get
  • pubsub.snapshots.list
  • pubsub.snapshots.seek
  • pubsub.snapshots.update
  • pubsub.subscriptions.consume
  • pubsub.subscriptions.create
  • pubsub.subscriptions.delete
  • pubsub.subscriptions.get
  • pubsub.subscriptions.list
  • pubsub.subscriptions.update
  • pubsub.topics.attachSubscription
  • pubsub.topics.create
  • pubsub.topics.delete
  • pubsub.topics.detachSubscription
  • pubsub.topics.get
  • pubsub.topics.list
  • pubsub.topics.publish
  • pubsub.topics.update
  • pubsub.topics.updateTag
  • remotebuildexecution.blobs.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • source.repos.get
  • source.repos.list
  • storage.buckets.create
  • storage.buckets.get
  • storage.buckets.list
  • storage.objects.*
Projeto

Papéis primários

Papel Nome Descrição Permissões Menor recurso
roles/owner Proprietário Papel primário que concede controle total sobre os recursos do Cloud Composer. composer.operations.list
composer.operations.get
composer.operations.delete
composer.environments.list
composer.environments.get
composer.environments.delete
composer.environments.update
composer.environments.create
iam.serviceAccounts.actAs
Projeto
roles/editor Editor Papel primário que concede controle total sobre os recursos do Cloud Composer. composer.operations.list
composer.operations.get
composer.operations.delete
composer.environments.list
composer.environments.get
composer.environments.delete
composer.environments.update
composer.environments.create
iam.serviceAccounts.actAs
Projeto
roles/reader Visualizador Papel primário que permite ao usuário listar e receber recursos do Cloud Composer. composer.operations.list
composer.operations.get
composer.environments.list
composer.environments.get
Projeto

Permissões para tarefas comuns

Os papéis são conjuntos de permissões. Nesta seção, você vê os papéis ou permissões necessários para realizar tarefas comuns.

Tarefa Permissões e/ou papéis
Acessar a interface da Web do Airflow protegida por IAP composer.environments.get
Executar a CLI do Airflow usando a ferramenta de linha de comando gcloud composer.environments.get
container.clusters.getCredentials
roles/container.developer
Visualizar a página "Ambientes" no Console do Cloud composer.environments.list
servicemanagement.projectSettings.get
Visualizar registros e métricas do conjunto de operações do Google Cloud roles/logging.viewer
roles/monitoring.viewer
Criar um ambiente composer.environments.create
iam.serviceAccounts.actAs (na conta de serviço em que o ambiente será executado)
Atualizar e excluir um ambiente, incluindo a configuração de variáveis e a instalação/atualização de pacotes Python environments.delete
environments.update
Fazer upload de arquivos para as pastas "DAGs" e "Plug-ins" e acessar registros do Airflow na pasta "Registros" storage.objectAdmin atribuído no bucket ou no nível do projeto

composer.environments.get para procurar o bucket de destino do DAG

Controle de acesso por gcloud

Para atribuir papéis predefinidos, execute o comando gcloud projects get-iam-policy para acessar a política atual, atualize a vinculação de política com o papel roles/composer.admin ("Administrador do Composer") ou roles/composer.user ("Usuário do Composer") e, em seguida, execute o comando gcloud projects set-iam-policy. Consulte a página Como conceder, alterar e revogar o acesso a recursos da documentação do IAM para mais informações sobre como atribuir papéis usando gcloud.

Para configurar um papel personalizado com permissões do Cloud Composer, execute o comando gcloud iam roles create , incluindo a lista de permissões que você quer da tabela de papéis. Depois, atualize a política do IAM com o papel personalizado recém-configurado. Consulte a página Como criar um papel personalizado na documentação do IAM para mais informações.

Controle de acesso por meio do Console do Cloud

Use o Console do Cloud para gerenciar o controle de acesso aos ambientes e projetos.

Para definir os controles de acesso no nível do projeto:

  1. Abra a página "IAM" no Console do Google Cloud.
  2. Selecione o projeto e clique em Continuar.
  3. clique em Adicionar membro;
  4. Insira o endereço de e-mail de um novo membro que ainda não tem um papel de IAM atribuído.
  5. Selecione o papel desejado no menu suspenso;
  6. clique em Adicionar;
  7. verifique se o membro está listado no papel concedido.