Chrome ポリシーは、Schema Service API によってポリシー スキーマとして表現されます。各ポリシー スキーマには識別するための一意の名前、設定フィールドとそのタイプの定義、人が読める英語で書かれた設定の説明があります。
たとえば、以下は、Chrome のシステムトレイにログアウト ボタンを表示できるようにする設定を Schema Service API で表したものです。この設定の簡易表現は bool showLogoutButtonInTray
です。下の [例を表示] をクリックして、Schema Service API がこの設定をどのように表しているかを確認します。
例を表示
{ "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 |
[サービス] > [Chrome 管理] > [設定] > [ChromeOS デバイスの設定の管理] | |
chrome.printers.LEAF_NAME |
key="printer_id" |
[サービス] > [Chrome 管理] > [設定] > [プリンタの管理] |
chrome.printservers.LEAF_NAME |
key="print_server_id" |
[サービス] > [Chrome 管理] > [設定] > [プリンタの管理] |
chrome.networks.globalsettings.LEAF_NAME |
[サービス] > [共有デバイスの設定] | |
chrome.networks.wifi.LEAF_NAME |
key="network_id" |
[サービス] > [共有デバイスの設定] |
chrome.networks.ethernet.LEAF_NAME |
key="network_id" |
[サービス] > [共有デバイスの設定] |
chrome.networks.vpn.LEAF_NAME |
key="network_id" |
[サービス] > [共有デバイスの設定] |
chrome.networks.certificates.LEAF_NAME |
key="network_id" |
[サービス] > [共有デバイスの設定] |
ポリシー スキーマ キー
一部のポリシーでは、追加のコンテキストを参照または変更する必要があります。次に例を示します。
- アプリケーションのポリシーを変更するには、
key="app_id"
に入力して、どのアプリケーションを変更するかを指定する必要があります。 - 組織部門のプリンタ設定のポリシーを変更するには、
key="printer_id"
に入力してプリンタを指定する必要があります。
これらのポリシー スキーマには、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" }
アプリポリシー
上記の名前空間の一部は、ユーザーアプリ、キオスクアプリ、管理対象ゲスト セッション アプリ、キオスクアプリ設定などのアプリポリシー用です。アプリ ポリシーには app_id
が必要です。
app_id
は、アプリタイプとアプリ ID を組み合わせて構成されます。次に例を示します。
chrome:mkaakpdehdafacodkgkpghoibnmamcme
は「Google 図形描画」Chrome アプリを表します。android:com.google.android.calendar
は「Google カレンダー」Android アプリを表しますweb:https://canvas.apps.chrome
は「キャンバス」ウェブアプリを表します。
複数値フィールド
LABEL_REPEATED
ラベルのフィールドは、リストや配列などの複数値フィールドを表します。これらのフィールドには複数の値を指定できます。詳細については、コードサンプルをご覧ください。
ポリシー スキーマのステータス
すべてのポリシーには、現在のステータスを示す policyApiLifecycle
オブジェクトがあります。このオブジェクトには、ポリシーのステータスの詳細を含む次のフィールドが含まれます。
policyApiLifecycleStage
フィールドには、次の表のどのステージがポリシーの現在のステータスに最もよく当てはまるかが示されます。description
フィールドには、このポリシーの現在のステータスの詳細が表示されます。endSupport
フィールドには、ポリシーの最終サポート日(定義されている場合)が表示されます。deprecatedInFavorOf
は、policyApiLifecycleStage が API_DEPRECATED の場合にのみ設定できます。現在のポリシーが非推奨になり、代わりに使用される新しいポリシーの完全修飾名前空間が表示されます。scheduledToDeprecatePolicies
フィールドは deprecatedInFavorOf に対応しています。このポリシーの導入により非推奨となる古いポリシーの完全修飾名前空間が表示されます。
ライフサイクル ステージ
ステージ | 説明 |
---|---|
API_UNSPECIFIED |
ポリシーの現在のステータスは不明です。予約済み。使用しないでください。 |
API_PREVIEW |
ポリシーはまだ機能していません。このステージは API_CURRENT または API_DEVELOPMENT に転送できます。 |
API_DEVELOPMENT |
ポリシーは未確定であり、互換性を破る変更が導入される可能性があります。このステージは API_CURRENT または API_DEPRECATED に転送できます。 |
API_CURRENT |
ポリシーは公式の形式ですが、互換性のない変更が加えられる場合があります。このステージは API_DEPRECATED に転送できます。 |
API_DEPRECATED |
このポリシーはサポートが終了しており、今後削除される可能性があります。管理者は、このポリシーの使用を停止する必要があります。 |
例を表示
{ "name": "customers/C0202nabg/policySchemas/chrome.users.OutdatedPolicy", "policyDescription": "Just for demo, this is an outdated policy.", "definition": { "messageType": [ { "name": "OutdatedPolicy", "field": [ { "name": "outdatedField", "number": 1, "label": "LABEL_OPTIONAL", "type": "TYPE_BOOL" } ] } ] }, "fieldDescriptions": [ { "field": "outdatedField", "description": "This is an outdated field" } ], "schemaName": "chrome.users.OutdatedPolicy", "policyApiLifecycle": { // policy's current lifecycle status "policyApiLifecycleStage": "API_DEPRECATED", "description": "This policy is deprecated. Please stop using it", "endSupport": { "year": 2021, "month": 2, "day": 29 } "deprecatedInFavorOf": "chrome.users.NewPolicy" } } { "name": "customers/C0202nabg/policySchemas/chrome.users.NewPolicy", "policyDescription": "Just for demo, this is a new policy.", "definition": { "messageType": [ { "name": "NewPolicy", "field": [ { "name": "newField", "number": 1, "label": "LABEL_OPTIONAL", "type": "TYPE_BOOL" } ] } ] }, "fieldDescriptions": [ { "field": "newField", "description": "This is an new field" } ], "schemaName": "chrome.users.NewPolicy", "policyApiLifecycle": { // policy's current lifecycle status "policyApiLifecycleStage": "API_CURRENT, "scheduledToDeprecatePolicies": "chrome.users.OutdatedPolicy" } }
ポリシー スキーマに関するお知らせ
一部のポリシーでは、特定ポリシー フィールドの特定値に対して acknowledgement_required
が true
に設定されている notices
が関連付けられています。これらのポリシーで値を設定するには、特別な確認フィールドを true
に設定する必要があります。
詳細については、コードサンプルをご覧ください。
対応プラットフォーム
supportedPlatforms
は、ポリシーがこれらのプラットフォームのデバイスまたはユーザーにのみ適用されることを示すリストです。サポートされているすべてのプラットフォームを次の表に示します。
対応プラットフォーム
プラットフォーム | 説明 |
---|---|
PLATFORM_UNSPECIFIED |
プラットフォームが指定されていません。予約済み。使用しないでください。 |
CHROME_OS |
ChromeOS |
CHROME_BROWSER |
macOS/Windows/Linux 版 Chrome ブラウザ |
CHROME_BROWSER_FOR_ANDROID |
Android 版 Chrome ブラウザ |
CHROME_BROWSER_FOR_IOS |
iOS 版 Chrome ブラウザ |