नीति के स्कीमा

Chrome की नीतियों को 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. है और लीफ़ का नाम 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 सेक्शन होता है. इसमें आपके एपीआई अनुरोधों में पास की जाने वाली कुंजियों और वैल्यू के बारे में बताया जाता है.

ज़्यादा जानकारी के लिए, कोड सैंपल पर जाएं.

एक उदाहरण दिखाएं

{
  "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 Calendar" Android ऐप्लिकेशन के बारे में बताता है
  • web:https://canvas.apps.chrome, "कैनवस" वेब ऐप्लिकेशन को दिखाता है

कई वैल्यू वाले फ़ील्ड

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 macOS/Windows/Linux के लिए Chrome ब्राउज़र
CHROME_BROWSER_FOR_ANDROID Android के लिए Chrome ब्राउज़र
CHROME_BROWSER_FOR_IOS iOS के लिए Chrome ब्राउज़र

अगले चरण