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.

O IAM permite-lhe controlar quem tem que autorizações para que recursos através da definição de políticas de 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 registos do sistema de nomes de domínio (DNS). Em seguida, atribuiria a função /roles/dns.admin a esse utilizador, 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 DNS individual (ou recurso), consulte o artigo Crie uma zona com autorizações IAM específicas.

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 registo de recurso, defina dns.changes.create e dns.resourceRecordSets.create no projeto que contém o conjunto de registos.

Para atualizar um registo de recurso, defina dns.changes.create e dns.resourceRecordSets.update no projeto que contém o conjunto de registos.

Para eliminar um registo de recurso, defina 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 integração do GKE, também tem de dns.gkeClusters.bindPrivateDNSZoneconfigurar 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 integração do GKE, também tem de dns.gkeClusters.bindPrivateDNSZoneconfigurar um âmbito do cluster do GKE.