Codebeispiele für App-Richtlinien

Die folgenden Anfragen veranschaulichen die Richtlinienverwaltung mit der Policy API. Als Beispiel dienen Anwendungsrichtlinien. Bevor Sie beginnen, sollten Sie die Übersicht über die Chrome Policy API und die Anleitung für Richtlinienschemas lesen.

Bei allen unten aufgeführten Anfragen werden die folgenden Variablen verwendet:

  • $TOKEN – OAuth 2-Token
  • $CUSTOMER – ID des Kunden oder Literals my_customer

Installation einer App erzwingen

Die folgenden Beispiele beziehen sich auf eine Organisationseinheit. Eine Gruppenanfrage wäre dieselbe, mit Ausnahme der targetResource, deren ID "groups/" anstelle von "orgunits/" vor der ID steht.

Hier wird die Installation der Google Zeichnungen App erzwungen:

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
        requests: [{
                policyTargetKey: {
                        targetResource: "orgunits/04fatzly4jbjho9",
                        additionalTargetKeys: {"app_id": "chrome:mkaakpdehdafacodkgkpghoibnmamcme"}
                        },
                policyValue: {
                        policySchema: "chrome.users.apps.InstallType",
                        value: {appInstallType: "FORCED"}
                        },
                updateMask: {paths: "appInstallType"}
                }]
      }' \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/orgunits:batchModify"

Eine erfolgreiche Antwort sollte leer sein:

{}

Dieses Beispiel bezieht sich auf eine Nutzeranwendung. Eine Anfrage für eine verwaltete Gastsitzung wäre bis auf das Richtlinienschema chrome.devices.managedguest.apps.InstallType identisch. Die entsprechende Richtlinienanfrage für Kiosk-Apps sieht so aus:

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
        requests: [{
                policyTargetKey: {
                        targetResource: "orgunits/04fatzly4jbjho9",
                        additionalTargetKeys: {"app_id": "chrome:mkaakpdehdafacodkgkpghoibnmamcme"}
                        },
                policyValue: {
                        policySchema: "chrome.devices.kiosk.apps.ForceInstall",
                        value: {forceInstall: false}
                        },
                updateMask: {paths: "forceInstall"}
                }]
      }' \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/orgunits:batchModify"

Eine erfolgreiche Antwort sollte leer sein:

{}

Apps löschen

Eine Anwendung muss in der Organisationseinheit gelöscht werden, in der die Anwendung explizit zur Verwaltung hinzugefügt wurde. Beim Aufrufen von "Resolve" enthält das Feld addedSourceKey die Organisationseinheit, der es für die Verwaltung hinzugefügt wurde. Mit anderen Worten: delete sollte nur für Anwendungen aufgerufen werden, bei denen die Organisationseinheit in addedSourceKey der Organisationseinheit in policyTargetKey entspricht.

Wenn Sie eine Anwendung löschen (ausdrücklich aus der Verwaltung entfernen) möchten, müssen Sie eine batchInherit-Anfrage senden, in der policySchema das Schema für den jeweiligen Anwendungstyp ist und ein Sternchen (*) anstelle einer bestimmten Richtlinie eingefügt wird. In diesem Beispiel löschen wir die Google Zeichnungen-Anwendung, die in der Organisationseinheit "04fatzly4jbjho9" installiert ist:

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
        requests: [{
                policyTargetKey: {
                        targetResource: "orgunits/04fatzly4jbjho9",
                        additionalTargetKeys: {"app_id": "chrome:gbchcmhmhahfdphkhkmpfmihenigjmpp"}
                        },
                policySchema: "chrome.users.apps.*",
                }]
      }' \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/orgunits:batchInherit"

Eine erfolgreiche Antwort sollte leer sein:

{}

Anfragen zum Löschen von Kiosk-Apps und Apps für verwaltete Gastsitzungen verwenden das Schema chrome.devices.kiosk.apps.\* bzw. chrome.devices.managedguest.apps.\*.

App-Installationsrichtlinie für eine App in einer Organisationseinheit abrufen

Wenn Sie eine Richtlinie für eine bestimmte Anwendung abrufen möchten, müssen Sie in der Anfrage sowohl die Richtlinie als auch die App-ID angeben. In diesem Beispiel lesen wir den Wert der InstallType-Richtlinie für die Google Zeichnungen App:

Anfragen

  curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
        policyTargetKey: {
          targetResource: "orgunits/04fatzly4jbjho9",
          additionalTargetKeys: {"app_id": "chrome:mkaakpdehdafacodkgkpghoibnmamcme"}
        },
        policySchemaFilter: "chrome.users.apps.InstallType"
    }' \
  "https://chromepolicy.googleapis.com/v1/$CUSTOMER/C02l1chq7/policies:resolve"

Antwort

{
  "resolvedPolicies": [
    {
      "targetKey": {
        "targetResource": "orgunits/04fatzly4jbjho9",
        "additionalTargetKeys": {
          "app_id": "chrome:mkaakpdehdafacodkgkpghoibnmamcme"
        }
      },
      "value": {
        "policySchema": "chrome.users.apps.InstallType",
        "value": {
          "appInstallType": "FORCED"
        }
      },
      "sourceKey": {
        "targetResource": "orgunits/04fatzly4jbjho9"
      },
      "addedSourceKey": {
        "targetResource": "orgunits/04fatzly4jbjho9"
      }
    }
  ]
}

App-Installationsrichtlinie für alle Apps in einer Organisationseinheit abrufen

Wenn die App-ID in der Anfrage im vorherigen Beispiel weggelassen wird, wird sie zu einer Anfrage für den Wert der InstallType-Richtlinie für alle Apps in dieser OE.

Anfragen

  curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
        policyTargetKey: {
          targetResource: "orgunits/04fatzly4jbjho9",
        },
        policySchemaFilter: "chrome.users.apps.InstallType"
    }' \
  "https://chromepolicy.googleapis.com/v1/$CUSTOMER/C02l1chq7/policies:resolve"

Antwort

{
  "resolvedPolicies": [
    {
      "targetKey": {
        "targetResource": "orgunits/04fatzly4jbjho9",
        "additionalTargetKeys": {
          "app_id": "chrome:mkaakpdehdafacodkgkpghoibnmamcme"
        }
      },
      "value": {
        "policySchema": "chrome.users.apps.InstallType",
        "value": {
          "appInstallType": "FORCED"
        }
      },
      "sourceKey": {
        "targetResource": "orgunits/04fatzly4jbjho9"
      },
      "addedSourceKey": {
        "targetResource": "orgunits/04fatzly4jbjho9"
      }
    },
    {
      "targetKey": {
        "targetResource": "orgunits/04fatzly4jbjho9",
        "additionalTargetKeys": {
          "app_id": "chrome:fhcfdhnmhdkemdfdncjmgnanbekfmbab"
        }
      },
      "value": {
        "policySchema": "chrome.users.apps.InstallType",
        "value": {
          "appInstallType": "ALLOWED"
        }
      },
      "sourceKey": {
        "targetResource": "orgunits/04fatzly4jbjho9"
      },
      "addedSourceKey": {
        "targetResource": "orgunits/04fatzly4jbjho9"
      }
    },
    ...
  ]
}

Alle Richtlinien für eine App in einer Organisationseinheit auflisten

So wie Sie die Anwendungs-ID in der Anfrage weglassen können, um Richtlinien für alle Anwendungen abzurufen, können Sie auch alle Richtlinien für eine einzelne Anwendung abrufen, indem Sie in der Richtlinie einen Platzhalter verwenden. In diesem Beispiel werden die Werte aller Richtlinien für die Google Zeichnungen App abgerufen.

Anfragen

  curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
        policyTargetKey: {
          targetResource: "orgunits/04fatzly4jbjho9",
          additionalTargetKeys: {"app_id": "chrome:mkaakpdehdafacodkgkpghoibnmamcme"}
        },
        policySchemaFilter: "chrome.users.apps.*"
    }' \
  "https://chromepolicy.googleapis.com/v1/$CUSTOMER/C02l1chq7/policies:resolve"

Antwort

{
  "resolvedPolicies": [
    {
      "targetKey": {
        "targetResource": "orgunits/04fatzly4jbjho9",
        "additionalTargetKeys": {
          "app_id": "chrome:mkaakpdehdafacodkgkpghoibnmamcme"
        }
      },
      "value": {
        "policySchema": "chrome.users.apps.InstallType",
        "value": {
          "appInstallType": "FORCED"
        }
      },
      "sourceKey": {
        "targetResource": "orgunits/04fatzly4jbjho9"
      },
      "addedSourceKey": {
        "targetResource": "orgunits/04fatzly4jbjho9"
      }
    },
    {
      "targetKey": {
        "targetResource": "orgunits/04fatzly4jbjho9",
        "additionalTargetKeys": {
          "app_id": "chrome:mkaakpdehdafacodkgkpghoibnmamcme"
        }
      },
      "value": {
        "policySchema": "chrome.users.apps.IncludeInChromeWebStoreCollection",
        "value": {
          "includeInCollection": true
        }
      },
      "sourceKey": {
        "targetResource": "orgunits/04fatzly4jbjho9"
      },
      "addedSourceKey": {
        "targetResource": "orgunits/04fatzly4jbjho9"
      }
    },
    ...
  ]
}

Alle Richtlinien für alle Apps in einer Organisationseinheit auflisten

Die Anwendungs-ID kann weggelassen werden und in der Richtlinie kann ein Platzhalter verwendet werden, um alle Anwendungseinstellungen für alle Anwendungen in einer OE anzufordern.

Anfragen

  curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
        policyTargetKey: {
          targetResource: "orgunits/04fatzly4jbjho9"
        },
        policySchemaFilter: "chrome.users.apps.*"
    }' \
  "https://chromepolicy.googleapis.com/v1/$CUSTOMER/C02l1chq7/policies:resolve"

Antwort

{
  "resolvedPolicies": [
    {
      "targetKey": {
        "targetResource": "orgunits/04fatzly4jbjho9",
        "additionalTargetKeys": {
          "app_id": "chrome:mkaakpdehdafacodkgkpghoibnmamcme"
        }
      },
      "value": {
        "policySchema": "chrome.users.apps.InstallType",
        "value": {
          "appInstallType": "FORCED"
        }
      },
      "sourceKey": {
        "targetResource": "orgunits/04fatzly4jbjho9"
      },
      "addedSourceKey": {
        "targetResource": "orgunits/04fatzly4jbjho9"
      }
    },
    {
      "targetKey": {
        "targetResource": "orgunits/04fatzly4jbjho9",
        "additionalTargetKeys": {
          "app_id": "chrome:mkaakpdehdafacodkgkpghoibnmamcme"
        }
      },
      "value": {
        "policySchema": "chrome.users.apps.IncludeInChromeWebStoreCollection",
        "value": {
          "includeInCollection": true
        }
      },
      "sourceKey": {
        "targetResource": "orgunits/04fatzly4jbjho9"
      },
      "addedSourceKey": {
        "targetResource": "orgunits/04fatzly4jbjho9"
      }
    },
    {
      "targetKey": {
        "targetResource": "orgunits/04fatzly4jbjho9",
        "additionalTargetKeys": {
          "app_id": "chrome:fhcfdhnmhdkemdfdncjmgnanbekfmbab"
        }
      },
      "value": {
        "policySchema": "chrome.users.apps.InstallType",
        "value": {
          "appInstallType": "ALLOWED"
        }
      },
      "sourceKey": {
        "targetResource": "orgunits/04fatzly4jbjho9"
      },
      "addedSourceKey": {
        "targetResource": "orgunits/04fatzly4jbjho9"
      }
    },
    {
      "targetKey": {
        "targetResource": "orgunits/04fatzly4jbjho9",
        "additionalTargetKeys": {
          "app_id": "chrome:fhcfdhnmhdkemdfdncjmgnanbekfmbab"
        }
      },
      "value": {
        "policySchema": "chrome.users.apps.CertificateManagement",
        "value": {
          "allowAccessToKeys": true
        }
      },
      "sourceKey": {
        "targetResource": "orgunits/04fatzly4jbjho9"
      },
      "addedSourceKey": {
        "targetResource": "orgunits/04fatzly4jbjho9"
      }
    },
    ...
  ]
}

„AutoLaunchApp“ für die Kiosk-Apps-Konfiguration löschen

Zum Löschen der AutoLaunchApp kann die appId auf „None“ festgelegt werden.

Wenn Sie die appId auf "None" setzen, werden alle anderen AutoLaunchApp-Einstellungen auf ihre Standardwerte gesetzt. Alle AutoLaunchApp-Einstellungen außer der appId, die in der Anfrage gesendet werden, werden in diesem Fall ignoriert.

Anfragen

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
        requests: [{
                policyTargetKey: {
                        targetResource: "orgunits/04fatzly4jbjho9"
                        },
                policyValue: {
                        policySchema: "chrome.devices.kiosk.appsconfig.AutoLaunchApp",
                        value: {appId: "None"}
                        },
                updateMask: {paths: "appId"}
                }]
      }' \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/orgunits:batchModify"

Antwort

Eine erfolgreiche Antwort ist leer.

{}