本页面介绍如何管理现有访问权限级别。您可以执行以下操作:
准备工作
设置默认访问权限政策,以使用
gcloud
命令行工具。或
获取您的政策名称。使用
gcloud
命令行工具并进行 API 调用的命令需要政策名称。如果您设置了默认访问权限政策,则无需为gcloud
命令行工具指定政策。确保在组织级层拥有 Identity and Access Management (IAM) 角色,该角色允许您管理访问权限级别。请让您的管理员授予您以下角色之一或具有相同权限的自定义角色:
查看访问权限级别:Access Context Manager Reader (
roles/accesscontextmanager.policyReader
)查看和更改访问权限级别: Access Context Manager Editor (
roles/accesscontextmanager.policyEditor
) 或 Access Context Manager Admin (roles/accesscontextmanager.policyAdmin
)
列出访问权限级别
控制台
如需列出所有访问权限级别,请在 Google Cloud 控制台中打开 Access Context Manager 页面,然后在系统提示时选择贵组织。您组织的访问权限级别显示在页面的网格中,包括有关每个访问权限级别的配置详细信息。
gcloud
要列出所有访问权限级别,请使用 list
命令。
gcloud access-context-manager levels list \ [--policy=POLICY_NAME]
其中:
- POLICY_NAME 是您组织的访问权限政策名称。只有在未设置默认访问权限政策的情况下,才需要指定此值。
输出结果如下所示:
NAME TITLE LEVEL_TYPE Device_Trust Device_Trust Extended Basic Service_Group_A Service_Group_A Basic
API
要列出一项政策的所有访问权限级别,请调用 accessLevels.list
。
GET https://accesscontextmanager.googleapis.com/v1alpha/accessPolicies/POLICY_NAME/accessLevels
其中:
- POLICY_NAME 是您的组织的访问权限政策的名称。
请求正文
请求正文必须为空。
可选参数
可包含以下一个或多个查询参数。
参数 | |
---|---|
pageSize
|
默认情况下,会将 您可以使用此参数来修改每页返回的访问权限级别数量。 |
pageToken
|
如果调用返回的访问权限级别数量超过了页面大小,响应正文将包含一个页标记。 在后续调用中,您可以使用此参数来获取下一页结果。 |
accessLevelFormat
|
一般来说,访问权限级别会以定义的方式返回,即作为 您可以为此参数指定值 |
响应正文
如果成功,则调用的响应正文包含一个列出访问权限级别的 AccessLevels
对象,以及一个 nextPageToken
字符串。仅当返回的访问权限级别数量超过页面大小时,nextPageToken
才会有值。否则,nextPageToken
将作为空字符串返回。
列出访问权限级别(有格式)
您可以使用 gcloud
命令行工具,获取 YAML 或 JSON 格式的访问权限级别列表。
要获取有格式的访问权限级别列表,请使用 list
命令。
gcloud access-context-manager levels list \ --format=FORMAT \ [--policy=POLICY_NAME]
其中:
FORMAT 是以下任一值:
list
(YAML 格式)json
(JSON 格式)
POLICY_NAME 是您组织的访问权限政策名称。只有在未设置默认访问权限政策的情况下,才需要指定此值。
YAML 输出结果如下所示:
- basic: {'conditions': [{'ipSubnetworks': ['8.8.0/24']}]} description: Level for corp access. name: accessPolicies/165717541651/accessLevels/corp_level title: Corp Level - basic: {'combiningFunction': 'OR', 'conditions': [{'ipSubnetworks': ['8.8.0/24']}]} description: Level for net access. name: accessPolicies/165717541651/accessLevels/net_level title: Net Level
JSON 输出如下所示:
[ { "basic": { "conditions": [ { "ipSubnetworks": [ "8.8.0/24" ] } ] }, "description": "Level for corp access.", "name": "accessPolicies/165717541651/accessLevels/corp_level", "title": "Corp Level" }, { "basic": { "combiningFunction": "OR", "conditions": [ { "ipSubnetworks": [ "8.8.0/24" ] } ] }, "description": "Level for net access.", "name": "accessPolicies/165717541651/accessLevels/net_level", "title": "Net Level" } ]
描述访问权限级别
控制台
使用 Google Cloud 控制台,请参阅 列出访问权限级别。列出访问权限级别时,出现的网格中会提供其详细信息。
gcloud
列出访问权限级别时,仅会显示其名称、标题和级别类型。要获取有关级别实际作用的详细信息,请使用 describe
命令。
gcloud access-context-manager levels describe LEVEL_NAME \ [--policy=POLICY_NAME]
其中:
LEVEL_NAME 是您要描述的访问权限级别名称。
POLICY_NAME 是您组织的访问权限政策名称。只有在未设置默认访问权限政策的情况下,才需要指定此值。
该命令将以 YAML 格式输出关于级别的信息。例如,如果级别限制仅某些操作系统版本可以访问,输出可能类似于以下内容:
basic: conditions: - devicePolicy: allowedEncryptionStatuses: - ENCRYPTED osConstraints: - minimumVersion: 10.13.6 osType: DESKTOP_MAC - minimumVersion: 10.0.18219 osType: DESKTOP_WINDOWS - minimumVersion: 68.0.3440 osType: DESKTOP_CHROME_OS requireScreenlock: true name: accessPolicies/330193482019/accessLevels/Device_Trust title: Device_Trust Extended
API
列出访问权限级别时,仅会显示级别的名称、标题和类型。
要获取有关访问权限级别的详细信息,请调用 accessLevels.get
。
GET https://accesscontextmanager.googleapis.com/v1alpha/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME
其中:
POLICY_NAME 是您组织的访问权限政策名称。
LEVEL_NAME 是您要描述的访问权限级别名称。
请求正文
请求正文必须为空。
可选参数
(可选)包括 accessLevelFormat
查询参数。一般来说,访问权限级别会以定义的方式返回,即作为 BasicLevel
或 CustomLevel
。
您可以为此参数指定值 CEL
,以采用 Cloud 通用表达式语言将 BasicLevels
作为 CustomLevels
返回。
响应正文
如果成功,调用的响应正文将包含一个 AccessLevel
资源,提供关于该访问权限级别的作用、该级别上次更新时间等详细信息。
更新访问权限级别
本部分介绍如何更新单个访问权限级别。要通过一项操作更新贵组织的所有访问权限级别,请参阅对访问权限级别进行批量更改。
控制台
要更新访问权限级别,请执行以下操作:
在 Google Cloud 控制台中打开 Access Context Manager 页面。
如果出现提示,请选择您的组织。
在网格中,点击您要更新的访问权限级别名称。
在修改访问权限级别窗格中,更改访问权限级别。
如需可添加或修改的属性完整列表,请参阅访问权限级别属性。
点击保存。
除了更新或移除任何现有条件外,您还可以添加新的条件,以及向现有条件添加新的属性。
gcloud
使用 update
命令更新访问权限级别。
基本访问权限级别:
gcloud access-context-manager levels update LEVEL_NAME \ --basic-level-spec=FILE \ [--policy=POLICY_NAME]
自定义访问权限级别:
gcloud access-context-manager levels update LEVEL_NAME \ --custom-level-spec=FILE \ [--policy=POLICY_NAME]
其中:
LEVEL_NAME 是您要更新的访问权限级别名称。
FILE 是.yaml 文件的名称,用于定义访问权限级别的条件(针对基本访问权限级别)或解析为单个布尔值的 CEL 表达式(针对自定义访问权限级别)。
如需了解可在基本访问权限级别条件中使用的属性完整列表,请参阅访问权限级别属性。
POLICY_NAME 是您组织的访问权限政策名称。只有在未设置默认访问权限政策的情况下,才需要指定此值。
您可以添加一个或多个以下选项。
选项 combine-function
此选项仅用于基本访问权限级别。
确定条件的合并方式。
有效值:
AND
、OR
description
访问权限级别的详细说明。
title
访问权限级别的简短标题。访问权限级别的标题 会显示在 Google Cloud 控制台中。
您可以添加任何在 gcloud 范围内适用的标志。
示例命令
gcloud access-context-manager levels update Device_Trust \ --basic-level-spec=corpdevspec.yaml \ --combine-function=OR \ --description='Access level that conforms to updated corporate spec.' \ --title='Device_Trust Extended' \ --policy=1034095178592
API
要更新访问权限级别,请调用 accessLevels.patch
。
PATCH https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME?updateMask=FIELDS
其中:
POLICY_NAME 是您组织的访问权限政策名称。
LEVEL_NAME 是您要描述的访问权限级别名称。
FIELDS 是您要更新的完全限定字段名称的逗号分隔列表。
请求正文
请求正文必须包含一个 AccessLevel
资源,用于指定您要对访问权限级别进行的更改。
响应正文
如果成功,调用的响应正文将包含一个 Operation
资源,提供关于修补操作的详细信息。
删除访问权限级别
Console
要删除访问权限级别,请执行以下操作:
在 Google Cloud 控制台中打开 Access Context Manager 页面
如果出现提示,请选择您的组织。
在网格中,针对您要删除的访问权限级别所对应行,点击
按钮。点击删除。
在出现的对话框中,确认您要删除访问权限级别。
gcloud
要删除访问权限级别,请执行以下操作:
使用
delete
命令来删除访问权限级别。gcloud access-context-manager levels delete LEVEL_NAME \ [--policy=POLICY_NAME]
其中:
LEVEL_NAME 是您要删除的访问权限级别名称。
POLICY_NAME 是您组织的访问权限政策名称。 只有在未设置默认访问权限政策的情况下,才需要指定此值。
确认您要删除访问权限级别。
例如:
You are about to delete level Device_Trust Do you want to continue (Y/n)?
You should see output similar to the following:
Waiting for operation [accessPolicies/330193482019/accessLevels/Device_Trust/delete/1531171874311645] to complete...done. Deleted level [Device_Trust].
API
要删除访问权限级别,请调用 accessLevels.delete
。
DELETE https://accesscontextmanager.googleapis.com/v1alpha/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME
其中:
POLICY_NAME 是您组织的访问权限政策名称。
LEVEL_NAME 是您要描述的访问权限级别名称。
请求正文
请求正文必须为空。
响应正文
如果成功,调用的响应正文将包含一个 Operation
资源,提供关于此删除操作的详细信息。