طرحواره های خط مشی

خط‌مشی‌های 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 Services > Chrome Management > Settings > Manage User Settings
chrome.users.apps. LEAF_NAME key="app_id" Services > Chrome Management > Settings > Manage User Settings > Manage Application Settings
chrome.users.appsconfig. LEAF_NAME Services > Chrome Management > Settings > Manage User Settings > Manage Application Settings
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" Services > Chrome Management > Settings > Manage Printers
chrome.printservers. LEAF_NAME key="print_server_id" Services > Chrome Management > Settings > Manage Printers
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 نشان دهنده برنامه Android "Google Calendar" است
  • 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 مرورگر کروم برای macOS/Windows/Linux
CHROME_BROWSER_FOR_ANDROID مرورگر کروم برای اندروید
CHROME_BROWSER_FOR_IOS مرورگر کروم برای iOS

مراحل بعدی