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.

Sebagai contoh, di bawah ini adalah cara Schema Service API merepresentasikan setelan yang memungkinkan tombol logout muncul di area notifikasi Chrome. Representasi yang disederhanakan dari setelan ini adalah bool showLogoutButtonInTray. Klik "Tampilkan contoh" di bawah untuk melihat bagaimana Schema Service API merepresentasikan 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}.

Dalam contoh di atas, nama skema lengkapnya adalah chrome.users.ShowLogoutButton. Namespace ini adalah chrome.users. dan nama daunnya 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   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".
  • Untuk mengubah kebijakan setelan printer di Unit Organisasi, Anda harus menentukan printer mana 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 kebijakan Aplikasi Pengguna, Aplikasi Kios, Aplikasi Sesi Tamu Terkelola, dan kebijakan Konfigurasi Aplikasi Kios. Kebijakan aplikasi memerlukan app_id.

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

  • chrome:mkaakpdehdafacodkgkpghoibnmamcme mewakili Aplikasi Chrome "Google Gambar"
  • android:com.google.android.calendar mewakili aplikasi Android "Google Kalender"
  • web:https://canvas.apps.chrome mewakili 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 mengetahui detail selengkapnya, 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 menggambarkan status kebijakan saat ini.
  • Kolom description memberikan detail selengkapnya tentang status kebijakan saat ini.
  • Kolom endSupport menunjukkan tanggal dukungan akhir untuk kebijakan, jika ditentukan.
  • deprecatedInFavorOf hanya dapat disetel jika policyApiLifecycleStage adalah API_DEPRECATED. Bagian ini menunjukkan namespace yang sepenuhnya memenuhi syarat dari kebijakan baru yang kebijakan saat ini tidak digunakan lagi.
  • Kolom scheduledToDeprecatePolicies sesuai dengan InFavorOf yang tidak digunakan lagi. Bagian 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 diterapkan. Tahap ini dapat ditransfer ke API_CURRENT atau API_DEPRECATED.
API_CURRENT Kebijakan menggunakan format resmi, tetapi mungkin akan ada perubahan yang tidak menyebabkan gangguan. Tahap ini dapat ditransfer ke API_DEPRECATED.
API_DEPRECATED Kebijakan ini tidak digunakan lagi dan mungkin dihapus pada masa mendatang. Admin sebaiknya 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 dengan acknowledgement_required yang ditetapkan ke true untuk nilai tertentu dari kolom kebijakan tertentu. Untuk kebijakan ini, Anda perlu menetapkan kolom konfirmasi khusus ke true sebelum dapat menetapkan nilai.

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 tersebut. Semua platform yang didukung tercantum dalam tabel berikut.

Platform yang didukung

Platform Deskripsi
PLATFORM_UNSPECIFIED Platform tidak ditentukan. 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