Funções e permissões

Esta página descreve as funções e as autorizações da gestão de identidade e de acesso (IAM) necessárias para executar testes de conectividade.

Pode conceder autorizações ou funções predefinidas a utilizadores ou contas de serviço, ou pode criar uma função personalizada que use autorizações especificadas por si.

As autorizações do IAM usam um prefixo de networkmanagement.

Para obter ou definir políticas IAM, ou para testar autorizações IAM com a API Network Management, consulte o artigo Gerir políticas de acesso.

Funções

Esta secção descreve como usar funções predefinidas e personalizadas quando concede autorizações para testes de conectividade.

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

Para mais informações sobre as funções e os Google Cloud recursos do projeto, consulte a seguinte documentação:

Funções predefinidas

Os testes de conetividade têm as seguintes funções predefinidas:

  • networkmanagement.admin tem autorização para realizar todas as operações num recurso de teste.
  • networkmanagement.viewer tem autorização para listar ou obter um recurso de teste específico.

A tabela seguinte apresenta as funções predefinidas e as autorizações que se aplicam a cada função.

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.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.vpcflowlogsconfigs.get

networkmanagement.vpcflowlogsconfigs.list

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

Funções personalizadas

Pode criar funções personalizadas selecionando uma lista de autorizações na tabela de autorizações para testes de conectividade.

Por exemplo, pode criar uma função denominada reachabilityUsers e conceder as autorizações list, get e rerun a esta função. Um utilizador com esta função pode executar novamente os testes de conetividade existentes e ver os resultados dos testes atualizados com base na configuração de rede mais recente.

Funções do projeto

Pode usar funções do projeto para definir autorizações para Google Cloud recursos. Uma vez que os testes de conetividade têm de ter acesso de leitura às Google Cloud configurações de recursos na sua rede da nuvem virtual privada (VPC) para executar um teste, tem de conceder, pelo menos, a função de visualizador de rede de computação (roles/compute.networkViewer) aos utilizadores ou às contas de serviço que executam um teste em relação a esses recursos. Também pode criar uma função personalizada ou autorizar temporariamente autorizações associadas à função anterior para um utilizador específico.

Em alternativa, pode conceder a um utilizador ou a uma conta de serviço uma das seguintes funções predefinidas para Google Cloud projetos:

Autorizações

Esta secção descreve as autorizações para testes de conetividade e como as usar ao testar diferentes tipos de configurações de rede.

Autorizações dos testes de conetividade

O Connectivity Tests tem as seguintes autorizações da IAM.

Autorização Descrição
networkmanagement.connectivitytests.list Apresenta todos os testes configurados no projeto especificado.
networkmanagement.connectivitytests.get Obtém os detalhes de um teste específico.
networkmanagement.connectivitytests.create Cria um novo objeto de teste no projeto especificado com os dados que especificar para o teste. Esta autorização inclui a autorização para atualizar, executar novamente ou eliminar testes.
networkmanagement.connectivitytests.update Atualiza um ou mais campos num teste existente.
networkmanagement.connectivitytests.delete Elimina o teste especificado.
networkmanagement.connectivitytests.rerun Volta a executar uma validação de acessibilidade única para um teste especificado.

Se não tiver autorização para criar ou atualizar um teste, os botões correspondentes estão inativos. Estes incluem o botão Criar teste de conetividade e, na página Detalhes do teste de conetividade, o botão Editar. Em cada caso, quando mantém o ponteiro sobre o botão inativo, os testes de conetividade apresentam uma mensagem a descrever a autorização de que precisa.

Autorizações para executar um teste

Precisa das seguintes funções e autorizações para executar um teste:

Tenha em atenção as seguintes considerações adicionais com diferentes tipos de opções de conetividade.

Intercâmbio da rede da VPC, Network Connectivity Center ou conetividade do Cloud VPN

Se o caminho de rastreio incluir o peering de redes VPC, o Network Connectivity Center ou a conetividade da Cloud VPN a uma rede num projeto diferente, um caminho de pacotes nessa rede só é simulado se tiver autorizações para esse projeto. Caso contrário, é devolvido um resultado do teste incompleto (por exemplo, um rastreio que termina com o estado final Encaminhar).

Projetos de VPC partilhada

Se um ponto final de origem ou de destino (como uma instância de máquina virtual [VM]) usar a VPC partilhada, tem de ter autorização para aceder aos projetos anfitrião e de serviço.

  • Se tiver autorização para aceder aos projetos anfitrião e de serviço, as informações de rastreio incluem detalhes sobre todos os recursos relevantes.
  • Se não tiver autorização para aceder a um dos projetos, as informações sobre os recursos definidos neste projeto ficam ocultas no rastreio. É apresentado um erro de autorização.
Exemplos
  • Tem acesso ao projeto da instância da VM (projeto de serviço), mas não tem acesso ao respetivo projeto de rede (projeto anfitrião). Se executar um teste com esta instância de VM como origem (especificada pelo nome), todos os passos associados ao projeto anfitrião (por exemplo, aplicar firewalls ou rotas) ficam ocultos.

  • Tem acesso ao projeto de rede (projeto anfitrião), mas não tem acesso ao projeto de VM (projeto de serviço). Se executar um teste com esta instância de VM como origem (especificada pelo respetivo endereço IP), todos os passos associados ao projeto de serviço, por exemplo, um passo com os detalhes da instância de VM, ficam ocultos.

Serviços publicados do Private Service Connect

Se o pacote for para o serviço publicado do Private Service Connect (através de um ponto final do Private Service Connect ou de um back-end do Private Service Connect), a parte do rastreio no projeto do produtor só é apresentada se tiver acesso ao mesmo. Caso contrário, o rastreio termina com um estado final geral, como Pacote entregue ao projeto produtor do PSC ou Pacote eliminado no projeto produtor do PSC.

Serviços geridos pela Google

Se o pacote for enviado para ou a partir da rede gerida pela Google associada a um serviço gerido pela Google (como o Cloud SQL), os passos no projeto gerido pela Google não são apresentados. É apresentado um passo de início geral ou um passo final.

Endereços IP públicos de Google Cloud recursos

Se especificar um endereço IP público atribuído a um recurso num dos seus projetos como origem ou destino de teste, mas não tiver autorizações para o projeto onde o recurso com este endereço está definido, este endereço IP é considerado um endereço IP da Internet. Não são apresentados detalhes sobre o recurso subjacente ou o caminho do pacote depois de este recurso ser alcançado.

Autorizações para ver os resultados dos testes

Para ver os resultados do teste, tenha em atenção o seguinte:

  • Para ver os resultados dos testes criados ou atualizados após outubro de 2024, só precisa da autorização para ver o recurso de teste (networkmanagement.connectivitytests.get); não precisa de autorizações para os recursos e os projetos incluídos no caminho da rastreabilidade.
  • Para ver os resultados dos testes executados antes de outubro de 2024, tem de ter a função Compute Network Viewer ou a função Viewer antiga (roles/viewer) para todos os projetos incluídos no caminho de rastreio.

Políticas de firewall hierárquicas

O seu rastreio pode incluir uma política de firewall hierárquica para a qual não tem autorização para ver. No entanto, mesmo que não tenha autorização para ver os detalhes da política, pode ver as regras da política que se aplicam à sua rede de VPC. Para ver detalhes, consulte as funções de IAM na vista geral "Políticas de firewall hierárquicas".

O que se segue?