Controle de acesso

O Google Cloud Platform oferece o gerenciamento de identidade e acesso (IAM, na sigla em inglês), que permite um acesso mais granular a recursos específicos da plataforma e evita acesso indesejado a outros recursos. Nesta página, descrevemos os papéis da API Cloud DNS. Para uma descrição detalhada do Cloud IAM, leia a documentação do IAM.

Com o IAM, é possível adotar o princípio de segurança do menor privilégio para conceder apenas o acesso necessário aos recursos.

O IAM permite que você defina políticas para controlar quem tem quais permissões em que recursos. As políticas do IAM concedem papéis específicos a um usuário, que recebe determinadas permissões. Por exemplo, um determinado usuário pode precisar criar e modificar recursos de registro DNS. Assim, você fornece ao usuário (quem) o papel /roles/dns.admin, que tem as permissões dns.changes.create e dns.resourceRecordSets.create (quais) para que ele possa criar e atualizar conjuntos de registros de recurso (o que). Por outro lado, o departamento de suporte pode precisar só visualizar os conjuntos de registros de recurso atuais. Para isso, é concedido o papel /roles/dns.reader.

Permissões e papéis

Todos os métodos da API Cloud DNS exigem que os autores das chamadas tenham as devidas permissões do IAM. As permissões são atribuídas por meio da atribuição de papéis a um usuário, grupo ou conta de serviço. Além dos papéis primários de proprietário, editor e visualizador, é possível atribuir papéis da API Cloud DNS aos usuários do projeto.

Permissões

A tabela a seguir lista as permissões que o autor da chamada precisa ter para chamar cada método:

Método Permissões necessárias
dns.changes.create para criar um conjunto de registros de recurso dns.changes.create e dns.resourceRecordSets.create no projeto que contém o conjunto de registros
dns.changes.create para atualizar um conjunto de registros de recurso dns.changes.create e dns.resourceRecordSets.update no projeto que contém o conjunto de registros
dns.changes.create para excluir um conjunto de registros de recurso dns.changes.create e dns.resourceRecordSets.delete no projeto que contém o conjunto de registros
dns.changes.get dns.changes.get no projeto que contém a zona gerenciada
dns.changes.list dns.changes.list no projeto que contém a zona gerenciada
dns.dnsKeys.get dns.dnsKeys.get no projeto que contém a zona gerenciada
dns.dnsKeys.list dns.dnsKeys.list no projeto que contém a zona gerenciada
dns.managedZoneOperations.get dns.managedZoneOperations.get no projeto que contém a zona gerenciada
dns.managedZoneOperations.list dns.managedZoneOperations.list no projeto que contém a zona gerenciada
dns.managedZones.create dns.managedZones.create no projeto que contém a zona gerenciada. Se você estiver criando uma zona particular, também será preciso usar dns.networks.bindPrivateDNSZone e dns.networks.targetWithPeeringZone em todos os projetos que tiverem redes VPC autorizadas a acessar a zona.
dns.managedZones.delete dns.managedZones.delete no projeto que contém a zona gerenciada
dns.managedZones.get dns.managedZones.get no projeto que contém a zona gerenciada
dns.managedZones.list dns.managedZones.list no projeto que contém a zona gerenciada
dns.managedZones.update dns.managedZones.update no projeto que contém a zona gerenciada. Se você estiver criando uma zona particular, também será preciso usar dns.networks.bindPrivateDNSZone e dns.networks.targetWithPeeringZone em todos os projetos que tiverem redes VPC autorizadas a acessar a zona.
dns.policies.create dns.policies.create no projeto que contém a política
dns.policies.delete dns.policies.delete no projeto que contém a política
dns.policies.get dns.policies.get no projeto que contém a política
dns.policies.list dns.policies.list no projeto que contém a política
dns.policies.update dns.policies.update no projeto que contém a política
dns.policies.patch dns.policies.patch no projeto que contém a política
dns.projects.get dns.projects.get para o projeto
dns.resourceRecordSets.list dns.resourceRecordSets.list no projeto que contém a zona gerenciada

Papéis

Veja na tabela abaixo os papéis do IAM da API Cloud DNS com uma lista correspondente de todas as permissões que cada um deles inclui. Observe que cada permissão é aplicável a um tipo de recurso específico.

Os papéis primários também podem ser usados para fazer alterações no DNS.

Papéis do DNS

Papel Nome Descrição Permissões Menor recurso
roles/
dns.admin
Administrador do DNS Dá acesso de leitura e gravação a todos os recursos do Cloud DNS. compute.networks.get
compute.networks.list
dns.changes.*
dns.dnsKeys.*
dns.managedZoneOperations.*
dns.managedZones.*
dns.networks.*
dns.policies.create
dns.policies.delete
dns.policies.get
dns.policies.list
dns.policies.update
dns.projects.*
dns.resourceRecordSets.*
resourcemanager.projects.get
resourcemanager.projects.list
Projeto
roles/
dns.reader
Leitor do DNS Dá acesso somente leitura a todos os recursos do Cloud DNS. compute.networks.get
dns.changes.get
dns.changes.list
dns.dnsKeys.*
dns.managedZoneOperations.*
dns.managedZones.get
dns.managedZones.list
dns.policies.get
dns.policies.list
dns.projects.*
dns.resourceRecordSets.list
resourcemanager.projects.get
resourcemanager.projects.list
Projeto

Controle de acesso por meio do Console do GCP

Você pode usar o Console do GCP para gerenciar o controle de acesso aos seus tópicos e projetos.

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

  1. abra a página IAM do Console do Google Cloud Platform;
  2. selecione seu projeto no menu suspenso na parte superior;
  3. clique em Adicionar;
  4. digite o endereço de e-mail de um novo membro;
  5. Selecione o papel desejado no menu suspenso;
  6. Clique em Adicionar;
  7. verifique se o membro está listado com o papel concedido.

Próximas etapas

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…