สคีมานโยบาย

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

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

ช่องหลายค่า

ช่องที่มีป้ายกำกับ LABEL_REPEATED หมายถึงช่องที่มีหลายค่า เช่น รายการ หรืออาร์เรย์ โดยคุณระบุค่าหลายค่าให้กับช่องเหล่านี้ได้ ดูรายละเอียดเพิ่มเติมได้ที่ ตัวอย่างโค้ด

สถานะสคีมานโยบาย

ทุกนโยบายมีออบเจ็กต์ policyApiLifecycle เพื่อแสดงสถานะปัจจุบัน ออบเจ็กต์นี้มีช่องต่อไปนี้พร้อมรายละเอียดเกี่ยวกับ สถานะ:

  • ฟิลด์ policyApiLifecycleStage จะแสดงขั้นตอนในต่อไปนี้ ตารางจะอธิบายสถานะปัจจุบันของนโยบายได้ดีที่สุด
  • ช่อง description จะให้รายละเอียดเพิ่มเติมเกี่ยวกับสถานะปัจจุบันของนโยบายนี้
  • ช่อง endSupport จะแสดงวันที่สนับสนุนสุดท้ายสำหรับนโยบาย หากมี มีการกำหนดไว้
  • ตั้งค่า deprecatedInFavorOf ได้ก็ต่อเมื่อ policyApiLifecycleStage คือ API_DEPRECATED โดยจะแสดงเนมสเปซที่ตรงตามเกณฑ์ทั้งหมดของนโยบายใหม่ ที่จะเลิกใช้งานนโยบายปัจจุบัน
  • ฟิลด์ scheduledToDeprecatePolicies สอดคล้องกับ เลิกใช้งานInFavorOfแล้ว โดยจะแสดงเนมสเปซที่สมบูรณ์ในตัวเอง ที่จะเลิกใช้งานเนื่องจากมีการเริ่มใช้นโยบายนี้

ขั้นของวงจร

ระยะทำงาน คำอธิบาย
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

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