建立自訂存取層級

建立自訂存取層級後,可以比照基本存取層級進行管理

如要進一步瞭解如何為自訂存取層級建立一般運算語言 (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. 按照「建立條件」的步驟操作,然後選取「進階模式」

    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-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 運算式的物件。完整運算式必須解析為布林值。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
類型 string
說明

必要元素。

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

格式:

                accessPolicies/policy_id/accessLevels/short_name
                

title
類型 string
說明

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

description
類型 string
說明

存取層級的說明。

custom
類型 string
說明

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