创建作用域访问权限政策

本页面介绍如何创建和委派范围限定的访问权限政策。

准备工作

  • 了解范围限定的政策

  • 了解如何授予对 VPC Service Controls 的访问权限

  • 确保委派了范围限定的访问权限政策的委派管理员对范围限定的政策所绑定到的文件夹或项目具有 cloudasset.assets.searchAllResources 权限。委派的管理员需要此权限才能搜索所有 Google Cloud 资源。

  • 了解如何配置服务边界

创建范围限定的访问权限政策

创建范围限定的访问权限政策,并将管理委派给组织中的文件夹和项目。创建范围限定的访问权限政策后,您无法更改政策的范围。如需更改现有政策的范围,请删除政策,并使用新范围重新创建政策。

控制台

  1. 在 Google Cloud 控制台导航菜单中,点击安全,然后点击 VPC Service Controls

    转到 VPC Service Controls

  2. 如果出现提示,请选择您的组织、文件夹或项目。

  3. VPC Service Controls 页面上,选择作为范围限定政策父级的访问权限政策。例如,您可以选择 default policy 组织政策。

  4. 点击管理政策

  5. 管理 VPC Service Controls 页面上,点击创建

  6. 创建访问权限政策页面的访问权限政策名称框中,为范围限定的访问权限政策输入名称。

    范围限定的访问政策名称的最大长度为 50 个字符,必须以字母开头,并且只能包含 ASCII 拉丁字母(a-z、A-Z)、数字 (0-9) 或下划线 (_)。范围限定的访问权限政策名称区分大小写,并且在组织的访问权限政策中必须是唯一的。

  7. 要为访问权限政策指定范围,请点击范围

  8. 将项目或文件夹指定为访问权限政策的范围。

    • 如需选择要添加到访问权限政策范围内的项目,请执行以下操作:

      1. 范围窗格中,点击添加项目

      2. 添加项目对话框中,选中相应项目的复选框。

      3. 点击完成。添加的项目将显示在范围部分中。

    • 如需选择要添加到访问权限政策范围内的文件夹,请执行以下操作:

      1. 范围窗格中,点击添加文件夹

      2. 添加文件夹对话框中,选中相应文件夹的复选框。

      3. 点击完成。添加的文件夹将显示在范围部分中。

  9. 如需委派范围限定访问权限政策的管理,请点击主账号

  10. 如需指定要绑定到访问权限政策的主账号和角色,请执行以下操作:

    1. 主账号窗格中,点击添加主账号

    2. 添加主账号对话框中,选择主账号,例如用户名或服务账号。

    3. 选择要与主账号关联的角色,例如编辑者和读取角色。

    4. 点击保存。添加的主账号和角色会显示在主账号部分中。

  11. 创建访问权限政策页面上,点击创建访问权限政策

gcloud

如需创建范围限定的访问权限政策,请使用 gcloud access-context-manager policies create 命令。

gcloud access-context-manager policies create \
--organization ORGANIZATION_ID [--scopes=SCOPE] --title POLICY_TITLE

其中:

  • ORGANIZATION_ID 是您的组织的数字 ID。

  • POLICY_TITLE 是直观易懂的政策标题。 政策标题最多可以包含 50 个字符,必须以字母开头,并且只能包含 ASCII 拉丁字母(a-z、A-Z)、数字 (0-9) 或下划线 (_)。政策标题区分大小写,并且在组织的访问权限政策中必须是唯一的。

  • SCOPE 是此政策适用的文件夹或项目。您只能指定一个文件夹或项目作为范围,并且该范围必须存在于指定的组织中。如果您未指定范围,则政策将应用于整个组织。

系统会显示以下输出(其中 POLICY_NAME 是 Google Cloud 分配的政策的唯一数字标识符):

Create request issued
Waiting for operation [accessPolicies/POLICY_NAME/create/1521580097614100] to complete...done.
Created.

要通过将主账号和角色绑定到范围限定的访问权限政策来委派管理,请使用 add-iam-policy-binding 命令。

gcloud access-context-manager policies add-iam-policy-binding \
[POLICY] --member=PRINCIPAL --role=ROLE

其中:

  • POLICY 是政策的 ID 或政策的完全限定标识符。

  • PRINCIPAL 是要添加绑定的主账号。请按以下格式指定:user|group|serviceAccount:emaildomain:domain

  • ROLE 是要分配给主账号的角色名称。角色名称是预定义角色的完整路径(例如 roles/accesscontextmanager.policyEditor),或自定义角色的角色 ID(例如 organizations/{ORGANIZATION_ID}/roles/accesscontextmanager.policyEditor)。

API

要创建范围限定的访问权限政策,请执行以下操作:

  1. 创建请求正文。

    {
     "parent": "ORGANIZATION_ID",
     "scope": "SCOPE"
     "title": "POLICY_TITLE"
    }
    

    其中:

    • ORGANIZATION_ID 是您的组织的数字 ID。

    • SCOPE 是此政策适用的文件夹或项目。

    • POLICY_TITLE 是直观易懂的政策标题。 政策标题最多可以包含 50 个字符,必须以字母开头,并且只能包含 ASCII 拉丁字母(a-z、A-Z)、数字 (0-9) 或下划线 (_)。政策标题区分大小写,并且在组织的访问权限政策中必须是唯一的。

  2. 通过调用 accessPolicies.create 创建访问政策。

    POST https://accesscontextmanager.googleapis.com/v1/accessPolicies
    

响应正文

如果成功,调用的响应正文将包含一个 Operation 资源,用于提供与 POST 操作相关的详细信息。

如需委派范围限定访问权限政策的管理,请执行以下操作:

  1. 创建请求正文。

    {
     "policy": "IAM_POLICY",
    }
    

    其中:

    • IAM_POLICY 是绑定的集合。绑定操作会将一个或多个成员或主账号绑定到单个角色。主账号可以是用户账号、服务账号、Google 群组和网域。角色是一组指定的权限;每个角色可以是 IAM 预定义角色或用户创建的自定义角色。
  2. 通过调用 accessPolicies.setIamPolicy 委派访问权限政策。

    POST https://accesscontextmanager.googleapis.com/v1/accessPolicies
    

响应正文

如果成功,则响应正文包含一个 policy 实例。

后续步骤