O Google Cloud oferece o gerenciamento de identidade e acesso (IAM), que permite a concessão de acesso mais granular a recursos específicos do Google Cloud e impede o acesso indesejado a outros recursos. Nesta página, descrevemos os papéis da API Cloud DNS. Para uma descrição detalhada do IAM, consulte a documentação do gerenciamento de identidade e acesso.
Com o IAM, é possível adotar o princípio de segurança de privilégio mínimo 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 do Sistema de Nomes de Domínio (DNS). Você daria a esse usuário (quem) o papel /roles/dns.admin
, que tem as permissões dns.changes.create
e dns.resourceRecordSets.create
(o quê) para que ele possa criar e atualizar conjuntos de registros de recurso (quais). Por outro lado, um departamento de suporte pode precisar apenas visualizar os conjuntos de registros de recurso atuais. Para isso, receberia um papel /roles/dns.reader
.
O Cloud DNS oferece suporte a permissões do IAM no nível do projeto e da zona de DNS individual. A permissão padrão está no nível do projeto. Para configurar permissões no nível da zona (ou recurso) de DNS individual, consulte Criar uma zona com permissões de IAM específicas.
Permissões e papéis
Todos os métodos da API Cloud DNS exigem que o autor da chamada tenha 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 básicos 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 precisará de Se você estiver criando uma zona particular com a integração do GKE, também precisará de |
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 precisará de Se você estiver criando uma zona particular com a integração do GKE, também precisará de |
dns.policies.create |
dns.policies.create no projeto que contém a política.
Se a política for criada em uma rede VPC, você também precisará de |
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.
Se a política for atualizada para estar em uma rede VPC, você também precisará de |
dns.projects.get |
dns.projects.get no projeto. |
dns.resourceRecordSets.create |
dns.resourceRecordSets.create no projeto que contém o conjunto de registros. |
dns.resourceRecordSets.delete |
dns.resourceRecordSets.delete no projeto que contém o conjunto de registros. |
dns.resourceRecordSets.get |
dns.resourceRecordSets.get no projeto que contém o conjunto de registros. |
dns.resourceRecordSets.list |
dns.resourceRecordSets.list no projeto que contém a zona gerenciada. |
dns.resourceRecordSets.update |
dns.resourceRecordSets.update e dns.changes.create no projeto que contém o conjunto de registros. |
dns.responsePolicies.create |
dns.responsePolicies.create no projeto que contém a política de resposta.
Você também precisa de
Se você quiser criar uma política de resposta anexada a um cluster do GKE, será necessário
|
dns.responsePolicies.delete |
dns.responsePolicies.delete no projeto que contém a política de resposta. |
dns.responsePolicies.get |
dns.responsePolicies.get no projeto que contém a política de resposta. |
dns.responsePolicies.list |
dns.responsePolicies.list no projeto. |
dns.responsePolicies.update |
dns.responsePolicies.update no projeto que contém a política de resposta.
Você também precisa de
Se você quiser criar uma política de resposta anexada a um cluster do GKE, será necessário
|
dns.responsePolicyRules.create |
dns.responsePolicyRules.create no projeto que contém a
regra da política de resposta. |
dns.responsePolicyRules.delete |
dns.responsePolicyRules.delete no projeto que contém a
regra da política de resposta. |
dns.responsePolicyRules.get |
dns.responsePolicyRules.get no projeto que contém a
regra da política de resposta. |
dns.responsePolicyRules.list |
dns.responsePolicyRules.list no projeto que contém a política de resposta. |
dns.responsePolicyRules.update |
dns.responsePolicyRules.update no projeto que contém a
regra da política de resposta. |
Papéis
Veja na tabela abaixo os papéis do IAM da API Cloud DNS com uma lista correspondente de todas as permissões incluídas em cada um. Cada permissão se aplica a um tipo específico de recurso.
Também é possível usar papéis básicos para fazer alterações de DNS.
Role | Permissions |
---|---|
DNS Administrator( Provides read-write access to all Cloud DNS resources. Lowest-level resources where you can grant this role:
|
|
DNS Peer( Access to target networks with DNS peering zones |
|
DNS Reader( Provides read-only access to all Cloud DNS resources. Lowest-level resources where you can grant this role:
|
|
Gerenciar o controle de acesso
É possível usar o Console do Google Cloud para gerenciar o controle de acesso dos seus tópicos e projetos.
Para definir os controles de acesso para envolvidos no projeto, siga estas etapas.
Console
No Console do Google Cloud, abra a página IAM.
Selecione seu projeto no menu suspenso na parte superior.
Clique em Adicionar.
Em Novos principais, digite o endereço de e-mail de um novo principal.
Selecione um papel na lista.
Clique em Salvar.
Verifique se o principal está listado com o papel concedido.
A seguir
- Para começar a usar o Cloud DNS, consulte Guia de início rápido: como configurar registros DNS para um nome de domínio com o Cloud DNS.
- Para achar soluções de problemas comuns que podem ser encontrados ao usar o Cloud DNS, consulte Solução de problemas.