Papéis e permissões

Nesta página, descrevemos as permissões e os papéis do Identity and Access Management (IAM) necessários para executar os Testes de Conectividade.

Você pode conceder permissões e papéis predefinidos a usuários ou contas de serviço, ou criar um papel personalizado que use as permissões especificadas.

As permissões do IAM usam um prefixo networkmanagement.

Para receber ou definir políticas do IAM, ou para testar permissões do IAM com a API Network Management, consulte 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 recurso Testes de Conectividade.

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 recurso Testes de Conectividade 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.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.cancel
  • networkmanagement.operations.delete
  • networkmanagement.operations.get
  • networkmanagement.operations.list
  • networkmanagement.topologygraphs.read
  • networkmanagement.vpcflowlogsconfigs.create
  • networkmanagement.vpcflowlogsconfigs.delete
  • networkmanagement.vpcflowlogsconfigs.get
  • networkmanagement.vpcflowlogsconfigs.list
  • networkmanagement.vpcflowlogsconfigs.update

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/networkmanagement.serviceAgent)

Grants the GCP Network Management API the authority to complete analysis based on network configurations from Compute Engine and Container Engine.

cloudsql.instances.get

cloudsql.instances.list

compute.addresses.get

compute.addresses.list

compute.backendServices.get

compute.backendServices.list

compute.externalVpnGateways.get

compute.externalVpnGateways.list

compute.firewalls.get

compute.firewalls.list

compute.forwardingRules.get

compute.forwardingRules.list

compute.globalAddresses.get

compute.globalAddresses.list

compute.globalForwardingRules.get

compute.globalForwardingRules.list

compute.globalNetworkEndpointGroups.get

compute.globalNetworkEndpointGroups.list

compute.healthChecks.get

compute.healthChecks.list

compute.httpHealthChecks.get

compute.httpHealthChecks.list

compute.httpsHealthChecks.get

compute.httpsHealthChecks.list

compute.instanceGroups.get

compute.instanceGroups.list

compute.instances.get

compute.instances.list

compute.networkEndpointGroups.get

compute.networkEndpointGroups.list

compute.networks.get

compute.networks.getEffectiveFirewalls

compute.networks.list

compute.networks.listPeeringRoutes

compute.packetMirrorings.get

compute.packetMirrorings.list

compute.regionBackendServices.get

compute.regionBackendServices.list

compute.regionHealthChecks.get

compute.regionHealthChecks.list

compute.regionNetworkEndpointGroups.get

compute.regionNetworkEndpointGroups.list

compute.regionTargetHttpProxies.get

compute.regionTargetHttpProxies.list

compute.regionTargetHttpsProxies.get

compute.regionTargetHttpsProxies.list

compute.regionTargetTcpProxies.get

compute.regionTargetTcpProxies.list

compute.regionUrlMaps.get

compute.regionUrlMaps.list

compute.routers.get

compute.routers.list

compute.routes.get

compute.routes.list

compute.subnetworks.get

compute.subnetworks.list

compute.targetGrpcProxies.get

compute.targetGrpcProxies.list

compute.targetHttpProxies.get

compute.targetHttpProxies.list

compute.targetHttpsProxies.get

compute.targetHttpsProxies.list

compute.targetInstances.get

compute.targetInstances.list

compute.targetPools.get

compute.targetPools.list

compute.targetSslProxies.get

compute.targetSslProxies.list

compute.targetTcpProxies.get

compute.targetTcpProxies.list

compute.targetVpnGateways.get

compute.targetVpnGateways.list

compute.urlMaps.get

compute.urlMaps.list

compute.vpnGateways.get

compute.vpnGateways.list

compute.vpnTunnels.get

compute.vpnTunnels.list

container.clusters.get

container.clusters.list

container.nodes.get

container.nodes.list

(roles/networkmanagement.viewer)

Read-only access to Network Management resources.

Lowest-level resources where you can grant this role:

  • Project

networkmanagement.connectivitytests.get

networkmanagement.connectivitytests.getIamPolicy

networkmanagement.connectivitytests.list

networkmanagement.locations.*

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

networkmanagement.operations.get

networkmanagement.operations.list

networkmanagement.topologygraphs.read

networkmanagement.vpcflowlogsconfigs.get

networkmanagement.vpcflowlogsconfigs.list

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 recurso Testes de Conectividade.

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 este papel pode executar novamente os Testes de Conectividade 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 doGoogle 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 recurso Testes de Conectividade e como usá-las ao testar diferentes tipos de configurações de rede.

Permissões do Testes de Conectividade

O recurso tem as seguintes permissões do IAM:

Permissão Descrição
networkmanagement.connectivitytests.list Lista todos os testes configurados no projeto especificado.
networkmanagement.connectivitytests.get Recebe 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. 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ê mantém o ponteiro sobre o botão inativo, os Testes de Conectividade exibem uma mensagem descrevendo a permissão necessária.

Permissões para executar um teste

Você precisa das seguintes funções e permissões para executar um teste:

  • Permissão networkmanagement.connectivitytests.create (ou networkmanagement.connectivitytests.rerun) em um projeto com um recurso dos Testes de Conectividade.
  • Papel de visualizador de redes do Compute (roles/compute.networkViewer) ou o papel legado de Leitor (roles/viewer) em todos os projetos incluídos no caminho do trace.

Confira as seguintes considerações adicionais com diferentes tipos de opções de conectividade:

Conectividade do peering de rede VPC, do Network Connectivity Center ou do Cloud VPN

Se o caminho do trace incluir conectividade de peering de rede VPC, Network Connectivity Center ou Cloud VPN com uma rede em um projeto diferente, um caminho de pacote nessa rede será simulado apenas se você tiver permissões para esse projeto. Caso contrário, um resultado de teste incompleto será retornado (por exemplo, um trace que termina com o estado final Encaminhar).

Projetos de VPC compartilhada

Se um endpoint de origem ou destino (como uma instância de máquina virtual [VM]) usar a VPC compartilhada, será necessária a permissão para acessar os projetos host e de serviço.

  • Se você tiver permissão para acessar os projetos host e de serviço, as informações de trace vão incluir detalhes sobre todos os recursos relevantes.
  • Se você não tiver permissão para acessar um dos projetos, as informações sobre recursos definidos nele serão ocultadas no trace. Um erro de permissão é exibido.
Exemplos
  • Você tem acesso ao projeto da instância de VM (projeto de serviço), mas não ao projeto da rede (projeto host). Se você executar um teste com essa instância de VM como origem (especificada pelo nome), todas as etapas associadas ao projeto host (por exemplo, aplicação de firewalls ou rotas) serão ocultadas.

  • Você tem acesso ao projeto de rede (projeto host), mas não ao projeto da VM (projeto de serviço). Se você executar um teste com essa instância de VM como origem (especificada pelo endereço IP), todas as etapas associadas ao projeto de serviço, por exemplo, uma etapa com os detalhes da instância de VM, serão ocultadas.

Serviços publicados do Private Service Connect

Se o pacote for para o serviço publicado do Private Service Connect (por um endpoint ou back-end do Private Service Connect), a parte do trace no projeto do produtor só será mostrada se você tiver acesso a ela. Caso contrário, o trace terminará com um estado final geral, como Pacote entregue ao projeto do produtor do PSC ou Pacote descartado no projeto do produtor do PSC.

Serviços gerenciados pelo Google

Se o pacote estiver indo ou vindo da rede gerenciada pelo Google associada a um serviço gerenciado pelo Google (como o Cloud SQL), as etapas dentro do projeto gerenciado pelo Google não serão mostradas. Uma etapa inicial ou final geral é mostrada.

Endereços IP públicos de recursos do Google Cloud

Se você especificar um endereço IP público atribuído a um recurso em um dos seus projetos como origem ou destino de teste, mas não tiver permissões para o projeto em que o recurso com esse endereço está definido, o endereço IP será considerado um endereço IP da internet. Nenhum detalhe sobre o recurso ou o caminho do pacote após chegar ao recurso é mostrado.

Permissões para visualizar os resultados do teste

Para conferir os resultados do teste, observe o seguinte:

  • Para conferir os resultados de testes criados ou atualizados após outubro de 2024, você só precisa da permissão para visualizar o recurso de teste (networkmanagement.connectivitytests.get). Não é necessário ter permissões para os recursos e projetos incluídos no caminho de trace.
  • Para conferir os resultados de testes executados antes de outubro de 2024, você precisa ter o papel Visualizador da rede do Compute ou o papel legado Leitor (roles/viewer) em todos os projetos incluídos no caminho do trace.

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 os papéis do IAM na visão geral "Políticas de firewall hierárquicas".

A seguir