Schematy zasad

Zasady Chrome są reprezentowane przez interfejs Schema Service API jako schematy zasad. Każdy schemat zasad ma unikalną nazwę, która umożliwia jego identyfikację, definicję pól ustawień i ich typów oraz zrozumiały dla człowieka opis ustawień w języku angielskim.

Poniżej znajdziesz przykład ustawienia interfejsu Schema Service API, które umożliwia wyświetlenie przycisku wylogowania w obszarze powiadomień Chrome. Uproszczone przedstawienie tego ustawienia to bool showLogoutButtonInTray. Kliknij „Pokaż przykład” poniżej, aby zobaczyć, jak interfejs Schema Service API reprezentuje to ustawienie.

Pokaż przykład

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

Nazwy schematów zasad

name schematu to jego unikalny identyfikator w takim formacie: {namespace}.{leafName}.

W powyższym przykładzie pełna nazwa schematu to chrome.users.ShowLogoutButton. Przestrzeń nazw to chrome.users., a nazwa liścia to ShowLogoutButton.

Zasady o podobnym zakresie są zgrupowane w tej samej przestrzeni nazw. Na przykład wszystkie schematy zasad dotyczących użytkowników są poprzedzone przestrzenią nazw chrome.users., a wszystkie schematy zasad drukowania – z przestrzenią nazw chrome.printers..

Przestrzenie nazw

Przestrzeń nazw Klucz Wymagane uprawnienia roli administratora
chrome.users.LEAF_NAME   Usługi > Zarządzanie urządzeniami z Chrome > Ustawienia > Zarządzaj ustawieniami użytkowników
chrome.users.apps.LEAF_NAME key="app_id" Usługi > Zarządzanie urządzeniami z Chrome > Ustawienia > Zarządzaj ustawieniami użytkowników > Zarządzaj ustawieniami aplikacji
chrome.users.appsconfig.LEAF_NAME   Usługi > Zarządzanie urządzeniami z Chrome > Ustawienia > Zarządzaj ustawieniami użytkowników > Zarządzaj ustawieniami aplikacji
chrome.devices.LEAF_NAME   Usługi > Zarządzanie urządzeniami z Chrome > Ustawienia > Zarządzanie ustawieniami urządzeń z ChromeOS
chrome.devices.managedguest.LEAF_NAME   Usługi > Zarządzanie urządzeniami z Chrome > Ustawienia > Zarządzanie ustawieniami urządzeń z ChromeOS
chrome.devices.managedguest.apps.LEAF_NAME key="app_id" Usługi > Zarządzanie urządzeniami z Chrome > Ustawienia > Zarządzanie ustawieniami urządzeń z ChromeOS
chrome.devices.kiosk.LEAF_NAME   Usługi > Zarządzanie urządzeniami z Chrome > Ustawienia > Zarządzanie ustawieniami urządzeń z ChromeOS
chrome.devices.kiosk.apps.LEAF_NAME key="app_id" Usługi > Zarządzanie urządzeniami z Chrome > Ustawienia > Zarządzanie ustawieniami urządzeń z ChromeOS
chrome.devices.kiosk.appsconfig.LEAF_NAME key="app_id" Usługi > Zarządzanie urządzeniami z Chrome > Ustawienia > Zarządzanie ustawieniami urządzeń z ChromeOS
chrome.printers.LEAF_NAME key="printer_id" Usługi > Zarządzanie urządzeniami z Chrome > Ustawienia > Zarządzaj drukarkami
chrome.printservers.LEAF_NAME key="print_server_id" Usługi > Zarządzanie urządzeniami z Chrome > Ustawienia > Zarządzaj drukarkami
chrome.networks.globalsettings.LEAF_NAME   Usługi > Ustawienia urządzeń udostępnionych
chrome.networks.wifi.LEAF_NAME key="network_id" Usługi > Ustawienia urządzeń udostępnionych
chrome.networks.ethernet.LEAF_NAME key="network_id" Usługi > Ustawienia urządzeń udostępnionych
chrome.networks.vpn.LEAF_NAME key="network_id" Usługi > Ustawienia urządzeń udostępnionych
chrome.networks.certificates.LEAF_NAME key="network_id" Usługi > Ustawienia urządzeń udostępnionych

Klucze schematu zasad

Niektóre zasady wymagają dodatkowego kontekstu, aby można je było wyświetlić lub zmodyfikować. Na przykład:

  • Aby zmodyfikować zasadę dla aplikacji, musisz określić, którą aplikację, wypełniając key="app_id".
  • Aby zmodyfikować zasady dotyczące ustawień drukarek w jednostce organizacyjnej, musisz określić, której drukarki użyć, wypełniając atrybut key="printer_id".

Te schematy zasad zawierają sekcję additionalTargetKeyNames z opisem kluczy i wartości, które mają być przekazywane w żądaniach do interfejsu API.

Więcej informacji znajdziesz w artykule Przykładowy kod.

Pokaż przykład

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

Zasady dotyczące aplikacji

Niektóre z powyższych przestrzeni nazw są używane na potrzeby zasad aplikacji, np. zasad aplikacji użytkownika, aplikacji kiosku, aplikacji z zarządzanej sesji gościa i zasad konfiguracji aplikacji kiosku. Zasady dotyczące aplikacji wymagają elementu app_id.

Element app_id tworzy się przez połączenie typu i identyfikatora aplikacji. Na przykład:

  • chrome:mkaakpdehdafacodkgkpghoibnmamcme reprezentuje aplikację Chrome „Rysunki Google”
  • android:com.google.android.calendar reprezentuje aplikację „Kalendarz Google” na Androida
  • web:https://canvas.apps.chrome reprezentuje aplikację internetową „Canvas”

Pola z wieloma wartościami

Pola z etykietą LABEL_REPEATED reprezentują pola o wielu wartościach, takie jak listy lub tablice. Możesz przypisać kilka wartości tym polu. Więcej informacji znajdziesz w przykładowym kodzie.

Stan schematu zasad

Każda zasada ma obiekt policyApiLifecycle, który reprezentuje jej bieżący stan. Ten obiekt zawiera te pola ze szczegółowymi informacjami o stanie zasady:

  • Pole policyApiLifecycleStage pokazuje, który z etapów z poniższej tabeli najlepiej opisuje bieżący stan zasady.
  • W polu description znajdziesz więcej informacji o bieżącym stanie tej zasady.
  • Pole endSupport zawiera ostateczną datę zapewnienia zgodności z zasadami, jeśli została ona zdefiniowana.
  • Element deprecatedInFavorOf można ustawić tylko wtedy, gdy zasada policyApiLifecycleStage ma wartość API_DEPRECATED. Pokazuje pełne i jednoznaczne przestrzenie nazw nowych zasad, które zostały wycofane z użytku.
  • Pole scheduledToDeprecatePolicies odpowiada wartości deprecatedInFavorOf. Pokazuje pełne i jednoznaczne przestrzenie nazw starych zasad, które zostaną wycofane w związku z wprowadzeniem tych zasad.

Etapy cyklu życia

Etap Opis
API_UNSPECIFIED Obecny stan zasady jest nieznany. Zarezerwowane, nie używaj.
API_PREVIEW Zasada jeszcze nie działa. Ten etap można przenieść na konto API_CURRENT lub API_DEVELOPMENT.
API_DEVELOPMENT Zasady nie zostały jeszcze sfinalizowane, mogą pojawić się zmiany powodujące niezgodność. Ten etap można przenieść na konto API_CURRENT lub API_DEPRECATED.
API_CURRENT Zasady mają oficjalny format, ale możemy wprowadzić w nich zmiany nienaruszające zasad. Ten etap można przenieść na konto API_DEPRECATED.
API_DEPRECATED Ta zasada została wycofana i w przyszłości może zostać usunięta. Administratorzy powinni przestać używać tej zasady.

Pokaż przykład

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

Informacje dotyczące schematu zasad

Z niektórymi zasadami są powiązane notices, które w przypadku określonych wartości pól zasad acknowledgement_required mają wartość true. Zanim ustawisz wartość w przypadku tych zasad, musisz ustawić w specjalnym polu potwierdzenia na true.

Więcej informacji znajdziesz w artykule Przykładowy kod.

Obsługiwane platformy

supportedPlatforms to lista, która wskazuje, że zasada będzie stosowana tylko do urządzeń lub użytkowników na tych platformach. Wszystkie obsługiwane platformy znajdziesz w tabeli poniżej.

Obsługiwana platforma

Platforma Opis
PLATFORM_UNSPECIFIED Nieokreślona platforma. Zarezerwowane, nie używaj.
CHROME_OS ChromeOS
CHROME_BROWSER Przeglądarka Chrome w systemie macOS, Windows lub Linux
CHROME_BROWSER_FOR_ANDROID Przeglądarka Chrome na Androida
CHROME_BROWSER_FOR_IOS Przeglądarka Chrome na iOS

Dalsze kroki