Przykładowy kod dla zasad aplikacji

Poniższe żądania ilustrują zarządzanie zasadami za pomocą interfejsu Policy API za pomocą zasad aplikacji. Zanim zaczniesz, zapoznaj się z Omówienie Chrome Policy API oraz Przewodnik po schematach zasad.

Wszystkie przedstawione poniżej żądania używają następujących zmiennych:

  • $TOKEN – token OAuth 2
  • $CUSTOMER – identyfikator klienta lub literału my_customer.

Wymuszanie instalacji aplikacji

Poniższe przykłady dotyczą jednostki organizacyjnej. Żądanie grupy wyglądałoby tak taki sam oprócz zasobu targetResource, który ma parametr „groups/” zamiast „jednostki organizacyjne/” przed identyfikatorem.

W tym miejscu ustawiamy wymuszanie instalacji aplikacji Rysunki Google:

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"

Pomyślna odpowiedź powinna być pusta:

{}

Ten przykład dotyczy aplikacji użytkownika. Żądanie zarządzanej sesji gościa wyglądałoby tak identyczna z wyjątkiem tego, że schemat zasad byłby taki sam chrome.devices.managedguest.apps.InstallType Odpowiednik zasady aplikacji kiosku żądanie wygląda tak:

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"

Pomyślna odpowiedź powinna być pusta:

{}

Usuwanie aplikacji

Aplikację można usunąć tylko w jednostce organizacyjnej, w której została ona dodane do zarządzania. Podczas wywoływania funkcji Rozwiąż pole, Pole addedSourceKey zawiera jednostkę organizacyjną, w której został dodany dla i zarządzania nimi. Inaczej mówiąc, pole delete powinno być wywoływane tylko w przypadku aplikacji, w których Jednostka organizacyjna w domenie addedSourceKey jest równa policyTargetKey

Aby usunąć aplikację (jednoznacznie usunąć ją z zarządzania), musisz wysłać żądanie batchInherit, w którym policySchema jest schematem danego argumentu typu aplikacji. Aby wskazać konkretną zasadę, użyj gwiazdki (*). W tym przykładzie usuwamy aplikację Rysunki Google, która jest zainstalowana „04fatzly4jbjho9” Jednostka organizacyjna:

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"

Pomyślna odpowiedź powinna być pusta:

{}

Prośby o usunięcie aplikacji kiosku i aplikacji zarządzanej sesji gościa będą używać polecenia chrome.devices.kiosk.apps.\* i chrome.devices.managedguest.apps.\* schematy.

Pobieranie zasad instalowania aplikacji dla aplikacji w jednostce organizacyjnej

Aby uzyskać zasadę dla konkretnej aplikacji, musisz określić zarówno zasadę, jak i identyfikator aplikacji do danego wniosku. W tym przykładzie odczytujemy wartość parametru InstallType zasady dotyczące aplikacji Rysunki Google:

Żądanie

  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"

Odpowiedź

{
  "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"
      }
    }
  ]
}

Pobieranie zasad instalowania aplikacji dla wszystkich aplikacji w jednostce organizacyjnej

Jeśli w żądaniu w poprzednim przykładzie pominiesz identyfikator aplikacji, stają się żądaniem wartości zasady InstallType dla wszystkich aplikacji tej jednostki organizacyjnej.

Żądanie

  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"

Odpowiedź

{
  "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"
      }
    },
    ...
  ]
}

Wyświetlanie wszystkich zasad dotyczących aplikacji w jednostce organizacyjnej

Tak samo jak możesz pominąć identyfikator aplikacji w żądaniu, by pobrać zasady dla wszystkich możesz też wyświetlić wszystkie zasady dla każdej z nich, używając symbolu wieloznacznego w . W tym przykładzie uzyskujemy wartości wszystkich zasad z kolumny Aplikacja Rysunki Google.

Żądanie

  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"

Odpowiedź

{
  "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"
      }
    },
    ...
  ]
}

Wyświetlanie listy wszystkich zasad dotyczących wszystkich aplikacji w jednostce organizacyjnej

Identyfikator aplikacji można pominąć, a w zasadzie można użyć symbolu wieloznacznego, aby: wysyłania żądań o wszystkie ustawienia aplikacji dla wszystkich aplikacji w jednostce organizacyjnej.

Żądanie

  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"

Odpowiedź

{
  "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"
      }
    },
    ...
  ]
}

Czyszczenie pola AutoLaunchApp w konfiguracji aplikacji kiosku

Aby wyczyścić AutoLaunchApp, identyfikator appId możesz ustawić na „None” (Brak).

Pamiętaj, że po ustawieniu identyfikatora appId na „Brak” wszystkie pozostałe ustawienia AutoLaunchApp zostaną ustawione na wartości domyślne. Wszystkie ustawienia AutoLaunchApp oprócz W tym przypadku identyfikator appId wysłany w żądaniu zostanie zignorowany.

Żądanie

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"

Odpowiedź

Pomyślna odpowiedź jest pusta.

{}