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

כללי מדיניות 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 מייצג את אפליקציית Chrome "Google Drawings"
  • android:com.google.android.calendar מייצג את האפליקציה 'יומן Google' ל-Android
  • web:https://canvas.apps.chrome מייצג את אפליקציית האינטרנט 'Canvas'

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

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

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

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

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

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

במה תיאור
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

השלבים הבאים