Access Context Manager 允许 Google Cloud 组织管理员为 Google Cloud 中的项目和资源定义基于属性的细粒度访问控制。
管理员首先定义一个访问政策,这是组织范围内的访问权限级别和服务边界容器。
访问权限级别说明请求被接受所需要满足的条件。例如:
- 设备类型和操作系统
- IP 地址
- 用户身份
服务边界定义资源的沙盒,即可以在相应边界内自由交换数据,但不允许向外部导出数据。Access Context Manager 不负责强制执行政策,而只是描述所需的规则。政策在 VPC Service Controls 等各个点进行配置和强制执行。如需了解这些服务的更多信息,请阅读各自的用户指南。
您可以在以下 Chrome Enterprise 进阶版解决方案组件中配置和强制执行 Access Context Manager 政策:
- VPC Service Controls
- Identity-Aware Proxy
- Google Workspace 情境感知访问权限
- Identity and Access Management (IAM) 条件
为何选择 Access Context Manager
许多公司都依赖于边界安全模型(例如防火墙)来保护内部资源。此类模型与中世纪城堡相仿,宛若一座有着厚厚城墙的堡垒,护城河环绕四周,并设有守卫森严的单一进出点。墙外的任何东西都被认为具有危险性,而墙内的一切都受到信任。
只要特定用户和服务有精确的边界,防火墙和边界安全模型就可以有效运行。但是,如果员工移动不定,当用户使用自带设备 (BYOD) 并利用基于云的服务,设备种类便会不断增加。这种情况会导致额外的攻击途径 边界模型未考虑的特殊节点。边界不再只是 企业的实际位置以及内部的内容不能假定是安全的。
借助 Access Context Manager,您可以减小特权网络的大小, 并移至端点不根据 。您可以改为根据请求的上下文(例如设备类型、用户身份等)授予访问权限,同时在必要时仍检查公司网络访问权限。
Access Context Manager 是 Google 的 BeyondCorp 不可或缺的一部分。如需了解详情,请参阅 BeyondCorp。
访问权限政策
访问政策是所有 Access Context Manager 资源(例如访问权限级别和服务边界)的容器。
您可以在组织的上下文中创建访问权限政策,并使用 组织级别的访问权限政策。如需委派访问权限政策的管理,您可以创建范围限定的访问权限政策,并在文件夹级别或项目级别设置该政策的范围。分配了范围限定的政策的委派管理员只能管理范围限定的访问权限政策,而不能管理组织级访问权限政策。
访问权限政策使用 etag
进行版本控制。
您可以使用 etag
将对访问权限政策的更改(例如对访问权限级别的修改)瞄准该政策的特定版本。如果有多个来源更改您的访问权限政策,则对 gcloud
命令行工具和 API 调用使用 etag
字段时,可以确保不会意外覆盖任何更改,并且不会引起意外冲突。
如需了解如何创建访问权限政策,请参阅创建访问权限政策。
访问权限级别
访问权限级别用于允许访问资源(根据与请求相关的上下文信息)。借助访问权限级别,您可以开始组织信任层。例如,您可以创建一个名为 High_Level
的访问权限级别,该级别将允许一小部分具有高度特权的用户发出请求。您也可以识别一个更通用的组来信任,例如您允许发出请求的 IP 范围。在这种情况下,您可以创建一个名为 Medium_Level
的访问权限级别以允许这些请求。
访问权限级别定义完毕之后,强制执行服务就可以使用它们来确定是否接受请求。例如,您可以指定“Medium_Trust”可以使用许多资源,但某些更敏感的资源需要“High_Trust”级别。这些检查除了 标准 IAM 政策。
访问权限级别可自定义;例如,High_Trust
和 Medium_Trust
访问权限级别。您可以在一个访问权限政策中指定多个访问权限级别。
Access Context Manager 提供两种定义访问权限级别的方法:基本和自定义。
基本访问权限级别是用于测试请求的一系列条件。条件是要测试的一组属性,例如设备类型、IP 地址或用户身份。通过 属性会作为 AND 运算(全部必须为 true)或 NOR 运算(不得为 true),以确定条件是否 符合。
自定义访问权限级别使用通用表达式语言的子集创建。除了用于基本访问权限级别的请求上下文之外,您还可以使用自定义访问权限级别来允许基于来自第三方服务的数据的请求。如需了解详情,请参阅自定义访问权限级别。
IP 地址
您可以根据发出请求的 IP 地址来授予访问权限级别。要允许的 IP 范围以无类别域间路由 (CIDR) 地址块的形式进行指定,以便对要允许的 IP 地址进行简单但精细的控制。
一个访问权限级别可以包含多个 IP 范围。
请参阅为公司网络访问权限创建访问权限级别,了解如何创建仅将访问权限授予指定范围内 IP 地址(例如公司网络中的 IP 地址)的访问权限级别。
设备类型
Access Context Manager 使用端点验证来收集关于用户设备的信息,包括操作系统和版本。您可以根据这些数据来授予访问权限级别。例如,倘若设备运行公司部署的主要操作系统最新版本,可以为其授予较宽松的访问权限级别。
请参阅为用户设备创建访问权限级别,详细了解如何为特定设备授予访问权限级别。
用户身份
在某些情况下,您可能希望为特定实体授予访问权限级别。 此时,调用者的身份将决定是否满足条件。
此情景通常与服务账号和 VPC Service Controls 结合使用;例如,启用 Cloud Function 函数以访问受 VPC Service Controls 保护的数据。
您可以使用 gcloud
命令行工具创建和管理仅使用身份的访问权限级别,但不能使用 Google Cloud 控制台来创建和管理。
如需开始创建基本访问权限级别,请参阅为 Access Context Manager 创建访问权限级别。
如需了解如何创建可根据请求上下文授予访问权限的访问权限级别,请参阅创建自定义访问权限级别。
合并条件
一个访问权限级别可以包含多个条件。您可以使用 AND
或 OR
运算符来评估条件,还可以在创建或更新访问权限级别时指定模式。
AND
运算符的限制较为严格(且为默认选项)。只有满足所有条件时,它才会授予访问权限级别。例如,您可以要求
在公司网络内,并且使用运行最新版操作系统的设备
操作系统
OR
的限制较为宽松。它只需求满足多个条件中的一个。在处理用户身份时,这有时很实用;例如,从常规要求中排除特定实体(如服务账号)。
嵌套条件
您可以设置嵌套条件,使一个条件依赖于另一个条件。 例如,倘若您有“中度”和“高度”信任级别等两个访问权限级别,可以将“高度”信任级别的要求设置为需要满足“中度”信任级别,外加其他一些条件。
嵌套条件让您可以更加便捷地管理访问权限级别。例如,假设您最宽松的访问权限级别包含最低操作系统版本要求,并且您将较为严格的级别设置为依赖于它。那么,如果您将来更新最低版本,您只需更新单个条件,而不必更新政策中的所有访问权限级别。