建立自訂存取層級後,您可以以與基本存取層級相同的方式管理。
如要進一步瞭解如何為自訂存取層級建立一般運算語言 (CEL) 運算式,請參閱自訂存取層級規格說明。
主控台
如要建立自訂存取層級,請按照下列步驟操作:
在 Google Cloud 控制台中開啟「Access Context Manager」頁面。
���果系統提示您選取機構,請依提示選取您的機構。
按一下「Access Context Manager」頁面最上方的 [New] (新增)。
在「New Access Level」(建立新的存取層級) 窗格中:
在「Access level title」(存取層級標題) 方塊中輸入存取層級的標題。標題長度不得超過 50 個字元,開頭必須是英文字母,且只能使用數字、英文字母、底線和空格。
在「Create Conditions in」下方,選取「Advanced Mode」。
在「條件」部分中,輸入自訂存取層級的運算式。條件必須解析為單一布林值。
如需一般運算語言 (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
|
|