カスタム アクセスレベルの作成

作成したカスタム アクセスレベルは、ベーシック アクセスレベルと同じ方法で管理できます。

カスタム アクセスレベルの Common Expression Language(CEL)式のビルドに関する詳細については、カスタム アクセスレベルの仕様をご覧ください。

Console

カスタム アクセスレベルを作成するには、次のようにします。

  1. Google Cloud コンソールで [Access Context Manager] ページを開きます。

    [Access Context Manager] ページを開く

  2. プロンプトが表示されたら、組織を選択します。

  3. [Access Context Manager] ページの上部にある [新規] をクリックします。

  4. [新しいアクセスレベル] パネルで、次の操作を行います。

    1. [アクセスレベルのタイトル] ボックスに、アクセスレベルのタイトルを入力します。タイトルは最大 50 文字です。先頭は英字にしてください。その後には、数字、英字、アンダースコア、スペースのみ使用できます。

    2. [条件の作成] で、[詳細モード] を選択します。

    3. [条件] セクションで、カスタム アクセスレベルの式を入力します。条件は、1 つのブール値に解決される必要があります。

      Common Expression Language(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は、expression: "CEL_EXPRESSION" という形式の単一の Key-Value ペアである CEL 式を含む .yaml ファイルです。

    Common Expression Language(CEL)のサポートとカスタム アクセスレベルの例と詳細については、カスタム アクセスレベルの仕様をご覧ください。

  • DESCRIPTION(省略可)は、人が読めるアクセスレベルの説明です。

  • POLICY_NAME は組織のアクセス ポリシーの数値名です。

必要に応じて、gcloud の各フラグを含めることもできます。

custom-level-spec YAML ファイル

gcloud コマンドライン ツールを使用してカスタム アクセスレベルを作成する場合は、custom-level-spec オプションに .yaml ファイルを指定する必要があります。.yaml ファイルで、単一のブール値に解決される CEL 式を定義します。.yaml ファイルには、expression: "CEL_EXPRESSION" という形式の Key-Value ペアを 1 つ配置する必要があります。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
文字列
説明

必須。

アクセスレベルのリソース名。POLICY_ID は組織のアクセス ポリシーの数値名です。SHORT_NAME は文字で始まり、文字、数字、アンダースコア以外を含まないようにする必要があります。

形式:

                accessPolicies/policy_id/accessLevels/short_name
                

title
文字列
説明

人が読める形式のアクセスレベルのラベル。アクセスレベルには一意の名前を付ける必要があります。

description
文字列
説明

アクセスレベルの説明。

custom
文字列
説明

カスタム アクセスレベルの CEL 式。式全体は、ブール値に決まる必要があります。