以下のリクエストは、Policy API を使用したポリシー管理を示しています。ご利用の前に Chrome Policy API の概要を をご覧ください。
以下に示すすべてのリクエストでは次の変数を使用します。
$TOKEN
- OAuth 2 トークン$CUSTOMER
- 顧客の ID またはリテラルmy_customer
プリンタ ポリシーのスキーマを一覧表示する
プリンタのポリシーにのみ関連するスキーマを一覧表示するには、filter
を適用します。
Schema Service の一覧表示リクエストに追加します。ページ分けは、
pageSize
パラメータと pageToken
パラメータを使用して結果を出力できます。
リクエストする
curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policySchemas?filter=chrome.printers&pageSize=2"
レスポンス
{
"policySchemas": [
{
"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"
},
{
"name": "customers/C0202nabg/policySchemas/chrome.printers.AllowForDevices",
"policyDescription": "Allows a printer for devices in a given organization.",
"additionalTargetKeyNames": [
{
"key": "printer_id",
"keyDescription": "Id of printer as visible in Admin SDK printers API."
}
],
"definition": {
"messageType": [
{
"name": "AllowForDevices",
"field": [
{
"name": "allowForDevices",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_BOOL"
}
]
}
]
},
"fieldDescriptions": [
{
"field": "allowForDevices",
"description": "Controls whether a printer is allowed for devices in a given organization."
}
],
"schemaName": "chrome.printers.AllowForDevices"
}
],
"nextPageToken": "AEbDN_obE8A98T8YhIeU9VCIZhEBylLBwZRQpGu_DUug-mU4bnzcDx30UnO2xMuuImvfVpmeuXRF6VhJ4OmZpZ4H6EaRvu2qMOPxVN_u"
}
スキーマを検索する
スキーマで filter=
パラメータを使用して複雑な検索クエリを作成できます。
サービスリスト リクエスト。たとえば、名前が「.」を含むスキーマを検索する場合は、
「printer」という単語を検索対象にします。適用可能な説明文に記載
次の値をフィルタ name=printers AND description=devices
に追加します。
ポリシー スキーマを一覧表示する方法を学習する。
リクエストする
curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policySchemas?filter=name=printers%20AND%20description=devices"
レスポンス
{
"policySchemas": [
{
"name": "customers/C0202nabg/policySchemas/chrome.printers.AllowForDevices",
"policyDescription": "Allows a printer for devices in a given organization.",
"additionalTargetKeyNames": [
{
"key": "printer_id",
"keyDescription": "Id of printer as visible in Admin SDK printers API."
}
],
"definition": {
"messageType": [
{
"name": "AllowForDevices",
"field": [
{
"name": "allowForDevices",
"number": 1,
"label": "LABEL_OPTIONAL",
"type": "TYPE_BOOL"
}
]
}
]
},
"fieldDescriptions": [
{
"field": "allowForDevices",
"description": "Controls whether a printer is allowed for devices in a given organization."
}
],
"schemaName": "chrome.printers.AllowForDevices"
}
]
}
特定のスキーマを取得する
上記の結果には、サポートされているポリシー スキーマのリストが表示されます。各スキーマには
スキーマを識別する name
フィールド。将来的には
特定のスキーマを直接読み取るには、
リクエスト URL のスキーマ名を指定します。
chrome.printers.AllowForUsers
スキーマの例を見てみましょう。
リクエストする
curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policySchemas/chrome.printers.AllowForUsers"
レスポンス
{
"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"
}
上記のポリシー スキーマ レスポンスは、アプリケーションの
chrome.printers.AllowForUsers
ポリシー:フィールド additionalTargetKeyNames
に注目してください。
このフィールドにより、ポリシーで追加の Key-Value の指定が必須になっていることがわかります。
注意する必要があります特に、このポリシーでは、常に
プリンタの ID を指定します。
ポリシーの値を読み取る
特定のプリンタのポリシー chrome.printers.AllowForUsers
を読み取ります。
リクエストでプリンタ ID を指定するためにフィールド additionalTargetKeys
を使用していることに注目してください。
ポリシーは組織部門またはグループから読み取ることができます。
レスポンスでは、sourceKey
フィールドに注目してください。
ポリシーの値の取得元である組織部門またはグループ。対象
次のような場合があります。
- 移行元の組織部門が この組織部門でポリシーがローカルに適用されています。
- 移行元の組織部門が 送信元の組織からポリシーが継承されていることを意味します。 単位。
sourceKey
が存在しない場合、またはレスポンスが空の場合は、ポリシーが 顧客に対して設定されておらず、デフォルトのシステム値になっています。
Google グループの場合、sourceKey は以前アクセスされていたグループと 必要があります。
次の例は、組織部門の場合です。グループ リクエストは targetResource だけは "groups/" です。、 「orgunits/」指定します。
リクエストする
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{
policyTargetKey: {
targetResource: "orgunits/04fatzly4jbjho9",
additionalTargetKeys: {"printer_id":"0gjdgxs208tpef"}
},
policySchemaFilter: "chrome.printers.AllowForDevices"
}' \
"https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies:resolve"
レスポンス
{
"resolvedPolicies": [
{
"targetKey": {
"targetResource": "orgunits/03ph8a2z1xdnme9"
"additionalTargetKeys": {"printer_id":"0gjdgxs208tpef"}
},
"value": {
"policySchema": "chrome.users.AllowForDevices",
"value": {
"allowForDevices": true
}
},
"sourceKey": {
"targetResource": "orgunits/03ph8a2z3qhz81k"
}
}
]
}
ターゲット リソース内のすべてのエンティティは、
リクエストからの additionalTargetKeys
。たとえば、additionalTargetKeys
の場合、
が省略されていると、
ターゲット リソースを指定します。
複数のポリシーを読み取る
スキーマの名前空間をアスタリスクで指定(例:chrome.printers.*
など)により、
特定の Namespace でこの名前空間の下にあるすべてのポリシーの値を
組織部門またはグループ。詳細:
ポリシー スキーマ。
次の例は、組織部門の場合です。グループ リクエストは targetResource だけは "groups/" です。、 「orgunits/」指定します。
リクエストする
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{
policyTargetKey: {
targetResource: "orgunits/04fatzly4jbjho9",
},
policySchemaFilter: "chrome.printers.*"
}' \
"https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies:resolve"
レスポンス
{
"resolvedPolicies": [
{
"targetKey": {
"targetResource": "orgunits/04fatzly4jbjho9",
"additionalTargetKeys": {
"printer_id": "0gjdgxs0xd59y1"
}
},
"value": {
"policySchema": "chrome.printers.AllowForUsers",
"value": {
"allowForUsers": false
}
}
},
{
"targetKey": {
"targetResource": "orgunits/04fatzly4jbjho9",
"additionalTargetKeys": {
"printer_id": "0gjdgxs0xd59y1"
}
},
"value": {
"policySchema": "chrome.printers.AllowForDevices",
"value": {
"allowForDevices": false
}
}
},
//...
],
"nextPageToken": "AEbDN_pFvDeGSbQDkvMxr4UA0Ew7UEUw8aJyw95VPs2en6YxMmFcWQ9OQQEIeSkjnWFCQNyz5GGoOKQGEd50e2z6WqvM2w7sQz6TMxVOBD_4NmEHRWtIJCYymeYXWHIrNH29Ezl1wkeyYBAOKnE="
}
ポリシーの値を変更
ポリシー スキーマのレスポンスに示されているように、ポリシー chrome.printers.AllowForUsers
allowForUsers
という名前のフィールドが 1 つあります。このフィールドはブール値型です。例
ポリシーの値は {allowForUsers: false}
または
{allowForUsers: true}
。このケースではフィールドが 1 つだけで、
他のポリシーには複数のフィールドを含めることができます。
変更リクエストでは、updateMask
を指定する必要があります。更新のマスクリスト:
変更するフィールドを指定します。ポリシーがローカルに適用されている場合は、
組織部門に適用した場合、更新マスクで一覧表示されないフィールドは
変更されることはありません。ポリシーがローカルに適用されていない場合は、
組織部門、および更新マスクで一覧表示されないすべてのフィールドは、
必要に応じて親組織部門から値をコピーする。
ポリシー全体がローカルで適用されます。
次の例は、組織部門の場合です。グループ リクエストは、
targetResource だけは "groups/" です。、
「orgunits/」指定します。ここでは、以下のユーザーに対してプリンタ 0gjdgxs208tpef
を禁止します。
組織部門 ID 04fatzly4jbjho9
のユーザー:
リクエストする
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{
requests: [{
policyTargetKey: {
targetResource: "orgunits/04fatzly4jbjho9",
additionalTargetKeys: {"printer_id":"0gjdgxs208tpef"}
},
policyValue: {
policySchema: "chrome.printers.AllowForUsers",
value: {allowForUsers: false}
},
updateMask: {paths: "allowForUsers"}
}]
}' \
"https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/orgunits:batchModify"
レスポンス
正常なレスポンスは空です。
{}
リストや配列など、複数の値のフィールドに「LABEL_REPEATED」のマークが付きます
ラベルです。複数値フィールドにデータを入力するには、次の JSON 配列形式を使用します。
[value1, value2, value3, ...]
。
たとえば、アプリと拡張機能パッケージのソース URL を "test1.com"、"test2.com"次のリクエストを送信する必要があります。
リクエストする
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d "{
requests: [
{
policy_target_key: {
target_resource: 'orgunits/03ph8a2z28rz85a'
},
updateMask: {
paths: ['extensionInstallSources']
},
policy_value: {
policy_schema: 'chrome.users.appsconfig.AppExtensionInstallSources',
value: {
extensionInstallSources: ['test1.com', 'test2.com', 'test3.com']
}
}
}
]
}" \
"https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/orgunits:batchModify"
レスポンス
正常なレスポンスは空です。
{}
NullableDuration フィールドを含むすべてのポリシーには、2 つのバージョンがあります。 元のバージョンでは NullableDuration の入力として文字列のみを受け入れ、 非推奨です。期間タイプを できます。たとえば、ユーザー セッションの最大時間を 10 分に設定するには、次のようにします。 次のリクエストを送信する必要があります。
リクエストする
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d "{
requests: [
{
policy_target_key: {
target_resource: 'orgunits/03ph8a2z28rz85a'
},
updateMask: {
paths: ['sessionDurationLimit']
},
policy_value: {
policy_schema: 'chrome.users.SessionLengthV2',
value: {
sessionDurationLimit: {
duration: 10
}
}
}
}
]
}" \
"https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/orgunits:batchModify"
レスポンス
正常なレスポンスは空です。
{}
複数のポリシーを一度に変更する
batchModify
メソッドを使用すると、複数のポリシー変更を同時に送信できます。
ただし、すべてのポリシーをバッチ処理できるわけではありません。詳しくは
バッチ アップデートのポリシーをご覧ください。
この例では、同じリクエストで 2 つの異なるリクエストを変更します。
ポリシー(chrome.printers.AllowForDevices
、chrome.printers.AllowForUsers
)
コピーします。
次の例は、組織部門の場合です。グループ リクエストは targetResource だけは "groups/" です。、 「orgunits/」指定します。
リクエストする
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{
requests: [{
policyTargetKey: {
targetResource: "orgunits/04fatzly4jbjho9",
additionalTargetKeys: {"printer_id":"0gjdgxs208tpef"}
},
policyValue: {
policySchema: "chrome.printers.AllowForDevices",
value: {allowForDevices: true}
},
updateMask: {paths: "allowForDevices"}
},
{
policyTargetKey: {
targetResource: "orgunits/04fatzly4jbjho9",
additionalTargetKeys: {"printer_id":"0gjdgxs208tpef"}
},
policyValue: {
policySchema: "chrome.printers.AllowForUsers",
value: {allowForUsers: true}
},
updateMask: {paths: "allowForUsers"}
}]
}' \
"https://chromepolicy.googleapis.com/v1/customers/C0202nabg/policies/orgunits:batchModify"
レスポンス
正常なレスポンスは空です。
{}
組織部門のポリシー値を継承する
batchInherit
メソッドを使用すると、組織部門のポリシーのステータスを
「ローカルで適用」継承されます。ローカル値はクリアされ、ポリシーは
親組織部門から値を継承します(該当する場合)。
batchInherit
メソッドを使用すると、複数のポリシー継承を送信して、
同時に使用できます。ただし、すべてのポリシーをバッチ処理できるわけではありません。
詳しくは
バッチ アップデートのポリシーをご覧ください。
リクエストする
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{
requests: [{
policyTargetKey: {
targetResource: "orgunits/04fatzly12wd3ox",
additionalTargetKeys: {"printer_id":"0gjdgxs208tpef"}
},
policySchema: "chrome.printers.AllowForUsers"
}]
}' \
"https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/orgunits:batchInherit"
レスポンス
正常なレスポンスは空です。
{}
グループ内のポリシー値を削除する
batchDelete
メソッドを使用すると、グループからポリシーを削除できます。ローカル値は消去されます。
batchDelete
メソッドを使用すると、複数のポリシー削除通知を送信できます。
同時に使用できます。ただし、すべてのポリシーをバッチ処理できるわけではありません。
詳しくは、
バッチ アップデートのポリシー。
リクエストする
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{
requests: [{
policyTargetKey: {
targetResource: "groups/04fatzly12wd3ox",
additionalTargetKeys: {"printer_id":"0gjdgxs208tpef"}
},
policySchema: "chrome.printers.AllowForUsers"
}]
}' \
"https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/groups:batchDelete"
レスポンス
正常なレスポンスは空です。
{}
グループの優先順位を一覧表示する
listGroupPriorityOrdering
メソッドを使用すると、アプリのグループの優先順位をリストできます。
返されるグループ ID の順序によって、 その設定がアプリに適用されます。後の IDポリシーは ID がリスト内の前にあるポリシーでオーバーライドされます。
グループの優先度は、組織部門の優先度よりも高いことに注意してください。
このリクエストでは、「exampleapp」の優先順位が返されます。 Chrome ユーザーアプリ。
リクエストする
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{
policyTargetKey: {
additionalTargetKeys: {"app_id":"chrome:exampleapp"}
},
policyNamespace: 'chrome.users.apps'
}' \
"https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/groups:listGroupPriorityOrdering"
レスポンス
{
"policyTargetKey": {
"additionalTargetKeys": {
"app_id": "chrome:exampleapp"
}
},
"policyNamespace": "chrome.users.apps",
"groupIds": [
"03ep43zb2k1nodu",
"01t3h5sf2k52kol",
"03q5sasy2ihwnlz"
]
}
グループの優先順位を更新する
updateGroupPriorityOrdering
メソッドを使用すると、アプリのグループの優先順位を更新できます。
リクエストに含まれるグループ ID の順序は、 その設定がアプリに適用されます。後の IDポリシーは ID がリスト内の前にあるポリシーでオーバーライドされます。リクエストは アプリに現在適用されているすべてのグループ ID が含まれます。
グループの優先度は、組織部門の優先度よりも高いことに注意してください。
このリクエストでは、「exampleapp」の優先順位を設定しています。 Chrome ユーザーアプリ。
リクエストする
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{
policyTargetKey: {
additionalTargetKeys: {"app_id":"chrome:exampleapp"}
},
policyNamespace: 'chrome.users.apps',
groupIds: ['03ep43zb2k1nodu', '01t3h5sf2k52kol', '03q5sasy2ihwnlz']
}' \
"https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/groups:updateGroupPriorityOrdering"
レスポンス
正常なレスポンスは空です。
{}
確認が必要なポリシーの処理
一部のポリシー スキーマで「notices」が特定のフィールドの特定の値だけを 確認する必要があります
ポリシー chrome.users.PluginVmAllowd
の例:
{
"name": "customers/C0202nabg/policySchemas/chrome.users.PluginVmAllowed",
"policyDescription": "Parallels Desktop.",
# ...
"fieldDescriptions": [
{
"field": "pluginVmAllowed",
"description": "N/A",
"knownValueDescriptions": [
{
"value": "true",
"description": "Allow users to use Parallels Desktop."
},
{
"value": "false",
"description": "Do not allow users to use Parallels Desktop."
}
]
},
{
"field": "ackNoticeForPluginVmAllowedSetToTrue",
"description": "This field must be set to true to acknowledge the notice message associated with the field 'plugin_vm_allowed' set to value 'true'. Please see the notices listed with this policy for more information."
}
],
"notices": [
{
"field": "pluginVmAllowed",
"noticeValue": "true",
"noticeMessage": "By enabling Parallels Desktop, you agree to the Parallels End-User License Agreement specified at https://www.parallels.com/about/legal/eula/. Warning: Device identifiers may be shared with Parallels. Please see privacy policy for more details at https://www.parallels.com/about/legal/privacy/. The minimum recommended configuration includes an i5 processor, 16 GB RAM, and 128 GB storage: https://support.google.com/chrome/a/answer/10044480.",
"acknowledgementRequired": true
}
],
"supportUri": "...",
"schemaName": "chrome.users.PluginVmAllowed"
}
上記の例では、フィールド pluginVmAllowed
の値を true
に設定すると、次のようになります。
acknowledgementRequired
の通知に関連付けられている。適切な
このフィールドの値を true
に設定した場合は、
確認フィールド ackNoticeForPluginVmAllowedSetToTrue
を true
に送信し、
そうしないと、リクエストでエラーが発生します。
この例では、次の一括変更リクエストを送信する必要があります。
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d "{
'requests': [
{
'policyTargetKey': {
'targetResource': 'orgunits/03ph8a2z10ybbh2'
},
'policyValue': {
'policySchema': 'chrome.users.PluginVmAllowed',
'value': {
'pluginVmAllowed': true,
'ackNoticeForPluginVmAllowedSetToTrue': true
}
},
'updateMask': {
'paths': [
'pluginVmAllowed',
'ackNoticeForPluginVmAllowedSetToTrue'
]
}
}
]
}" \
"https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/orgunits:batchModify"
ファイル ポリシーの設定
一部のポリシーでフィールドのタイプが UploadedFile
になっている場合は、
構成ファイルを API サーバーに送信し、ポリシーの
BatchModify
リクエストで使用する URL を取得します。
この例では、ファイルをアップロードして chrome.users.Wallpaper
を設定します。
JPEG ファイル。
ファイルのアップロード
リクエストする
curl -X POST \
-H "Content-Type: image/jpeg" \
-H "Authorization: Bearer $TOKEN" \
-T "/path/to/the/file" \
"https://chromepolicy.googleapis.com/upload/v1/customers/$CUSTOMER/policies/files:uploadPolicyFile?policy_field=chrome.users.Wallpaper.wallpaperImage"
レスポンス
成功した場合、レスポンスにはファイルにアクセスするための URL が含まれます。
{
"downloadUri": "https://storage.googleapis.com/chromeos-mgmt/0gjdgxs370bkl6/ChromeOsWallpaper/32ac50ab-b5ae-4bba-afa8-b6b443912897"
}
ファイル ポリシーを設定する
リクエストする
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{
requests: [{
policyTargetKey: {
targetResource: "orgunits/04fatzly4jbjho9",
},
policyValue: {
policySchema: "chrome.users.Wallpaper",
value: {
wallpaperImage: {downloadUri: "https://storage.googleapis.com/chromeos-mgmt/0gjdgxs370bkl6/ChromeOsWallpaper/32ac50ab-b5ae-4bba-afa8-b6b443912897"}
}
},
updateMask: {paths: "wallpaperImage"}
}]
}' \
"https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/orgunits:batchModify"
レスポンス
正常なレスポンスは空になります。
{}