Papéis e permissões

OGoogle Cloud oferece Identity and Access Management (IAM), que permite conceder 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 Service Directory. Para uma descrição detalhada do IAM, leia a documentação do IAM.

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.

Com o IAM, você controla quem tem quais permissões em quais recursos definindo políticas do IAM. As políticas de IAM concedem papéis específicos a um usuário, que recebe determinadas permissões.

Permissões e papéis

Todos os métodos da API Service Directory exigem que o autor da chamada tenha as permissões necessárias do IAM. É possível atribuir permissões ao conceder papéis a um usuário, grupo ou conta de serviço. Além dos papéis básicos de Proprietário, Editor e Leitor, é possível atribuir papéis da API Service Directory aos usuários do projeto.

Permissões

Saiba quais permissões são necessárias para cada método na documentação de referência da API Diretório de serviços (em inglês).

Papéis

Role Permissions

(roles/servicedirectory.admin)

Full control of all Service Directory resources and permissions.

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.*

  • servicedirectory.endpoints.create
  • servicedirectory.endpoints.delete
  • servicedirectory.endpoints.get
  • servicedirectory.endpoints.getIamPolicy
  • servicedirectory.endpoints.list
  • servicedirectory.endpoints.setIamPolicy
  • servicedirectory.endpoints.update

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.*

  • servicedirectory.namespaces.associatePrivateZone
  • servicedirectory.namespaces.create
  • servicedirectory.namespaces.delete
  • servicedirectory.namespaces.get
  • servicedirectory.namespaces.getIamPolicy
  • servicedirectory.namespaces.list
  • servicedirectory.namespaces.setIamPolicy
  • servicedirectory.namespaces.update

servicedirectory.networks.attach

servicedirectory.services.*

  • servicedirectory.services.bind
  • servicedirectory.services.create
  • servicedirectory.services.delete
  • servicedirectory.services.get
  • servicedirectory.services.getIamPolicy
  • servicedirectory.services.list
  • servicedirectory.services.resolve
  • servicedirectory.services.setIamPolicy
  • servicedirectory.services.update

(roles/servicedirectory.editor)

Edit Service Directory resources.

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.create

servicedirectory.endpoints.delete

servicedirectory.endpoints.get

servicedirectory.endpoints.getIamPolicy

servicedirectory.endpoints.list

servicedirectory.endpoints.update

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.associatePrivateZone

servicedirectory.namespaces.create

servicedirectory.namespaces.delete

servicedirectory.namespaces.get

servicedirectory.namespaces.getIamPolicy

servicedirectory.namespaces.list

servicedirectory.namespaces.update

servicedirectory.networks.attach

servicedirectory.services.bind

servicedirectory.services.create

servicedirectory.services.delete

servicedirectory.services.get

servicedirectory.services.getIamPolicy

servicedirectory.services.list

servicedirectory.services.resolve

servicedirectory.services.update

(roles/servicedirectory.viewer)

View Service Directory resources.

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.get

servicedirectory.endpoints.getIamPolicy

servicedirectory.endpoints.list

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.get

servicedirectory.namespaces.getIamPolicy

servicedirectory.namespaces.list

servicedirectory.services.get

servicedirectory.services.getIamPolicy

servicedirectory.services.list

servicedirectory.services.resolve

(roles/servicedirectory.networkAttacher)

Gives access to attach VPC Networks to Service Directory Endpoints

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.networks.attach

(roles/servicedirectory.pscAuthorizedService)

Gives access to VPC Networks via Service Directory

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.networks.access

Service agent roles

Service agent roles should only be granted to service agents.

Role Permissions

(roles/servicedirectory.serviceAgent)

Give the Service Directory service agent access to Cloud Platform resources.

container.clusters.get

gkehub.features.get

gkehub.gateway.delete

gkehub.gateway.generateCredentials

gkehub.gateway.get

gkehub.gateway.patch

gkehub.gateway.post

gkehub.gateway.put

gkehub.locations.*

  • gkehub.locations.get
  • gkehub.locations.list

gkehub.memberships.get

gkehub.memberships.list

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.create

servicedirectory.endpoints.delete

servicedirectory.endpoints.get

servicedirectory.endpoints.getIamPolicy

servicedirectory.endpoints.list

servicedirectory.endpoints.update

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.associatePrivateZone

servicedirectory.namespaces.create

servicedirectory.namespaces.delete

servicedirectory.namespaces.get

servicedirectory.namespaces.getIamPolicy

servicedirectory.namespaces.list

servicedirectory.namespaces.update

servicedirectory.networks.attach

servicedirectory.services.bind

servicedirectory.services.create

servicedirectory.services.delete

servicedirectory.services.get

servicedirectory.services.getIamPolicy

servicedirectory.services.list

servicedirectory.services.resolve

servicedirectory.services.update

Controle de acesso usando o console Google Cloud

É possível usar o console Google Cloud para gerenciar o controle de acesso ao seu registro.

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

Console

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

    Acessar IAM

  2. Selecione seu projeto no menu suspenso na parte superior.

  3. Clique em Add.

  4. Em Novos principais, digite o endereço de e-mail de um novo principal.

  5. Selecione a função desejada no menu suspenso: servicedirectory.admin, servicedirectory.editor ou servicedirectory.viewer.

  6. Clique em Salvar.

  7. Verifique se o principal está listado com o papel concedido.

As zonas do Diretório de serviços substituem as restrições do IAM

Ao atribuir um namespace a uma zona do Diretório de serviços, os nomes de serviço ficam visíveis para todos os clientes em qualquer rede autorizada a consultar a zona particular. Não há controle de acesso do IAM para DNS porque o protocolo DNS não oferece capacidade de autenticação.

A seguir

  • Para mais detalhes sobre o gerenciamento de identidade e acesso, consulte a documentação do IAM.
  • Consulte a Visão geral para entender o Diretório de serviços.