สคีมานโยบาย

สคีมาบริการ API จะแสดงนโยบาย Chrome เป็นสคีมานโยบาย สคีมานโยบายแต่ละรายการมีชื่อที่ไม่ซ้ำกันสำหรับระบุ คำจำกัดความของช่องการตั้งค่าและประเภทของช่อง ตลอดจนคำอธิบายการตั้งค่าที่มนุษย์อ่านได้เป็นภาษาอังกฤษ

ลองดูตัวอย่างด้านล่างแสดงวิธีที่ Schema Service API แสดงการตั้งค่าที่อนุญาตให้ปุ่มออกจากระบบปรากฏในถาดระบบของ Chrome ตัวอย่างง่ายๆ ของการตั้งค่านี้คือ bool showLogoutButtonInTray คลิก "แสดงตัวอย่าง" ด้านล่างเพื่อดูว่า 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. และชื่อ Leaf 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 key="app_id" บริการ > การจัดการ 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 วาดเขียน" ใน Chrome
  • 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

ขั้นตอนถัดไป