Skema kebijakan

Kebijakan Chrome direpresentasikan sebagai skema kebijakan oleh Schema Service API. Setiap skema kebijakan memiliki nama unik untuk mengidentifikasinya, definisi kolom setelan dan jenisnya, serta deskripsi setelan yang dapat dibaca manusia dalam bahasa Inggris.

Misalnya, di bawah ini adalah cara Schema Service API mewakili setelan yang memungkinkan tombol logout muncul di baki sistem Chrome. Representasi sederhana untuk setelan ini adalah bool showLogoutButtonInTray. Klik "Tampilkan contoh" di bawah untuk melihat cara Schema Service API mewakili setelan ini.

Tampilkan contoh

{
  "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
}
  

Nama skema kebijakan

name skema adalah ID uniknya, dengan format berikut: {namespace}.{leafName}.

Pada contoh di atas, nama skema lengkap adalah chrome.users.ShowLogoutButton. Namespacenya adalah chrome.users. dan nama leaf adalah ShowLogoutButton.

Kebijakan dengan cakupan serupa dikelompokkan dalam namespace yang sama. Misalnya, semua skema kebijakan pengguna diawali dengan namespace chrome.users. dan semua skema kebijakan printer diawali dengan namespace chrome.printers..

Namespace

Namespace Kunci Izin peran admin yang diperlukan
chrome.users.LEAF_NAME   Layanan > Pengelolaan Chrome > Setelan > Kelola Setelan Pengguna
chrome.users.apps.LEAF_NAME key="app_id" Layanan > Pengelolaan Chrome > Setelan > Kelola Setelan Pengguna > Kelola Setelan Aplikasi
chrome.users.appsconfig.LEAF_NAME   Layanan > Pengelolaan Chrome > Setelan > Kelola Setelan Pengguna > Kelola Setelan Aplikasi
chrome.devices.LEAF_NAME   Layanan > Pengelolaan Chrome > Setelan > Kelola Setelan Perangkat ChromeOS
chrome.devices.managedguest.LEAF_NAME   Layanan > Pengelolaan Chrome > Setelan > Kelola Setelan Perangkat ChromeOS
chrome.devices.managedguest.apps.LEAF_NAME key="app_id" Layanan > Pengelolaan Chrome > Setelan > Kelola Setelan Perangkat ChromeOS
chrome.devices.kiosk.LEAF_NAME   Layanan > Pengelolaan Chrome > Setelan > Kelola Setelan Perangkat ChromeOS
chrome.devices.kiosk.apps.LEAF_NAME key="app_id" Layanan > Pengelolaan Chrome > Setelan > Kelola Setelan Perangkat ChromeOS
chrome.devices.kiosk.appsconfig.LEAF_NAME key="app_id" Layanan > Pengelolaan Chrome > Setelan > Kelola Setelan Perangkat ChromeOS
chrome.printers.LEAF_NAME key="printer_id" Layanan > Pengelolaan Chrome > Setelan > Kelola Printer
chrome.printservers.LEAF_NAME key="print_server_id" Layanan > Pengelolaan Chrome > Setelan > Kelola Printer
chrome.networks.globalsettings.LEAF_NAME   Layanan > Setelan Perangkat Bersama
chrome.networks.wifi.LEAF_NAME key="network_id" Layanan > Setelan Perangkat Bersama
chrome.networks.ethernet.LEAF_NAME key="network_id" Layanan > Setelan Perangkat Bersama
chrome.networks.vpn.LEAF_NAME key="network_id" Layanan > Setelan Perangkat Bersama
chrome.networks.certificates.LEAF_NAME key="network_id" Layanan > Setelan Perangkat Bersama

Kunci skema kebijakan

Beberapa kebijakan memerlukan konteks tambahan untuk dilihat atau diubah. Contoh:

  • Untuk mengubah kebijakan aplikasi, Anda perlu menentukan aplikasi mana dengan mengisi key="app_id".
  • Guna mengubah kebijakan untuk setelan printer di Unit Organisasi, Anda perlu menentukan printer dengan mengisi key="printer_id".

Skema kebijakan ini berisi bagian additionalTargetKeyNames yang menjelaskan kunci dan nilai yang akan diteruskan dalam permintaan API Anda.

Untuk mengetahui detail selengkapnya, buka Contoh kode.

Tampilkan contoh

{
  "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"
}
  

Kebijakan aplikasi

Beberapa namespace di atas ditujukan untuk kebijakan aplikasi, seperti Aplikasi Pengguna, Aplikasi Kios, Aplikasi Sesi Tamu Terkelola, dan kebijakan Konfigurasi Aplikasi Kios. Kebijakan aplikasi memerlukan app_id.

app_id dibuat dengan menggabungkan jenis aplikasi dan ID aplikasi. Contoh:

  • chrome:mkaakpdehdafacodkgkpghoibnmamcme merepresentasikan Aplikasi Chrome "Google Gambar"
  • android:com.google.android.calendar merepresentasikan aplikasi Android "Google Kalender"
  • web:https://canvas.apps.chrome merepresentasikan aplikasi Web "Canvas"

Kolom multi-nilai

Kolom dengan label LABEL_REPEATED mewakili kolom multi-nilai, seperti daftar atau array. Anda dapat memberikan beberapa nilai ke kolom ini. Untuk mendapatkan detail lebih lanjut, lihat Contoh kode.

Status skema kebijakan

Setiap kebijakan memiliki objek policyApiLifecycle untuk mewakili statusnya saat ini. Objek ini berisi kolom berikut dengan detail tentang status kebijakan:

  • Kolom policyApiLifecycleStage menunjukkan tahap mana dalam tabel berikut yang paling tepat menggambarkan status kebijakan saat ini.
  • Kolom description memberikan detail selengkapnya tentang status kebijakan saat ini.
  • Kolom endSupport menunjukkan tanggal dukungan akhir untuk kebijakan, jika ada yang ditentukan.
  • deprecatedInFavorOf hanya dapat disetel jika policyApiLifecycleStage adalah API_DEPRECATED. Bagian ini menunjukkan namespace yang sepenuhnya memenuhi syarat dari kebijakan baru yang digantikan oleh kebijakan saat ini yang sudah tidak digunakan lagi.
  • Kolom scheduledToDeprecatePolicies sesuai dengan DeprecatedInFavorOf. Contoh ini menunjukkan namespace yang sepenuhnya memenuhi syarat dari kebijakan lama yang tidak akan digunakan lagi karena diperkenalkannya kebijakan ini.

Tahapan siklus proses

Tahap Deskripsi
API_UNSPECIFIED Status kebijakan saat ini tidak diketahui. Direservasi, jangan digunakan.
API_PREVIEW Kebijakan belum berfungsi. Tahap ini dapat ditransfer ke API_CURRENT atau API_DEVELOPMENT.
API_DEVELOPMENT Kebijakan belum diselesaikan dan perubahan yang dapat menyebabkan gangguan mungkin akan diperkenalkan. Tahap ini dapat ditransfer ke API_CURRENT atau API_DEPRECATED.
API_CURRENT Kebijakan menggunakan format resmi, tetapi perubahan yang tidak dapat menyebabkan gangguan mungkin akan muncul. Tahap ini dapat ditransfer ke API_DEPRECATED.
API_DEPRECATED Kebijakan ini tidak digunakan lagi dan mungkin akan dihapus pada masa mendatang. Admin seharusnya berhenti menggunakan kebijakan ini.

Tampilkan contoh

{
  "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"
  }
}
  

Pemberitahuan skema kebijakan

Beberapa kebijakan memiliki notices yang terkait dengannya, yang menetapkan acknowledgement_required ke true untuk nilai tertentu dari kolom kebijakan tertentu. Untuk kebijakan ini, Anda perlu menetapkan kolom konfirmasi khusus ke true sebelum dapat menetapkan nilainya.

Untuk mengetahui detail selengkapnya, lihat Contoh kode.

Platform yang didukung

supportedPlatforms adalah daftar yang menunjukkan bahwa kebijakan hanya akan berlaku untuk perangkat atau pengguna di platform ini. Semua platform yang didukung tercantum dalam tabel berikut.

Platform yang didukung

Platform Deskripsi
PLATFORM_UNSPECIFIED Platform belum ditetapkan. Direservasi, jangan digunakan.
CHROME_OS ChromeOS
CHROME_BROWSER Browser Chrome untuk macOS/Windows/Linux
CHROME_BROWSER_FOR_ANDROID Browser Chrome untuk Android
CHROME_BROWSER_FOR_IOS Browser Chrome untuk iOS

Langkah berikutnya