建立自訂存取層級

建立自訂存取層級後,您可以以與基本存取層級相同的方式管理

如要進一步瞭解如何為自訂存取層級建立一般運算語言 (CEL) 運算式,請參閱自訂存取層級規格說明

主控台

如要建立自訂存取層級,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中開啟「Access Context Manager」頁面。

    開啟 Access Context Manager 頁面

  2. ���果系統提示您選取機構,請依提示選取您的機構。

  3. 按一下「Access Context Manager」頁面最上方的 [New] (新增)

  4. 在「New Access Level」(建立新的存取層級) 窗格中:

    1. 在「Access level title」(存取層級標題) 方塊中輸入存取層級的標題。標題長度不得超過 50 個字元,開頭必須是英文字母,且只能使用數字、英文字母、底線和空格。

    2. 在「Create Conditions in」下方,選取「Advanced Mode」

    3. 在「條件」部分中,輸入自訂存取層級的運算式。條件必須解析為單一布林值。

      如需一般運算語言 (CEL) 支援和自訂存取層級的範例和詳細資訊,請參閱「自訂存取層級規格」。

    4. 按一下 [儲存]

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 運算式的物件。完整的運算式必須解析為���林值。titledescription 為選用欄位。

範例

{
  "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
類型 字串
說明

必要欄位。

存取層級的資源名稱。POLICY_ID 是您機構的存取權政策以數字表示的名稱。SHORT_NAME 開頭必須是英文字母,且只能包含英文字母、數字和底線。

格式:

                accessPolicies/policy_id/accessLevels/short_name
                

title
類型 字串
說明

存取層級的使用者可解讀標籤。存取層級的名稱不得重複。

description
類型 字串
說明

存取層級的說明。

custom
類型 字串
說明

自訂存取層級的 CEL 運算式。完整的運算式必須解析為布林值。