Mendeklarasikan izin

Untuk menggunakan sebagian besar API ekstensi dan fitur, Anda harus mendeklarasikan maksud ekstensi di kolom izin manifes. Ekstensi dapat meminta kategori izin berikut, yang ditentukan menggunakan kunci manifes masing-masing:

"permissions"
Berisi item dari daftar string yang diketahui. Perubahan dapat memicu peringatan.
"optional_permissions"
Diberikan oleh pengguna saat runtime, bukan saat waktu penginstalan.
"content_scripts.matches"
Berisi satu atau beberapa pola kecocokan yang memungkinkan skrip konten disuntikkan ke satu atau beberapa host. Perubahan dapat memicu peringatan.
"host_permissions"
Berisi satu atau beberapa pola kecocokan yang memberikan akses ke satu atau beberapa host. Perubahan dapat memicu peringatan.
"optional_host_permissions"
Diberikan oleh pengguna saat runtime, bukan saat waktu penginstalan.

Izin membantu membatasi kerusakan jika ekstensi Anda disusupi oleh malware. Beberapa peringatan izin ditampilkan kepada pengguna untuk mendapatkan izin mereka sebelum penginstalan atau saat runtime, seperti yang dijelaskan dalam Izin dengan peringatan.

Pertimbangkan untuk menggunakan izin opsional di mana pun fungsi ekstensi Anda memungkinkan, untuk memberi pengguna kontrol yang tepat atas akses ke resource dan data.

Jika API memerlukan izin, dokumentasinya akan menjelaskan cara mendeklarasikannya. Sebagai contoh, lihat Storage API.

Manifes

Berikut adalah contoh bagian izin dari file manifest:

manifest.json:

{
  "name": "Permissions Extension",
  ...
  "permissions": [
    "activeTab",
    "contextMenus",
    "storage"
  ],
  "optional_permissions": [
    "topSites",
  ],
  "host_permissions": [
    "https://www.developer.chrome.com/*"
  ],
  "optional_host_permissions":[
    "https://*/*",
    "http://*/*"
  ],
  ...
  "manifest_version": 3
}

Izin host

Izin host memungkinkan ekstensi berinteraksi dengan pola pencocokan URL. Beberapa Chrome API memerlukan izin host selain izin API-nya sendiri, yang didokumentasikan di setiap halaman referensi. Berikut beberapa contohnya:

Izin dengan peringatan

Jika ekstensi meminta beberapa izin, dan banyak di antaranya menampilkan peringatan saat penginstalan, pengguna akan melihat daftar peringatan, seperti dalam contoh berikut:

Peringatan izin ekstensi saat penginstalan

Pengguna cenderung memercayai ekstensi dengan peringatan terbatas atau saat izin dijelaskan kepada mereka. Pertimbangkan untuk menerapkan izin opsional atau API yang kurang canggih untuk menghindari peringatan yang mengkhawatirkan. Untuk mengetahui praktik terbaik terkait peringatan, lihat Panduan peringatan izin. Peringatan tertentu tercantum bersama izin yang berlaku di daftar referensi Izin.

Menambahkan atau mengubah pola kecocokan di kolom "host_permissions" dan "content_scripts.matches" file manifes juga akan memicu peringatan. Untuk mempelajari lebih lanjut, lihat Memperbarui izin.

Izinkan akses

Jika ekstensi Anda perlu berjalan di URL file:// atau beroperasi dalam mode samaran, pengguna harus memberikan akses ekstensi di halaman detailnya. Anda dapat menemukan petunjuk untuk membuka halaman detail di bagian Mengelola ekstensi.

Mengizinkan akses ke URL file dan halaman samaran

  1. Klik kanan ikon ekstensi di Chrome.
  2. Pilih Kelola Ekstensi.

    Menu konteks ekstensi
    Menu ekstensi
  3. Scroll ke bawah untuk mengaktifkan akses ke URL file atau mode samaran.

    Mengizinkan URL file dan mode samaran di halaman detail ekstensi
    Akses diaktifkan ke URL file dan mode samaran.

Untuk mendeteksi apakah pengguna telah mengizinkan akses, Anda dapat memanggil extension.isAllowedIncognitoAccess() atau extension.isAllowedFileSchemeAccess().