建立自訂存取層級後,可以比照基本存取層級進行管理。
如要進一步瞭解如何為自訂存取層級建立一般運算語言 (CEL) 運算式,請參閱自訂存取層級詳細說明。
主控台
如要建立自訂存取層級,請按照下列步驟操作:
在 Google Cloud 控制台中開啟「Access Context Manager」頁面。
如果系統提示您選取機構,請依提示選取您的機構。
按一下「Access Context Manager」頁面最上方的 [New] (新增)。
在「New Access Level」(建立新的存取層級) 窗格中:
在「Access level title」(存取層級標題) 方塊中輸入存取層級的標題。 標題不得超過 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
-wide 標記。
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
|
|