针对连接测试的访问权限控制

本页面介绍了运行 Connectivity Tests 所需的 Identity and Access Management 角色和权限。

您可以授予用户或服务帐号权限、预定义角色,也可以创建使用所指定权限的自定义角色。

IAM 权限使用 networkmanagement 前缀。

如需获取或设置 IAM 政策,或使用 Network Management API 测试 IAM 权限,请参阅管理访问权限控制

角色

本节介绍在授予连接测试权限时如何使用预定义角色和自定义角色。

有关每种权限的说明,请参见权限表

如需详细了解项目角色和 Google Cloud 资源,请参阅以下文档:

预定义角色

连接测试具有以下预定义角色:

  • networkmanagement.admin 有权对测试资源执行所有操作。
  • networkmanagement.viewer 有权列出或获取特定的测试资源。

下表列出了预定义角色以及适用于每个角色的权限。

角色 名称 说明 权限 最低资源要求
roles/networkmanagement.admin Network Management Admin 拥有对 Network Management 资源的完全访问权限。
  • networkmanagement.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
roles/networkmanagement.viewer Network Management Viewer 拥有对 Network Management 资源的只读权限。
  • networkmanagement.connectivitytests.get
  • networkmanagement.connectivitytests.getIamPolicy
  • networkmanagement.connectivitytests.list
  • networkmanagement.locations.*
  • networkmanagement.operations.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

自定义角色

您可以通过从权限表中为连接测试选择权限列表,从而创建自定义角色。

例如,您可以创建一个名为 reachabilityUsers 的角色,并为此角色授予 listgetrerun 权限。具有此角色的用户可以重新运行现有的连接测试,并根据最新的网络配置查看更新的测试结果。

使用项目角色设置对 Google Cloud 资源的权限

由于连接测试必须具有对您的 Virtual Private Cloud (VPC) 网络中的 Google Cloud 资源配置的读取权限才能运行测试,因此您必须至少向针对这些资源进行测试的用户或服务帐号授予 compute.networkViewer 角色。您也可以为特定用户创建自定义角色或临时授权与之前角色关联的权限。

或者,您可以为用户或服务帐号授予 Google Cloud 项目的以下预定义角色之一:

权限

本节介绍了连接测试的权限以及在测试不同类型的网络配置时如何使用它们。

连接测试权限

Connectivity Tests 具有以下 Cloud IAM 权限。

权限 说明
networkmanagement.connectivitytests.list 列出在指定项目中配置的所有测试。
networkmanagement.connectivityTests.get 获取特定测试的详细信息。
networkmanagement.connectivitytests.create 使用您为测试指定的数据在指定的项目中创建一个新的测试对象。此权限包括更新、重新运行或删除测试的权限。
networkmanagement.connectivitytests.update 更新现有测试中的一个或多个字段。
networkmanagement.connectivitytests.delete 删除指定的测试。
networkmanagement.connectivitytests.rerun 针对指定测试重新运行一次性可达性验证。

运行和查看测试的权限

如果您无权创建或更新测试,则会看到一条 permission denied 消息。

如果您无权在要测试的网络路径中查看 Compute Engine 资源,则仍可以看到整体测试结果,但是已测试资源的详细信息会被隐藏,并且测试结果会针对您没有权限的每个资源显示一条 permission denied 消息。

即使您收到测试 Deliverfinal state,如果您没有要测试的配置的权限,测试结果也会显示 permission denied

您可以找出需要哪个项目的权限才能查看资源详细信息,但是看不到隐藏了哪些资源类型。

跨多个项目的权限

如果您测试的网络配置使用 VPC 网络对等互连或共享 VPC,则连接测试必须具有足够的权限才能访问这些网络使用的多个项目中的配置。

通过这些权限,连接测试可以在不同网络和项目之间运行数据包路径的一个或多个完整跟踪记录。否则,连接测试只能访问该项目内的配置。

共享 VPC 网络的权限

从共享 VPC 网络中的服务项目运行测试时,您必须对宿主项目中的网络配置拥有 read 权限。这是因为网络的防火墙和路由配置位于宿主项目中。即使您要测试的资源完全存在于单个服务项目中,也是如此。

从共享 VPC 宿主项目到服务项目中的虚拟机实例运行测试时,您必须具有读取该服务项目中的虚拟机配置的权限。

如果您仅拥有宿主项目的权限,而没有向连接测试提供服务项目 ID,则测试结果将显示最终状态 Unreachable,并带有一条 unknown IP address 消息。

VPC 网络对等互连、Cloud VPN 和 Cloud Interconnect 的权限

连接测试必须具有 read 权限才能在包含 VPC 网络对等互连网络的项目中运行测试。

如果您只能访问 VPC 网络对等互连连接中的一个网络,则测试结果将显示数据包已发送到 VPC 网络对等互连网络。但是,连接测试无法提供该网络的任何其他信息。

后续步骤