创建自定义访问权限级别后,可以采用与基本访问权限级别相同的方式进行管理。
如需详细了解如何为自定义访问权限级别构建通用表达式语言 (CEL) 表达式,请参阅自定义访问权限级别规范。
控制台
要创建自定义访问权限级别,请按以下步骤操作:
在 Google Cloud 控制台中打开 Access Context Manager 页面。
如果出现提示,请选择您的组织。
在 Access Context Manager 页面的顶部,点击新建。
在新建访问权限级别窗格中,执行以下操作:
在访问权限级别标题框中,输入访问权限级别的标题。标题最多不能超过 50 个字符,以字母开头,并且只能包含数字、字母、下划线和空格。
按照在以下条件中创建条件,选择高级模式。
在条件部分中,输入自定义访问权限级别的表达式。条件必须解析为单个布尔值。
有关通用表达式语言 (CEL) 支持和自定义访问权限级别的示例和更多信息,请参阅自定义访问权限级别规范。
点击保存。
gcloud
准备工作
- 如果您的组织还没有访问权限政策,请为其创建访问权限政策。
要使用 gcloud
命令行工具创建自定义访问权限级别,请使用 gcloud access-context-manager levels create
命令。
gcloud access-context-manager levels create LEVEL_NAME \ --title=TITLE \ --custom-level-spec=FILE \ --description=DESCRIPTION \ --policy=POLICY_NAME
其中:
LEVEL_NAME 是访问权限级别的唯一名称。必须以字母开头,并且只包含字母、数字和下划线。 名称最多可以包含 50 个字符。
TITLE 是访问权限级别的简短且直观易懂的标题。
FILE是一个.yaml 文件,其中包含您的 CEL 表达式(格式为单个键值对):
expression: "CEL_EXPRESSION"
。有关通用表达式语言 (CEL) 支持和自定义访问权限级别的示例和更多信息,请参阅自定义访问权限级别规范。
DESCRIPTION(可选)是直观易懂的访问权限级别说明。
POLICY_NAME 是您组织的访问权限政策的数字名称。
或者,您可以添加任何在 gcloud
范围适用的标志。
custom-level-spec
YAML 文件
使用 gcloud
命令行工具创建自定义访问权限级别时,必须为 custom-level-spec
选项提供.yaml 文件。.yaml 文件定义了解析为单个布尔值的 CEL 表达式。.yaml 文件必须包含一个格式为 expression: "CEL_EXPRESSION"
的键值对。expression
的值必须是字符串。
YAML 文件示例
expression: "device.encryption_status == DeviceEncryptionStatus.ENCRYPTED && (origin.region_code in ['US'] || device.is_admin_approved_device)"
示例命令
gcloud access-context-manager levels create Custom_Trust \
--custom-level-spec=customspec.yaml \
--description="Custom access level for corp." \
--title="Custom Trust Level" \
--policy=1521580097614100
REST
准备工作
- 如果您的组织还没有访问权限政策,请为其创建访问权限政策。
如需创建自定义访问权限级别,请使用 accessPolicies.accessLevels.create
方法。
请求正文
在调用的请求正文中,添加 AccessLevel
对象的实例。
{
"name": string,
"title": string,
"description": string,
"custom": {
"expr": {
"expression": string,
"title": string,
"description": string
}
}
}
对于 custom
字段,请创建一个对象,其中包含自定义访问权限级别的 CEL 表达式。完整表达式必须解析为布尔值。title
和 description
字段为选填字段。
示例
{
"name": "example_custom_level",
"title": "Example custom level",
"description": "An example custom access level.",
"custom": {
"expr": {
"expression": "device.is_corp_owned == true || (device.os_type != OsType.OS_UNSPECIFIED && device.is_admin_approved_device == true)",
"title": "Check for known devices",
"description": "Permits requests from corp-owned devices and admin-approved devices with a known OS."
}
}
}
RPC
准备工作
- 如果您的组织还没有访问权限政策,请为其创建访问权限政策。
要创建自定义访问权限级别,请调用 CreateAccessLevel
。
对于 access_level
字段,请添加 AccessLevel
的实例。
字段 | |||||
---|---|---|---|---|---|
name
|
|
||||
title
|
|
||||
description
|
|
||||
custom
|
|