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

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

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

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

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

एक से ज़्यादा वैल्यू वाले फ़ील्ड

LABEL_REPEATED लेबल वाले फ़ील्ड, कई वैल्यू वाले फ़ील्ड दिखाते हैं, जैसे कि सूचियां या अरे. इन फ़ील्ड के लिए कई वैल्यू दी जा सकती हैं. ज़्यादा जानकारी के लिए, कोड के सैंपल देखें.

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

हर नीति का मौजूदा स्टेटस दिखाने के लिए, एक policyApiLifecycle ऑब्जेक्ट होता है. इस ऑब्जेक्ट में, नीति की स्थिति की जानकारी के साथ ये फ़ील्ड शामिल होते हैं:

  • policyApiLifecycleStage फ़ील्ड से पता चलता है कि नीचे दी गई टेबल के कौनसे चरण, नीति की मौजूदा स्थिति के बारे में सबसे सही जानकारी देते हैं.
  • description फ़ील्ड में, इस नीति की मौजूदा स्थिति के बारे में ज़्यादा जानकारी मिलती है.
  • अगर नीति के लिए तय की गई आखिरी तारीख होती है, तो endSupport फ़ील्ड में इसकी जानकारी दी जाती है.
  • deprecatedInFavorOf को सिर्फ़ तब सेट किया जा सकता है, जब policyApiलाइफ़साइकलस्टेज, 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 एक ऐसी सूची है जिससे पता चलता है कि यह नीति सिर्फ़ इन प्लैटफ़ॉर्म के डिवाइसों या उपयोगकर्ताओं पर लागू होगी. इस टेबल में, इस्तेमाल किए जा सकने वाले सभी प्लैटफ़ॉर्म की सूची दी गई है.

YouTube के साथ काम करने वाला प्लैटफ़ॉर्म

प्लैटफ़ॉर्म जानकारी
PLATFORM_UNSPECIFIED तय नहीं किया गया प्लैटफ़ॉर्म. रिज़र्व किया गया है, इसका इस्तेमाल न करें.
CHROME_OS ChromeOS
CHROME_BROWSER macOS/Windows/Linux के लिए Chrome ब्राउज़र
CHROME_BROWSER_FOR_ANDROID Android के लिए Chrome ब्राउज़र
CHROME_BROWSER_FOR_IOS iOS के लिए Chrome ब्राउज़र

अगले चरण