Funções e permissões

Google Cloud oferece Gerenciamento de Identidade e Acesso (IAM), que permite que você forneça acesso mais granular a dados específicos Google Cloud recursos e impede o acesso indesejado a outros recursos. Esta página descreve as funções da API do Cloud DNS. Para obter uma descrição detalhada do IAM, consulte a documentação do Gerenciamento de Identidade e Acesso .

O IAM permite que você adote o princípio de segurança do menor privilégio para conceder apenas o acesso necessário aos seus recursos.

O IAM permite controlar quem tem quais permissões para quais recursos, definindo políticas do IAM. As políticas do IAM concedem funções específicas a um usuário, concedendo a ele determinadas permissões. Por exemplo, um usuário específico pode precisar criar e modificar recursos de registros do Sistema de Nomes de Domínio (DNS). Você então atribuiria a esse usuário (quem) a função /roles/dns.admin , que possui as permissões dns.changes.create e dns.resourceRecordSets.create (o que) para que ele possa criar e atualizar conjuntos de registros de recursos (qual). Por outro lado, um departamento de suporte pode precisar apenas visualizar conjuntos de registros de recursos existentes, portanto, ele receberia a função /roles/dns.reader .

O Cloud DNS oferece suporte a permissões do IAM no nível do projeto e de zona DNS individual. A permissão padrão é no nível do projeto. Para configurar permissões no nível da zona DNS individual (ou recurso), consulte Criar uma zona com permissões específicas do IAM .

Permissões e funções

Cada método da API do Cloud DNS exige que o chamador tenha as permissões de IAM necessárias. As permissões são atribuídas por meio da concessão de funções a um usuário, grupo ou conta de serviço. Além das funções básicas de Proprietário, Editor e Visualizador, você pode conceder funções da API do Cloud DNS aos usuários do seu projeto.

Permissões

A tabela a seguir lista as permissões que o chamador deve ter para chamar cada método.

Método Permissão(ões) necessária(s)
dns.changes.create para criar um conjunto de registros de recursos. 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 recursos. 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 recursos. 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 estiver criando uma zona privada, você também precisará dns.networks.bindPrivateDNSZone e dns.networks.targetWithPeeringZone em cada projeto com uma rede VPC autorizada a acessar a zona.

Se você estiver criando uma zona privada com integração ao GKE, também precisará dns.gkeClusters.bindPrivateDNSZone para configurar um escopo de cluster do GKE.

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 estiver criando uma zona privada, você também precisará dns.networks.bindPrivateDNSZone e dns.networks.targetWithPeeringZone em cada projeto com uma rede VPC autorizada a acessar a zona.

Se você estiver criando uma zona privada com integração ao GKE, também precisará dns.gkeClusters.bindPrivateDNSZone para configurar um escopo de cluster do GKE.

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á dns.networks.bindPrivateDNSPolicy para cada projeto que contém cada rede VPC.

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á dns.networks.bindPrivateDNSPolicy para cada projeto que contém cada rede VPC.

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 dns.networks.bindDNSResponsePolicy para validar a solicitação.

Se quiser criar uma política de resposta anexada a um cluster do GKE, você precisará dns.gkeClusters.bindDNSResponsePolicy .

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 dns.networks.bindDNSResponsePolicy para validar a solicitação.

Se quiser criar uma política de resposta anexada a um cluster do GKE, você precisará dns.gkeClusters.bindDNSResponsePolicy .

dns.responsePolicyRules.create dns.responsePolicyRules.create no projeto que contém a regra de política de resposta.
dns.responsePolicyRules.delete dns.responsePolicyRules.delete no projeto que contém a regra de política de resposta.
dns.responsePolicyRules.get dns.responsePolicyRules.get no projeto que contém a regra de 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 de política de resposta.

Funções

A tabela a seguir lista as funções do IAM da API do Cloud DNS com uma lista correspondente de todas as permissões que cada função inclui. Cada permissão é aplicável a um tipo de recurso específico.

Você também pode usar funções básicas para fazer alterações de DNS.

Role Permissions

(roles/dns.admin)

Provides read-write access to all Cloud DNS resources.

Lowest-level resources where you can grant this role:

  • Managed zone

compute.networks.get

compute.networks.list

dns.changes.*

  • dns.changes.create
  • dns.changes.get
  • dns.changes.list

dns.dnsKeys.*

  • dns.dnsKeys.get
  • dns.dnsKeys.list

dns.gkeClusters.*

  • dns.gkeClusters.bindDNSResponsePolicy
  • dns.gkeClusters.bindPrivateDNSZone

dns.managedZoneOperations.*

  • dns.managedZoneOperations.get
  • dns.managedZoneOperations.list

dns.managedZones.create

dns.managedZones.delete

dns.managedZones.get

dns.managedZones.getIamPolicy

dns.managedZones.list

dns.managedZones.update

dns.networks.*

  • dns.networks.bindDNSResponsePolicy
  • dns.networks.bindPrivateDNSPolicy
  • dns.networks.bindPrivateDNSZone
  • dns.networks.targetWithPeeringZone
  • dns.networks.useHealthSignals

dns.policies.*

  • dns.policies.create
  • dns.policies.delete
  • dns.policies.get
  • dns.policies.list
  • dns.policies.update

dns.projects.get

dns.resourceRecordSets.*

  • dns.resourceRecordSets.create
  • dns.resourceRecordSets.delete
  • dns.resourceRecordSets.get
  • dns.resourceRecordSets.list
  • dns.resourceRecordSets.update

dns.responsePolicies.*

  • dns.responsePolicies.create
  • dns.responsePolicies.delete
  • dns.responsePolicies.get
  • dns.responsePolicies.list
  • dns.responsePolicies.update

dns.responsePolicyRules.*

  • dns.responsePolicyRules.create
  • dns.responsePolicyRules.delete
  • dns.responsePolicyRules.get
  • dns.responsePolicyRules.list
  • dns.responsePolicyRules.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/dns.peer)

Access to target networks with DNS peering zones

dns.networks.targetWithPeeringZone

(roles/dns.reader)

Provides read-only access to all Cloud DNS resources.

Lowest-level resources where you can grant this role:

  • Managed zone

compute.networks.get

dns.changes.get

dns.changes.list

dns.dnsKeys.*

  • dns.dnsKeys.get
  • dns.dnsKeys.list

dns.managedZoneOperations.*

  • dns.managedZoneOperations.get
  • dns.managedZoneOperations.list

dns.managedZones.get

dns.managedZones.list

dns.policies.get

dns.policies.list

dns.projects.get

dns.resourceRecordSets.get

dns.resourceRecordSets.list

dns.responsePolicies.get

dns.responsePolicies.list

dns.responsePolicyRules.get

dns.responsePolicyRules.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/dns.serviceAgent)

Gives Cloud DNS Service Agent access to Cloud Platform resources.

compute.globalNetworkEndpointGroups.attachNetworkEndpoints

compute.globalNetworkEndpointGroups.create

compute.globalNetworkEndpointGroups.delete

compute.globalNetworkEndpointGroups.detachNetworkEndpoints

compute.globalNetworkEndpointGroups.get

compute.globalOperations.get

compute.healthChecks.get

Gerenciar controle de acesso

Você pode usar o Google Cloud console para gerenciar o controle de acesso para seus tópicos e projetos.

Para definir controles de acesso no nível do projeto, siga estas etapas.

Console

  1. No Google Cloud console, acesse a página do IAM .

    Acesse a página do IAM

  2. Selecione seu projeto no menu suspenso superior.

  3. Clique em Adicionar .

  4. Em Novos diretores , insira o endereço de e-mail de um novo diretor.

  5. Selecione uma função na lista.

  6. Clique em Salvar .

  7. Verifique se o principal está listado com a função que você concedeu.

O que vem a seguir

,

Google Cloud oferece Gerenciamento de Identidade e Acesso (IAM), que permite que você forneça acesso mais granular a dados específicos Google Cloud recursos e impede o acesso indesejado a outros recursos. Esta página descreve as funções da API do Cloud DNS. Para obter uma descrição detalhada do IAM, consulte a documentação do Gerenciamento de Identidade e Acesso .

O IAM permite que você adote o princípio de segurança do menor privilégio para conceder apenas o acesso necessário aos seus recursos.

IAM lets you control who has what permissions to which resources by setting IAM policies. IAM policies grant specific roles to a user, giving the user certain permissions. For example, a particular user might need to create and modify Domain Name System (DNS) record resources. You would then give that user (who) the /roles/dns.admin role, which has the dns.changes.create and dns.resourceRecordSets.create permissions (what) so that they can create and update resource record sets (which). In contrast, a support department might only need to view existing resource record sets, so they would get a /roles/dns.reader role.

O Cloud DNS oferece suporte a permissões do IAM no nível do projeto e de zona DNS individual. A permissão padrão é no nível do projeto. Para configurar permissões no nível da zona DNS individual (ou recurso), consulte Criar uma zona com permissões específicas do IAM .

Permissões e funções

Cada método da API do Cloud DNS exige que o chamador tenha as permissões de IAM necessárias. As permissões são atribuídas por meio da concessão de funções a um usuário, grupo ou conta de serviço. Além das funções básicas de Proprietário, Editor e Visualizador, você pode conceder funções da API do Cloud DNS aos usuários do seu projeto.

Permissões

A tabela a seguir lista as permissões que o chamador deve ter para chamar cada método.

Método Permissão(ões) necessária(s)
dns.changes.create para criar um conjunto de registros de recursos. 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 recursos. 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 recursos. 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 on the project containing the managed zone.
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 estiver criando uma zona privada, você também precisará dns.networks.bindPrivateDNSZone e dns.networks.targetWithPeeringZone em cada projeto com uma rede VPC autorizada a acessar a zona.

Se você estiver criando uma zona privada com integração ao GKE, também precisará dns.gkeClusters.bindPrivateDNSZone para configurar um escopo de cluster do GKE.

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 estiver criando uma zona privada, você também precisará dns.networks.bindPrivateDNSZone e dns.networks.targetWithPeeringZone em cada projeto com uma rede VPC autorizada a acessar a zona.

Se você estiver criando uma zona privada com integração ao GKE, também precisará dns.gkeClusters.bindPrivateDNSZone para configurar um escopo de cluster do GKE.

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á dns.networks.bindPrivateDNSPolicy para cada projeto que contém cada rede VPC.

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á dns.networks.bindPrivateDNSPolicy para cada projeto que contém cada rede VPC.

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 dns.networks.bindDNSResponsePolicy para validar a solicitação.

Se quiser criar uma política de resposta anexada a um cluster do GKE, você precisará dns.gkeClusters.bindDNSResponsePolicy .

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 dns.networks.bindDNSResponsePolicy para validar a solicitação.

Se quiser criar uma política de resposta anexada a um cluster do GKE, você precisará dns.gkeClusters.bindDNSResponsePolicy .

dns.responsePolicyRules.create dns.responsePolicyRules.create no projeto que contém a regra de política de resposta.
dns.responsePolicyRules.delete dns.responsePolicyRules.delete no projeto que contém a regra de política de resposta.
dns.responsePolicyRules.get dns.responsePolicyRules.get no projeto que contém a regra de 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 de política de resposta.

Funções

A tabela a seguir lista as funções do IAM da API do Cloud DNS com uma lista correspondente de todas as permissões que cada função inclui. Cada permissão é aplicável a um tipo de recurso específico.

Você também pode usar funções básicas para fazer alterações de DNS.

Role Permissions

(roles/dns.admin)

Provides read-write access to all Cloud DNS resources.

Lowest-level resources where you can grant this role:

  • Managed zone

compute.networks.get

compute.networks.list

dns.changes.*

  • dns.changes.create
  • dns.changes.get
  • dns.changes.list

dns.dnsKeys.*

  • dns.dnsKeys.get
  • dns.dnsKeys.list

dns.gkeClusters.*

  • dns.gkeClusters.bindDNSResponsePolicy
  • dns.gkeClusters.bindPrivateDNSZone

dns.managedZoneOperations.*

  • dns.managedZoneOperations.get
  • dns.managedZoneOperations.list

dns.managedZones.create

dns.managedZones.delete

dns.managedZones.get

dns.managedZones.getIamPolicy

dns.managedZones.list

dns.managedZones.update

dns.networks.*

  • dns.networks.bindDNSResponsePolicy
  • dns.networks.bindPrivateDNSPolicy
  • dns.networks.bindPrivateDNSZone
  • dns.networks.targetWithPeeringZone
  • dns.networks.useHealthSignals

dns.policies.*

  • dns.policies.create
  • dns.policies.delete
  • dns.policies.get
  • dns.policies.list
  • dns.policies.update

dns.projects.get

dns.resourceRecordSets.*

  • dns.resourceRecordSets.create
  • dns.resourceRecordSets.delete
  • dns.resourceRecordSets.get
  • dns.resourceRecordSets.list
  • dns.resourceRecordSets.update

dns.responsePolicies.*

  • dns.responsePolicies.create
  • dns.responsePolicies.delete
  • dns.responsePolicies.get
  • dns.responsePolicies.list
  • dns.responsePolicies.update

dns.responsePolicyRules.*

  • dns.responsePolicyRules.create
  • dns.responsePolicyRules.delete
  • dns.responsePolicyRules.get
  • dns.responsePolicyRules.list
  • dns.responsePolicyRules.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/dns.peer)

Access to target networks with DNS peering zones

dns.networks.targetWithPeeringZone

(roles/dns.reader)

Provides read-only access to all Cloud DNS resources.

Lowest-level resources where you can grant this role:

  • Managed zone

compute.networks.get

dns.changes.get

dns.changes.list

dns.dnsKeys.*

  • dns.dnsKeys.get
  • dns.dnsKeys.list

dns.managedZoneOperations.*

  • dns.managedZoneOperations.get
  • dns.managedZoneOperations.list

dns.managedZones.get

dns.managedZones.list

dns.policies.get

dns.policies.list

dns.projects.get

dns.resourceRecordSets.get

dns.resourceRecordSets.list

dns.responsePolicies.get

dns.responsePolicies.list

dns.responsePolicyRules.get

dns.responsePolicyRules.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/dns.serviceAgent)

Gives Cloud DNS Service Agent access to Cloud Platform resources.

compute.globalNetworkEndpointGroups.attachNetworkEndpoints

compute.globalNetworkEndpointGroups.create

compute.globalNetworkEndpointGroups.delete

compute.globalNetworkEndpointGroups.detachNetworkEndpoints

compute.globalNetworkEndpointGroups.get

compute.globalOperations.get

compute.healthChecks.get

Gerenciar controle de acesso

Você pode usar o Google Cloud console para gerenciar o controle de acesso para seus tópicos e projetos.

Para definir controles de acesso no nível do projeto, siga estas etapas.

Console

  1. No Google Cloud console, acesse a página do IAM .

    Acesse a página do IAM

  2. Selecione seu projeto no menu suspenso superior.

  3. Clique em Adicionar .

  4. Em Novos diretores , insira o endereço de e-mail de um novo diretor.

  5. Selecione uma função na lista.

  6. Clique em Salvar .

  7. Verifique se o principal está listado com a função que você concedeu.

O que vem a seguir