Chrome ポリシーは、Schema Service API では「ポリシー スキーマ」という形式で表現されます。各ポリシー スキーマには識別するための一意の名前、設定フィールドとそのタイプの定義、人が読める英語で書かれた設定の説明があります。
たとえば、Chrome のシステムトレイにログアウト ボタンを許可する設定について考えてみましょう。
この設定の簡易表現
bool showLogoutButtonInTray
スキーマ サービスでの表現
{
"name": "customers/C0202nabg/policySchemas/chrome.users.ShowLogoutButton",
"policyDescription": "Show logout button in tray.", // description of the policy
"definition": { // definition of the settings (fields names and types)
"messageType": [
{
"name": "ShowLogoutButton",
"field": [
{
"name": "showLogoutButtonInTray", // the setting showLogoutButtonInTray
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_BOOL" // the setting showLogoutButtonInTray is of type boolean
}
]
}
]
},
"fieldDescriptions": [ // human readable descriptions of the settings and their values
{
"field": "showLogoutButtonInTray",
"knownValueDescriptions": [
{
"value": "true",
"description": "Show logout button in tray." // description for showLogoutButtonInTray=true
},
{
"value": "false",
"description": "Do not show logout button in tray." // description for showLogoutButtonInTray=false
}
]
}
],
"schemaName": "chrome.users.ShowLogoutButton" // unique name to identify the policy
}
スキーマの名前空間
スキーマの name
は、{namespace}.{leafName}
という形式の一意の識別子です。
上記の例では、chrome.users.ShowLogoutButton
が完全なスキーマ名です。
名前空間は chrome.users.
で、リーフ名は ShowLogoutButton
です。
類似のスコープのポリシーは、同じ名前空間にグループ化されます。たとえば、すべてのユーザー ポリシー スキーマは chrome.users.
名前空間で始まり、すべてのプリンタ ポリシー スキーマは chrome.printers.
名前空間で始まります。
名前空間 | キー | 必要な管理者権限 |
---|---|---|
chrome.users.LEAF_NAME |
[サービス] > [Chrome 管理] > [設定] > [ユーザー設定を管理] | |
chrome.users.apps.LEAF_NAME |
key=”app_id” |
[サービス] > [Chrome 管理] > [設定] > [ユーザー設定を管理] > [アプリケーション設定を管理] |
chrome.users.appsconfig.LEAF_NAME |
[サービス] > [Chrome 管理] > [設定] > [ユーザー設定を管理] > [アプリケーション設定を管理] | |
chrome.devices.LEAF_NAME |
[サービス] > [Chrome 管理] > [設定] > [ChromeOS デバイスの設定の管理] | |
chrome.devices.managedGuest.LEAF_NAME |
[サービス] > [Chrome 管理] > [設定] > [ChromeOS デバイスの設定の管理] | |
chrome.devices.managedGuest.apps.LEAF_NAME |
key=”app_id” |
[サービス] > [Chrome 管理] > [設定] > [ChromeOS デバイスの設定の管理] |
chrome.devices.kiosk.LEAF_NAME |
[サービス] > [Chrome 管理] > [設定] > [ChromeOS デバイスの設定の管理] | |
chrome.devices.kiosk.apps.LEAF_NAME |
key=”app_id” |
[サービス] > [Chrome 管理] > [設定] > [ChromeOS デバイスの設定の管理] |
chrome.devices.kiosk.appsconfig.LEAF_NAME |
key=”app_id” |
[サービス] > [Chrome 管理] > [設定] > [ChromeOS デバイスの設定の管理] |
chrome.printers.LEAF_NAME |
key=”printer_id” |
[サービス] > [Chrome 管理] > [設定] > [プリンタの管理] |
アプリポリシーのアプリ ID
上記の名前空間の一部はアプリポリシー用であり、適用先の組織部門 ID に加えて app_id が必要です。ユーザーアプリ、キオスクアプリ、管理対象ゲスト セッション アプリ、キオスクアプリ設定の各ポリシーはすべてこのようなポリシーです。
アプリ ID は、アプリタイプとアプリ ID を組み合わせて構成されます。例:
- 「chrome:mkaakpdehdafacodkgkpghoibnmamcme」 - 「Google 図形描画」Chrome アプリ
- 「android:com.google.android.calendar」 - 「Google カレンダー」Android アプリ
- 「web:https://canvas.apps.chrome」- 「キャンバス」ウェブアプリ
ポリシー スキーマ キー
一部のポリシーでは、追加のコンテキストを参照または変更する必要があります。たとえば、組織部門のプリンタ設定のポリシーを変更するには、プリンタを指定する必要があります。
これらのポリシー スキーマには、API リクエストに渡すキーと値を説明する additionalTargetKeyNames
セクションが含まれています。
詳細については、コードサンプルをご覧ください。
スキーマキーの例
{
"name": "customers/C0202nabg/policySchemas/chrome.printers.AllowForUsers",
"policyDescription": "Allows a printer for users in a given organization.",
"additionalTargetKeyNames": [
{
"key": "printer_id",
"keyDescription": "Id of printer as visible in Admin SDK printers API."
}
],
"definition": {
"messageType": [
{
"name": "AllowForUsers",
"field": [
{
"name": "allowForUsers",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_BOOL"
}
]
}
]
},
"fieldDescriptions": [
{
"field": "allowForUsers",
"description": "Controls whether a printer is allowed for users in a given organization."
}
],
"schemaName": "chrome.printers.AllowForUsers"
}
サポートされているポリシー スキーマを取得する
customers.policySchemas.list
メソッドの filter
パラメータを使用すると、サポートされているすべてのスキーマ(名前空間内のスキーマ)のリストを取得したり、特定のスキーマを直接名前で取得したりできます。filter
パラメータを省略すると、サポートされているすべてのスキーマが返されます。
詳細については、コードサンプルをご覧ください。
フィルタの構文
GLOBAL_STRING_LITERAL|name=PARTIAL_NAME_MATCH|description=PARTIAL_DESCRIPTION_MATCH|additional_target_keys:EXACT_KEY_MATCH_IN_COLLECTION
GLOBAL_STRING_LITERAL
: ポリシー スキーマの名前と説明の両方または一方に、指定された文字列が含まれている場合に一致します(部分一致)PARTIAL_NAME_MATCH
: ポリシー スキーマの名前に、指定された文字列が含まれている場合に一致します(部分一致)PARTIAL_DESCRIPTION_MATCH
: ポリシー スキーマの説明に、指定された文字列が含まれている場合に一致します(部分一致)EXACT_KEY_MATCH_IN_COLLECTION
: ポリシー スキーマの追加インデックス キーの中に、指定された文字列と完全に一致するキーがある場合に一致します
フィルタ値の例
URL エンコードされたフィルタ | リテラルのフィルタの値と説明 |
---|---|
filter=chrome%2Eprinters |
chrome.printers 「chrome.printers」名前空間でフィルタ |
filter=description%3Dcookies |
description=cookies 説明に「cookie」が含まれる条件のフィルタ |
filter=name%3Dprinters%20AND%20description%3Ddevices |
name=printers AND description=devices 名前に「printers」が含まれ、説明に「devices」が含まれる条件のフィルタ |
filter=(name%3Dblock%20OR%20name%3Dlist)%20AND%20NOT%20description%3Durl |
filter=(name=block OR name=list) AND NOT description=url 名前に「block」または「list」が含まれ、説明に「url」が含まれない条件のフィルタ |