Mendeklarasikan izin

Untuk menggunakan sebagian besar fitur dan API ekstensi, Anda harus mendeklarasikan intent 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 pada waktu penginstalan.
"content_scripts.matches"
Berisi satu atau beberapa pola pencocokan yang memungkinkan skrip konten dimasukkan ke satu atau beberapa host. Perubahan dapat memicu peringatan.
"host_permissions"
Berisi satu atau beberapa pola pencocokan yang memberikan akses ke satu atau beberapa host. Perubahan dapat memicu peringatan.
"optional_host_permissions"
Diberikan oleh pengguna saat runtime, bukan pada saat penginstalan.

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

Pertimbangkan untuk menggunakan izin opsional setiap kali fungsi yang diizinkan oleh ekstensi Anda, untuk memberi pengguna kontrol yang tepat atas akses ke resource dan data.

Jika API memerlukan izin, dokumentasinya menjelaskan cara mendeklarasikannya. Untuk contohnya, lihat Storage API.

Manifes

Berikut adalah contoh bagian izin file manifes:

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 lebih cenderung memercayai ekstensi yang memiliki peringatan terbatas atau saat izin dijelaskan kepada mereka. Pertimbangkan untuk menerapkan izin opsional atau API yang kurang canggih untuk menghindari peringatan yang berbunyi. Untuk mengetahui praktik terbaik terkait peringatan, lihat Panduan peringatan izin. Peringatan tertentu dicantumkan dengan izin yang berlaku dalam daftar referensi Izin.

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

Izinkan akses

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

Izinkan 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.

    Izinkan 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().