İzinleri bildirme

Çoğu uzantı API'si ve özelliği kullanmak için manifest'in izin alanlarında uzantınızın amacını bildirmeniz gerekir. Uzantılar, ilgili manifest anahtarları kullanılarak belirtilen aşağıdaki izin kategorilerini isteyebilir:

"permissions"
Bilinen dizeler listesindeki öğeleri içerir. Değişiklikler bir uyarı tetikleyebilir.
"optional_permissions"
Kullanıcı tarafından yükleme sırasında değil, çalışma zamanında verilir.
"content_scripts.matches"
İçerik komut dosyalarının bir veya daha fazla ana makineye yerleştirilmesine olanak tanıyan bir veya daha fazla eşleşme kalıbı içerir. Değişiklikler bir uyarı tetikleyebilir.
"host_permissions"
Bir veya daha fazla ana makineye erişim sağlayan bir veya daha fazla eşleşme kalıbı içerir. Değişiklikler bir uyarı tetikleyebilir.
"optional_host_permissions"
Kullanıcı tarafından yükleme sırasında değil, çalışma zamanında verilir.

İzinler, uzantınızın güvenliği kötü amaçlı yazılımdan etkilendiyse zararın sınırlanmasına yardımcı olur. Uyarılı izin bölümünde ayrıntılı olarak açıklandığı gibi, bazı izin uyarıları, kullanıcılara yüklemeden önce veya çalışma zamanında izin vermeleri için gösterilir.

Kullanıcılara kaynak ve verilere erişim konusunda bilinçli kontrol sağlamak için uzantınızın işlevselliğinin izin verdiği her yerde isteğe bağlı izinleri kullanmayı düşünün.

Bir API için izin gerekiyorsa API'nin nasıl bildirileceği dokümanlarında açıklanmaktadır. Örnek için Storage API sayfasını inceleyin.

Manifest

Aşağıda, bir manifest dosyasının izinler bölümüne ilişkin bir örnek verilmiştir:

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
}

Ana makine izinleri

Ana makine izinleri, uzantıların URL'nin eşleşme kalıplarıyla etkileşim kurmasına olanak tanır. Bazı Chrome API'leri, her referans sayfasında belirtilen kendi API izinlerine ek olarak ana makine izinleri gerektirir. Bazı örnekler:

Uyarı içeren izinler

Bir uzantı birden çok izin istediğinde ve bunların çoğu yükleme sırasında uyarı görüntülediğinde kullanıcı aşağıdaki örnekte olduğu gibi bir uyarı listesi görür:

Yükleme sırasında uzantı izni uyarıları

Kullanıcıların, sınırlı uyarıya sahip olan veya izinler kendilerine açık olan bir uzantıya güvenme olasılığı daha yüksektir. Alarm alarmlarından kaçınmak için isteğe bağlı izinler veya daha düşük bir API uygulamayı düşünün. Uyarılarla ilgili en iyi uygulamalar için İzin uyarıları yönergeleri başlıklı makaleye göz atın. Belirli uyarılar, geçerli oldukları izinlerle birlikte İzinler referans listesinde listelenmiştir.

Manifest dosyasının "host_permissions" ve "content_scripts.matches" alanlarında eşleşme kalıpları eklemek veya bunları değiştirmek de bir uyarı tetikler. Daha fazla bilgi edinmek için İzinleri güncelleme bölümüne bakın.

Erişim izni ver

Uzantınızın file:// URL'lerinde çalışması veya gizli modda çalışması gerekiyorsa kullanıcılar, ayrıntılar sayfasında uzantıya erişim izni vermelidir. Ayrıntılar sayfasını açmayla ilgili talimatları Uzantılarınızı yönetme bölümünde bulabilirsiniz.

Dosya URL'lerine ve gizli sayfalara erişime izin ver

  1. Chrome'da uzantı simgesini sağ tıklayın.
  2. Uzantıyı Yönet'i seçin.

    Uzantı içerik menüsü
    Uzantı menüsü
  3. Dosya URL'lerine erişimi veya gizli modu etkinleştirmek için sayfayı aşağı kaydırın.

    Uzantı ayrıntıları sayfasında dosya URL'lerine ve gizli moda izin ver
    Dosya URL'lerine ve gizli moda erişim etkinleştirildi.

Kullanıcının erişime izin verip vermediğini belirlemek için extension.isAllowedIncognitoAccess() veya extension.isAllowedFileSchemeAccess() numaralarını arayabilirsiniz.