分配访问权限

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

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

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 权限。具有此角色的用户可以重新运行现有的 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 会显示一条消息,说明您需要获得的权限。

查看测试结果的权限

如果您无权在要测试的网络路径中查看 Compute Engine 资源,则仍可以看到整体测试结果,但是已测试资源的详细信息会被隐藏。

项目资源

一般来说,如果您无权访问跟踪记录中列出的项目资源,则分析结果会显示 No permission to view the resource 部分中的消息读取。Connectivity Tests 会隐藏资源类型、资源名称以及其他详细信息。但是,跟踪记录会识别与资源关联的项目。

分层防火墙政策

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

跨多个项目的权限

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

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

共享 VPC 网络的权限

如需从共享 VPC 网络中的服务项目运行测试,您必须具有宿主项目的 Compute Network Viewer 角色 (roles/compute.networkViewer) 或旧版 Project Viewer 角色 (roles/viewer)。此要求存在是因为网络的防火墙和路由配置网络位于宿主项目中。即使您要测试的资源完全存在于单个服务项目中,您也必须具有以上角色之一。

如需从共享 VPC 宿主项目到服务项目中的虚拟机 (VM) 实例运行测试,您还必须拥有服务项目中的以下角色之一:roles/compute.networkViewerroles/viewer。此外,在创建测试时,您必须提供服务项目 ID。如果您未提供此 ID,则 Connectivity Tests 会将总体可达性结果显示为 Unreachable 并显示一条 unknown IP address 消息。

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

如果您的 Connectivity Tests 测试检查通过 VPC 网络对等互连连接的两个项目之间的可达性,则您看到的结果会因您的权限而异。

如需查看分析的完整结果,您必须在这两个项目中具有 Compute Network Viewer 角色 (roles/compute.networkViewer) 或旧版 Project Viewer 角色 (roles/viewer)。

如果您对包含来源端点的网络具有以上角色之一,但对包含目标端点的网络不具有任何角色,则分析会显示部分结果。也就是说,分析显示数据包已发送到 VPC 网络对等互连网络。但是,连接测试无法提供该网络的任何其他信息。

后续步骤