管理访问权限绑定

本文档介绍了如何管理现有访问权限绑定,这些绑定定义了如何将访问权限政策应用于用户群组或服务账号。您可以根据需要查看、修改和删除这些绑定。访问权限绑定决定了如何将访问权限级别和会话控制应用于用户组或服务账号。

如需了解如何为用户创建访问权限绑定,以及有关访问权限级别和会话控制的更多详情,请参阅通过访问权限绑定将政策应用于用户群组

如需详细了解如何为服务账号创建访问权限绑定,请参阅为服务账号配置情境感知访问权限

列出访问权限绑定

如需列出之前为用户群组创建的所有访问权限绑定,请执行以下操作:

gcloud

如需使用 gcloud CLI 列出所有用户访问权限绑定,请运行以下命令。如需列出服务账号的访问权限绑定,您必须使用过滤条件。

gcloud access-context-manager cloud-bindings list \
  --organization ORGANIZATION_ID

ORG_ID:您的组织 ID。 如果尚未设置 access-context-manager/organization 属性,请将可选 --organization 标志中的 ORG_ID 替换为您在创建 GcpAccessAdmin 角色时使用的组织的 ID。

如需列出特定资源上的访问权限绑定,您可以使用过滤标志。

  --filter="FILTER"

FILTER 替换为描述访问权限政策所绑定资源的过滤条件,例如:

  • 用户群组:principal:group_key

  • 服务账号:principal:service_account OR principal:service_account_project_number

REST API

如需列出所有 USER_LOGIN 访问权限绑定,请运行以下命令:

curl -H "X-Goog-User-Project: PROJECT_ID" -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORGANIZATION_ID/gcpUserAccessBindings"

如需列出特定资源上的访问权限绑定,您可以使用过滤条件参数。

curl -H "X-Goog-User-Project: PROJECT_ID" -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORGANIZATION_ID/gcpUserAccessBindings?filter=FILTER"

替换以下内容:

  • PROJECT_ID:项目的 ID
  • ORGANIZATION_ID:组织的 ID
  • FILTER:用于描述访问政策所绑定到的资源的过滤条件,例如:

    • 用户群组:principal:group_key

    • 服务账号:principal:service_account OR principal:service_account_project_number

查看访问权限绑定

为一组用户创建访问权限绑定后,系统会根据是否满足绑定的访问权限级别来控制对Google Cloud 控制台和 Google Cloud API 的访问权限。

您可以查看所创建的访问权限绑定的详细信息,对其进行修改或将其删除。

控制台

  1. 在 Google Cloud 控制台中,前往 Access Context Manager 页面。

    转到 Access Context Manager

  2. 如果系统提示您,请选择一个项目。访问权限绑定会列在 Access Context Manager 页面上。

gcloud

如需查看访问权限绑定的详细信息,请运行以下命令:

  gcloud access-context-manager cloud-bindings describe \
  --binding=BINDING_ID

BINDING_ID 是访问权限绑定的 ID 或访问权限绑定的完全限定标识符。

API

查看访问权限绑定的详细信息:

HTTP 方法和网址:

GET https://accesscontextmanager.googleapis.com/v1/BINDING_ID

如需发送请求,请选择以下方式之一:

curl

执行以下命令:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://accesscontextmanager.googleapis.com/v1/BINDING_ID"

PowerShell

执行以下命令:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://accesscontextmanager.googleapis.com/v1/BINDING_ID" | Select-Object -Expand Content

您应该收到类似以下内容的 JSON 响应:


{
  "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
  "groupKey": "045jfvxd0ybeul8",
  "accessLevels": [
    "accessPolicies/305009197125/accessLevels/device_lock"
  ],
  "dryRunAccessLevels": [
    "accessPolicies/305009197125/accessLevels/another"
  ]
}

更新访问权限绑定

您可以更新访问权限绑定,以执行以下操作:

  • 添加、移除或更改应用政策。
  • 修改用户组中应用的访问权限级别。
  • 添加新的试运行访问权限级别,或将现有访问权限级别提升为正式版级别。

控制台

  1. 在 Google Cloud 控制台中,前往 Access Context Manager 页面。

    转到 Access Context Manager

  2. 如果系统提示您,请选择一个项目。

  3. 在 Access Context Manager 页面上,选择一个访问权限绑定,然后点击修改以更新该绑定。

您无法在 Google Cloud 控制台中更新具有试运行访问权限级别或会话控制的访问权限绑定。

gcloud

  1. 创建 YAML 绑定文件。

    gcloud access-context-manager cloud-bindings update \
      --binding=ACCESS_BINDING \
      --binding-file