作成したカスタム アクセスレベルは、ベーシック アクセスレベルと同じ方法で管理できます。
カスタム アクセスレベルの Common Expression Language(CEL)式のビルドに関する詳細については、カスタム アクセスレベルの仕様をご覧ください。
Console
カスタム アクセスレベルを作成するには、次のようにします。
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
|
|