Mendeklarasikan izin

Untuk menggunakan sebagian besar fitur dan API ekstensi, Anda harus menyatakan 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 dikenal. Perubahan dapat memicu peringatan.
"optional_permissions"
Disediakan oleh pengguna pada 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"
Disediakan oleh pengguna pada saat runtime, bukan pada waktu penginstalan.

Izin membantu membatasi kerusakan jika ekstensi Anda disusupi oleh 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 di mana pun fungsi ekstensi Anda memberikan kontrol informasi kepada pengguna tentang akses ke sumber daya dan data.

Jika API memerlukan izin, dokumentasinya akan menjelaskan cara mendeklarasikannya. Untuk misalnya, 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 yang cocok URL. Beberapa Chrome API memerlukan izin host selain izin API-nya sendiri, yang didokumentasikan di setiap halaman referensi. Berikut beberapa contohnya:

Izin dengan peringatan

Saat sebuah ekstensi meminta beberapa izin, dan banyak di antaranya yang menampilkan peringatan penginstalan, pengguna akan melihat daftar peringatan, seperti pada contoh berikut:

Peringatan izin ekstensi saat penginstalan

Pengguna lebih cenderung memercayai ekstensi dengan peringatan terbatas atau saat izin dijelaskan mereka. Pertimbangkan untuk menerapkan izin opsional atau API yang kurang canggih agar tidak mengkhawatirkan peringatan. Untuk mengetahui praktik terbaik terkait peringatan, lihat Panduan peringatan izin. Spesifik, {i>Specific<i} peringatan dicantumkan dengan izin yang berlaku dalam Daftar referensi izin.

Menambahkan atau mengubah pola pencocokan di "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 dijalankan di URL file:// atau beroperasi dalam mode samaran, pengguna harus memberi ekstensi akses di halaman detailnya. Anda dapat menemukan petunjuk untuk membuka halaman detail pada bagian Kelola ekstensi Anda.

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