סכימות מדיניות

כללי מדיניות Chrome מיוצגים כסכימות מדיניות על ידי Schema Service API. לכל סכימת מדיניות יש שם ייחודי שיאפשר לזהות אותה – הגדרה של הגדרה ואת הסוגים שלהם, ותיאור קריא (לבני אדם) של ההגדרות אנגלית.

לדוגמה, כך Schema Service API מייצג הגדרה כך שלחצן יציאה יופיע במגש המערכת של Chrome. גרסה פשוטה יותר ייצוג של ההגדרה הזו יהיה bool showLogoutButtonInTray. לוחצים על "Show an example" (הצגת דוגמה) כדי לראות איך 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".

סכימות המדיניות האלה מכילות קטע additionalTargetKeyNames שמתאר את המפתחות והערכים שיועברו בבקשות ה-API.

פרטים נוספים זמינים במאמר דוגמאות קוד.

הצג דוגמה

{
  "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 על ידי שילוב של סוג האפליקציה ומזהה האפליקציה. לדוגמה:

  • chrome:mkaakpdehdafacodkgkpghoibnmamcme מייצג את "Google Drawings" אפליקציית Chrome
  • android:com.google.android.calendar מייצג את 'יומן Google' באפליקציה ל-Android
  • web:https://canvas.apps.chrome מייצג את 'לוח הציור' אפליקציית אינטרנט

שדות מרובי ערכים

שדות עם התווית LABEL_REPEATED מייצגים שדות מרובי-ערכים, כמו רשימות או מערכים. אפשר להוסיף כמה ערכים לשדות האלה. פרטים נוספים זמינים במאמר דוגמאות קוד.

הסטטוס של סכימת המדיניות

לכל מדיניות יש אובייקט policyApiLifecycle שמייצג את הסטטוס הנוכחי שלה. האובייקט הזה מכיל את השדות הבאים עם פרטים על כללי המדיניות סטטוס:

  • בשדה policyApiLifecycleStage מוצג אילו מהשלבים הבאים הטבלה שמתארת בצורה הטובה ביותר את הסטטוס הנוכחי של המדיניות.
  • בשדה description מוצגים פרטים נוספים על הסטטוס הנוכחי של המדיניות.
  • השדה endSupport מציג את התאריך הסופי של התמיכה במדיניות, אם רלוונטי מוגדרת.
  • אפשר להגדיר את הערך deprecatedInFavorOf רק אם policyApiLifecycleStage הוא API_DEPRECATED מוצגים בה מרחבי השמות המלאים של כללי המדיניות החדשים שהמדיניות הנוכחית הוצאה משימוש לטובתה.
  • השדה scheduledToDeprecatePolicies תואם ל: הוצא משימוש. היא מציגה את מרחבי השמות המוגדרים במלואם כללי מדיניות שתוצא משימוש עקב הצגת המדיניות הזו.

שלבים במחזור החיים

שלב תיאור
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"
  }
}
  

הודעות לגבי סכימת המדיניות

בחלק מכללי המדיניות משויכים notices מוצרים עם acknowledgement_required מוגדר ל-true לערכים מסוימים של שדות מדיניות מסוימים. לגבי כללי המדיניות האלה, צריך להגדיר שדה אישור מיוחד לערך true לפני שמגדירים את עם ערך מסוים.

מידע נוסף זמין בדוגמאות קוד.

פלטפורמות נתמכות

supportedPlatforms היא רשימה שמציינת שהמדיניות תחול רק למכשירים או למשתמשים בפלטפורמות האלה. כל הפלטפורמות הנתמכות מפורטות כאן בטבלה הבאה.

פלטפורמה נתמכת

פלטפורמה תיאור
PLATFORM_UNSPECIFIED הפלטפורמה לא צוינה. שמור, לא להשתמש.
CHROME_OS ChromeOS
CHROME_BROWSER דפדפן Chrome ל-macOS/Windows/Linux
CHROME_BROWSER_FOR_ANDROID דפדפן Chrome ל-Android
CHROME_BROWSER_FOR_IOS דפדפן Chrome ל-iOS

השלבים הבאים