作成したカスタム アクセスレベルは、ベーシック アクセスレベルと同じ方法で管理できます。
カスタム アクセスレベルの Common Expression Language(CEL)式のビルドに関する詳細については、カスタム アクセスレベルの仕様をご覧ください。
コンソール
カスタム アクセスレベルを作成するには、次のようにします。
- Google Cloud コンソールで [Access Context Manager] ページを開きます。 
- プロンプトが表示されたら、組織を選択します。 
- [Access Context Manager] ページの上部にある [新規] をクリックします。 
- [新しいアクセスレベル] パネルで、次の操作を行います。 - [アクセスレベルのタイトル] ボックスに、アクセスレベルのタイトルを入力します。タイトルは最大 50 文字です。先頭は英字にしてください。その後には、数字、英字、アンダースコア、スペースのみ使用できます。 
- [条件の作成] で、[詳細モード] を選択します。 
- [条件] セクションで、カスタム アクセスレベルの式を入力します。条件は、1 つのブール値に解決される必要があります。 - Common Expression Language(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は、 - 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 | 
 | ||||
| title | 
 | ||||
| description | 
 | ||||
| custom | 
 | ||||