角色与权限

本页介绍运行连接测试所需的 Identity and Access Management (IAM) 角色和权限。

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

IAM 权限使用 networkmanagement 前缀。

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

角色

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

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

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

预定义角色

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

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

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

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

自定义角色

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

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

项目角色

您可以使用项目角色设置对 Google Cloud 资源的权限。由于 Connectivity Tests 必须具有对您的 Virtual Private Cloud (VPC) 网络中的 Google Cloud 资源配置的读取权限才能运行测试,因此您必须至少向针对这些资源进行测试的用户或服务账号授予 Compute Network Viewer 角色 (roles/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 针对指定测试重新运行一次性可达性验证。

如果您无权创建或更新测试,则相应的按钮将处于无效状态;包括创建连接测试按钮,以及连接测试详情页面上的修改按钮。在这些情况下,当您将光标悬停在无效按钮上时,Connectivity Tests 会显示一条消息,说明您需要获得的权限。

运行测试所需的权限

您需要具备以下角色和权限才能运行测试:

  • 具有 Connectivity Tests 资源的项目中的 networkmanagement.connectivitytests.create 权限(或 networkmanagement.connectivitytests.rerun)。
  • 对轨迹路径中包含的所有项目具有 Compute Network Viewer 角色 (roles/compute.networkViewer) 或旧版 Viewer 角色 (roles/viewer)。

请注意以下有关不同类型连接选项的其他注意事项。

VPC 网络对等互连、Network Connectivity Center 或 Cloud VPN 连接

如果跟踪路径包含 VPC 网络对等互连、Network Connectivity Center 或 Cloud VPN 连接到其他项目中的网络,则只有当您拥有对该项目的权限时,系统才会模拟该网络中的数据包路径。否则,系统会返回不完整的测试结果(例如,以 Forward 最终状态结束的轨迹)。

共享 VPC 项目

如果源端点或目标端点(例如虚拟机 [VM] 实例)使用共享 VPC,您必须有权访问宿主项目和服务项目。

  • 如果您有权访问宿主项目和服务项目,轨迹信息将包含所有相关资源的详细信息。
  • 如果您无权访问其中一个项目,则跟踪记录中会隐藏此项目中定义的资源的相关信息。系统会显示权限错误。
示例
  • 您有权访问虚拟机实例项目(服务项目),但无权访问其网络项目(宿主项目)。如果您使用此虚拟机实例作为来源(通过名称指定)运行测试,则与宿主项目相关联的所有步骤(例如,应用防火墙或路由)都会隐藏。

  • 您有权访问网络项目(宿主项目),但无权访问虚拟机项目(服务项目)。如果您使用此虚拟机实例作为来源(通过其 IP 地址指定)运行测试,则与服务项目关联的所有步骤(例如包含虚拟机实例详细信息的步骤)都会隐藏。

Private Service Connect 已发布服务

如果数据包发送到 Private Service Connect 已发布服务(通过 Private Service Connect 端点或 Private Service Connect 后端),只有在您有权访问生产者项目中的轨迹部分时,系统才会显示该部分。否则,轨迹会以常规最终状态结束,例如数据包已传送到 PSC 生产者项目数据包已在 PSC 生产者项目中丢弃

Google 管理的服务

如果数据包传入或传出与 Google 代管式服务(例如 Cloud SQL)关联的 Google 代管式网络,则不会显示 Google 代管式项目内的步骤。系统会显示常规的开始步骤或结束步骤。

Google Cloud 资源的公共 IP 地址

如果您将分配给某个项目中资源的公共 IP 地址指定为测试来源或目的地,但您没有对定义了此 IP 地址的项目的权限,则此 IP 地址会被视为互联网 IP 地址。到达此资源后,系统不会显示与底层资源或数据包路径相关的任何详细信息。

查看测试结果的权限

如需查看测试结果,请注意以下事项:

  • 如需查看 2024 年 10 月之后创建或更新的测试的结果,您只需有权查看测试资源 (networkmanagement.connectivitytests.get);无需对跟踪路径中包含的资源和项目拥有权限。
  • 如需查看 2024 年 10 月之前执行的测试的结果,您必须对轨迹路径中包含的所有项目具有 Compute Network Viewer 角色 或旧版 Viewer 角色 (roles/viewer)。

分层防火墙政策

您的跟踪记录可能包含您无权查看的分层防火墙政策。但是,即使您无权查看政策详情,也仍然可以查看应用于 VPC 网络的政策规则。如需了解详情,请参阅“分层防火墙政策”概览中的 IAM 角色

后续步骤