Funções e permissões

Google Cloud oferece a gestão de identidade e de acesso (IAM), que lhe permite conceder um acesso mais detalhado a recursos Google Cloud específicos e impede o acesso indesejado a outros recursos. Esta página descreve as funções da API Cloud DNS. Para uma descrição detalhada da IAM, consulte a documentação da gestão de identidade e de acesso.

O IAM permite-lhe adotar o princípio de segurança do menor privilégio para que conceda apenas o acesso necessário aos seus recursos.

A IAM permite-lhe controlar quem tem que autorizações para que recursos através da definição de políticas IAM. As políticas de IAM concedem funções específicas a um utilizador, o que lhe dá determinadas autorizações. Por exemplo, um utilizador específico pode ter de criar e modificar recursos de registo do sistema de nomes de domínio (DNS). Em seguida, atribuiria a esse utilizador a função de /roles/dns.admin, que tem as autorizações dns.changes.create e dns.resourceRecordSets.create, para que possa criar e atualizar conjuntos de registos de recursos. Por outro lado, um departamento de apoio técnico pode apenas precisar de ver conjuntos de registos de recursos existentes, pelo que receberia uma função /roles/dns.reader.

O Cloud DNS suporta autorizações do IAM ao nível do projeto e ao nível da zona DNS individual. A autorização predefinida está ao nível do projeto. Para configurar autorizações ao nível da zona de DNS individual (ou recurso), consulte o artigo Crie uma zona com autorizações específicas da IAM.

Autorizações e funções

Todos os métodos da API Cloud DNS requerem que o autor da chamada tenha as autorizações de IAM necessárias. As autorizações são atribuídas através da concessão de funções a um utilizador, um grupo ou uma conta de serviço. Além das funções básicas Proprietário, Editor e Leitor, pode conceder funções da API Cloud DNS aos utilizadores do seu projeto.

Autorizações

A tabela seguinte lista as autorizações que o autor da chamada tem de ter para chamar cada método.

Método Autorizações necessárias
dns.changes.create para criar um conjunto de registos de recursos. dns.changes.create e dns.resourceRecordSets.create no projeto que contém o conjunto de registos.
dns.changes.create para atualizar um conjunto de registos de recursos. dns.changes.create e dns.resourceRecordSets.update no projeto que contém o conjunto de registos.
dns.changes.create para eliminar um conjunto de registos de recursos. dns.changes.create e dns.resourceRecordSets.delete no projeto que contém o conjunto de registos.
dns.changes.get dns.changes.get no projeto que contém a zona gerida.
dns.changes.list dns.changes.list no projeto que contém a zona gerida.
dns.dnsKeys.get dns.dnsKeys.get no projeto que contém a zona gerida.
dns.dnsKeys.list dns.dnsKeys.list no projeto que contém a zona gerida.
dns.managedZoneOperations.get dns.managedZoneOperations.get no projeto que contém a zona gerida.
dns.managedZoneOperations.list dns.managedZoneOperations.list no projeto que contém a zona gerida.
dns.managedZones.create dns.managedZones.create no projeto que contém a zona gerida.

Se estiver a criar uma zona privada, também precisa de dns.networks.bindPrivateDNSZone e dns.networks.targetWithPeeringZone em cada projeto com uma rede VPC autorizada a aceder à zona.

Se estiver a criar uma zona privada com a integração do GKE, também tem de dns.gkeClusters.bindPrivateDNSZone configurar um âmbito do cluster do GKE.

dns.managedZones.delete dns.managedZones.delete no projeto que contém a zona gerida.
dns.managedZones.get dns.managedZones.get no projeto que contém a zona gerida.
dns.managedZones.list dns.managedZones.list no projeto que contém a zona gerida.
dns.managedZones.update dns.managedZones.update no projeto que contém a zona gerida.

Se estiver a criar uma zona privada, também precisa de dns.networks.bindPrivateDNSZone e dns.networks.targetWithPeeringZone em cada projeto com uma rede VPC autorizada a aceder à zona.

Se estiver a criar uma zona privada com a integração do GKE, também tem de dns.gkeClusters.bindPrivateDNSZone configurar um âmbito do cluster do GKE.

dns.policies.create dns.policies.create no projeto que contém a política.

Se a política for criada numa rede VPC, também precisa de dns.networks.bindPrivateDNSPolicy para cada projeto que contenha 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 numa rede VPC, também precisa de dns.networks.bindPrivateDNSPolicy para cada projeto que contenha 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 registos.
dns.resourceRecordSets.delete dns.resourceRecordSets.delete no projeto que contém o conjunto de registos.
dns.resourceRecordSets.get dns.resourceRecordSets.get no projeto que contém o conjunto de registos.
dns.resourceRecordSets.list dns.resourceRecordSets.list no projeto que contém a zona gerida.
dns.resourceRecordSets.update dns.resourceRecordSets.update e dns.changes.create no projeto que contém o conjunto de registos.
dns.responsePolicies.create dns.responsePolicies.create no projeto que contém a política de resposta.

Também tem de dns.networks.bindDNSResponsePolicy validar o pedido.

Se quiser criar uma política de resposta anexada a um cluster do GKE, precisa de 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.

Também tem de dns.networks.bindDNSResponsePolicy validar o pedido.

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

dns.responsePolicyRules.create dns.responsePolicyRules.create no projeto que contém a regra da política de respostas.
dns.responsePolicyRules.delete dns.responsePolicyRules.delete no projeto que contém a regra da política de respostas.
dns.responsePolicyRules.get dns.responsePolicyRules.get no projeto que contém a regra da política de respostas.
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 respostas.
networksecurity.dnsThreatDetectors.list (Pré-visualizar) networksecurity.dnsThreatDetectors.list no projeto onde as redes VPC são monitorizadas quanto a ameaças.
networksecurity.dnsThreatDetectors.get(Pré-visualizar) networksecurity.dnsThreatDetectors.get no projeto onde as redes VPC são monitorizadas quanto a ameaças.
networksecurity.dnsThreatDetectors.create(Pré-visualizar) networksecurity.dnsThreatDetectors.create no projeto que contém as redes VPC que quer monitorizar para detetar ameaças.
networksecurity.dnsThreatDetectors.update(Pré-visualizar) networksecurity.dnsThreatDetectors.update no projeto onde as redes VPC são monitorizadas quanto a ameaças.
networksecurity.dnsThreatDetectors.delete(Pré-visualizar) networksecurity.dnsThreatDetectors.delete no projeto onde as redes VPC são monitorizadas quanto a ameaças.

Funções

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

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

A tabela seguinte apresenta as funções de IAM do DNS Armor com uma lista correspondente de todas as autorizações que cada função inclui.

Função Autorizações

(roles/networksecurity.dnsThreatDetectorAdmin)

Permite o acesso total aos recursos do DNS Threat Detector.

networksecurity.dnsThreatDetectors.*

  • networksecurity.dnsThreatDetectors.create
  • networksecurity.dnsThreatDetectors.delete
  • networksecurity.dnsThreatDetectors.get
  • networksecurity.dnsThreatDetectors.list
  • networksecurity.dnsThreatDetectors.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/networksecurity.dnsThreatDetectorViewer)

Permite o acesso de visualização aos recursos do DNS Threat Detector.

networksecurity.dnsThreatDetectors.get

networksecurity.dnsThreatDetectors.list

resourcemanager.projects.get

resourcemanager.projects.list

Faça a gestão do controlo de acesso

Pode usar a Google Cloud consola para gerir o controlo de acesso aos seus tópicos e projetos.

Para definir controlos de acesso ao nível do projeto, siga estes passos.

Consola

  1. Na Google Cloud consola, aceda à página IAM.

    Aceda à página IAM

  2. Selecione o seu projeto no menu pendente na parte superior.

  3. Clique em Adicionar.

  4. Em Novos membros, introduza o endereço de email de um novo membro.

  5. Selecione uma função na lista.

  6. Clique em Guardar.

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

O que se segue?