您可以为一个或多个连接测试设置或获取 Identity and Access Management (IAM) 政策或访问权限控制政策。此外,您可以查看用户或服务账号对特定连接测试具有的权限。
本文档展示了使用 Network Management API 的访问权限控制示例。如需在 Google Cloud Console 中或使用 gcloud
命令按照以下步骤操作,请参阅 IAM 方法指南。
如需了解以下命令中列出的政策绑定和 ETag,请参阅 IAM 政策的 API 参考文档。
如需了解运行 Connectivity Tests 所需的 IAM 角色和权限,请参阅角色和权限。
设置访问权限控制政策
此过程用于为指定的连接测试资源设置访问权限控制政策。
API
使用 networkmanagement.connectivitytests.setIamPolicy
方法为 USER
、ROLE
和 TEST_ID
设置访问权限控制政策。
以下示例设置了一个政策,该政策将 networkmanagement.admin
的角色绑定到 mytest-1
的 username@yourcompany.com
。
POST https: //networkmanagement.googleapis.com/v1/{resource=projects/*/locations/global/connectivityTests/TEST_ID}:setIamPolicy { "version": "VERSION", "etag": "ETAG", "bindings": [{ "role": "ROLE", "members": [ "PRINCIPAL" ] }] }
替换以下值:
TEST_ID
:您正在运行的 Connectivity Tests 对象(测试)的 IDVERSION
:指定政策的格式;有效值为0
、1
和3
;任何会影响条件角色绑定的操作都必须指定版本3
ETAG
:用于乐观并发控制,可帮助防止同时对政策进行的更新相互覆盖(BwWbrqiZFRs=
是一个 etag 示例)ROLE
:分配给主账号的角色(例如roles/networkmanagement.admin
)PRINCIPAL
:指定请求访问 Google Cloud 资源的身份(例如user:username@yourcompany.com
);如需查看主账号或成员类型列表,请参阅 IAM 政策的 API 参考文档
获取访问权限控制政策
此流程可获取所指定连接测试资源的访问控制政策。
API
使用 networkmanagement.connectivitytests.getIamPolicy
方法为 PRINCIPAL
、ROLE
和 TEST_ID
设置访问权限控制政策。
以下示例获取一个政策,该政策将 networkmanagement.admin
的角色绑定到 mytest-1
的 username@yourcompany.com
。
GET https: //networkmanagement.googleapis.com/v1/{resource=projects/*/locations/global/connectivityTests/TEST_ID}:getIamPolicy { "version": "VERSION", "etag": "ETAG", "bindings": [{ "role": "ROLE", "members": [ "PRINCIPAL" ] }] }
替换以下值:
TEST_ID
:您正在运行的 Connectivity Tests 对象(测试)的 IDVERSION
:指定政策的格式;有效值为0
、1
和3
;任何会影响条件角色绑定的操作都必须指定版本3
ETAG
:用于乐观并发控制,可帮助防止同时对政策进行的更新相互覆盖(BwWbrqiZFRs=
是一个 etag 示例)ROLE
:分配给主账号的角色(例如roles/networkmanagement.admin
)PRINCIPAL
:指定请求访问 Google Cloud 资源的身份(例如user:username@yourcompany.com
);如需查看主账号类型列表,请参阅 IAM 政策的 API 参考文档
测试 IAM 权限
此流程会返回用户或服务账号对连接测试资源拥有的权限。
API
使用 networkmanagement.connectivitytests.testIamPermissions
方法返回分配给 TEST_ID
的权限。
下面的示例验证 username@yourcompany.com
对 mytest-1
拥有 networkmanagement.connectivitytests.get
权限。
POST https://networkmanagement.googleapis.com/v1/{resource=projects/*/locations/global/connectivityTests/TEST_ID}:testIamPermissions { "permissions": [ "networkmanagement.connectivitytests.get" ] }
将 TEST_ID
替换为您正在运行的连接测试对象(测试)的 ID。