Papéis e permissões

Nesta página, descrevemos os papéis e as permissões de gerenciamento de identidade e acesso (IAM) necessários para executar testes de conectividade.

É possível conceder aos usuários ou às contas de serviço permissões ou papéis predefinidos, ou criar um papel personalizado que use as permissões especificadas.

As permissões do IAM usam um prefixo de networkmanagement.

Para receber ou definir políticas do IAM, ou para testar permissões do IAM com a API Network Management, consulte Como gerenciar as políticas de acesso.

Papéis

Esta seção descreve como usar papéis predefinidos e personalizados ao conceder permissões para o Connectivity Tests.

Para ver uma explicação de cada permissão, consulte a tabela de permissões.

Para mais informações sobre papéis do projeto e recursos do Google Cloud, consulte a seguinte documentação:

Papéis predefinidos

O Connectivity Tests tem os seguintes papéis predefinidos:

  • networkmanagement.admin: tem permissão para executar todas as operações em um recurso de teste.
  • networkmanagement.viewer: tem permissão para listar ou receber um recurso de teste específico.

A tabela a seguir lista os papéis predefinidos e as permissões que se aplicam a cada papel.

Role Permissions

(roles/networkmanagement.admin)

Full access to Network Management resources.

Lowest-level resources where you can grant this role:

  • Project

networkmanagement.*

  • networkmanagement.config.get
  • networkmanagement.config.startFreeTrial
  • networkmanagement.config.update
  • networkmanagement.connectivitytests.create
  • networkmanagement.connectivitytests.delete
  • networkmanagement.connectivitytests.get
  • networkmanagement.connectivitytests.getIamPolicy
  • networkmanagement.connectivitytests.list
  • networkmanagement.connectivitytests.rerun
  • networkmanagement.connectivitytests.setIamPolicy
  • networkmanagement.connectivitytests.update
  • networkmanagement.locations.get
  • networkmanagement.locations.list
  • networkmanagement.operations.get
  • networkmanagement.operations.list
  • networkmanagement.topologygraphs.read

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/networkmanagement.viewer)

Read-only access to Network Management resources.

Lowest-level resources where you can grant this role:

  • Project

networkmanagement.config.get

networkmanagement.connectivitytests.get

networkmanagement.connectivitytests.getIamPolicy

networkmanagement.connectivitytests.list

networkmanagement.locations.*

  • networkmanagement.locations.get
  • networkmanagement.locations.list

networkmanagement.operations.*

  • networkmanagement.operations.get
  • networkmanagement.operations.list

networkmanagement.topologygraphs.read

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

papéis personalizados

Você pode criar papéis personalizados selecionando uma lista de permissões na tabela de permissões para o Connectivity Tests.

Por exemplo, você pode criar um papel chamado reachabilityUsers e conceder as permissões list, get e rerun a esse papel. Um usuário com esse papel pode executar novamente o Connectivity Tests atual e exibir os resultados atualizados dos testes com base na configuração de rede mais recente.

Papéis do projeto

É possível usar papéis de projeto para definir permissões para recursos do Google Cloud. Como os testes de conectividade precisam ter acesso de leitura às configurações de recursos do Google Cloud na rede da nuvem privada virtual (VPC) para executar um teste, você precisa conceder pelo menos o papel de visualizador da rede do Compute roles/compute.networkViewer aos usuários ou às contas de serviço que executam um teste nesses recursos. Você também pode criar um papel personalizado ou autorizar temporariamente as permissões associadas ao papel anterior para um usuário específico.

Como alternativa, você pode conceder a uma conta de usuário ou serviço um dos seguintes papéis predefinidos para projetos do Google Cloud:

Permissões

Esta seção descreve permissões para o Connectivity Tests e como usá-los ao testar diferentes tipos de configurações de rede.

Permissões do Connectivity Tests

Os Testes de conectividade têm as permissões a seguir do IAM:

Permissão Descrição
networkmanagement.connectivitytests.list Lista todos os testes configurados no projeto especificado.
networkmanagement.connectivitytests.get Consegue os detalhes de um teste específico.
networkmanagement.connectivitytests.create Cria um novo objeto de teste no projeto especificado com os dados que você especificar para o teste. Essa permissão inclui permissão para atualizar, executar novamente ou excluir testes.
networkmanagement.connectivitytests.update Atualiza um ou mais campos em um teste atual.
networkmanagement.connectivitytests.delete Exclui o teste especificado.
networkmanagement.connectivitytests.rerun Executa novamente uma verificação de acessibilidade única para um teste especificado.

Se você não tiver permissão para criar ou atualizar um teste, os botões correspondentes estarão inativos. Isso inclui o botão Criar teste de conectividade e, na página Detalhes do teste de conectividade, o botão Editar. Em cada caso, quando você passa o cursor sobre o botão inativo, os testes de conectividade exibem uma mensagem descrevendo a permissão de que você precisa.

Permissões para visualizar os resultados do teste

Se você não tiver permissão para visualizar os recursos do Compute Engine no caminho de rede que está testando, ainda poderá ver o resultado geral do teste, mas os detalhes dos recursos testados ficarão ocultos.

Recursos do projeto

Em geral, se você não tiver acesso a um recurso do projeto listado em um trace, o resultado da análise mostrará uma mensagem lida na parte No permission to view the resource. Os testes de conectividade ocultam o tipo e o nome do recurso, além de outros detalhes. No entanto, o trace identifica o projeto ao qual o recurso está associado.

Políticas de firewall hierárquicas

Seu trace pode incluir uma política de firewall hierárquica que você não tem permissão para ver. No entanto, mesmo se você não tiver permissão para visualizar os detalhes da política, ainda poderá ver as regras de política que se aplicam à sua rede VPC. Para mais detalhes, consulte Regras de firewall efetivas na visão geral das políticas de firewall hierárquicas.

Permissões em vários projetos

Se a configuração de rede que você testar usar o peering de rede VPC ou a VPC compartilhada, o Connectivity Tests terá permissões suficientes para acessar configurações nos vários projetos que essas redes usam.

Essas permissões permitem que o Connectivity Tests execute um ou mais traces completos do caminho do pacote em diferentes redes e projetos. Caso contrário, o Connectivity Tests pode acessar configurações somente nesse projeto.

Permissões para redes VPC compartilhadas

Para executar um teste a partir de um projeto de serviço em uma rede VPC compartilhada, você precisa ter o papel de visualizador da rede do Compute (roles/compute.networkViewer) ou o legado Papel Leitor do projeto (roles/viewer) do projeto host. Esse requisito existe porque a rede de configurações de firewall e rota da rede está localizada no projeto host. Você precisa ter um desses papéis, mesmo que os recursos que você está testando existam inteiramente em um único projeto de serviço.

Para executar um teste de um projeto host da VPC compartilhada para instâncias de máquina virtual (VM) em um projeto de serviço, também é preciso ter um desses papéis (roles/compute.networkViewer ou roles/viewer) no projeto de serviço. Além disso, ao criar o teste, é necessário fornecer o ID do projeto de serviço. Se você não fornecer esse ID, o teste de conectividade mostrará um resultado geral de acessibilidade de Unreachable com uma mensagem unknown IP address.

Permissões para o peering de rede VPC, Cloud VPN e Cloud Interconnect

Se você tem um teste de conectividade que examina a acessibilidade entre projetos conectados por peering de rede VPC, os resultados exibidos variam de acordo com suas permissões.

Para ver os resultados completos da análise, você precisa ter o papel de visualizador de redes do Compute (roles/compute.networkViewer) ou o papel legado de visualizador do projeto (roles/viewer) nos dois projetos.

Se você tiver um desses papéis para a rede que contém o endpoint de origem, mas não a rede que contém o destino, a análise mostrará um resultado parcial. Ou seja, a análise mostra que o pacote foi enviado para uma rede de peering de redes VPC. No entanto, Testes de conectividade não podem fornecer informações adicionais para essa rede.

A seguir