İzinleri beyan etme

Çoğu uzantı API'sini ve özelliğini kullanmak için uzantınızın amacını manifest dosyasının izin alanlarında belirtmeniz 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 uyarıya neden olabilir.
"optional_permissions"
Yükleme sırasında değil, çalışma zamanında kullanıcı tarafından verilir.
"content_scripts.matches"
İçerik komut dosyalarının bir veya daha fazla ana makineye yerleştirilmesine izin veren bir veya daha fazla eşleşme kalıbı içerir. Değişiklikler uyarıya neden olabilir.
"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 uyarıya neden olabilir.
"optional_host_permissions"
Yükleme sırasında değil, çalışma zamanında kullanıcı tarafından verilir.

İzinler, uzantınız kötü amaçlı yazılımlardan etkilenirse hasarı sınırlamaya yardımcı olur. Bazı izin uyarıları, Uyarı içeren izin bölümünde ayrıntılı olarak açıklandığı gibi, yüklemeden önce veya çalışma zamanında kullanıcıların izni için gösterilir.

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

Bir API için izin gerekliyse dokümanlarında bu iznin nasıl beyan edileceği açıklanır. Örnek için Storage API'ye bakın.

Manifest

Aşağıda, bir manifest dosyasının izinler bölümüne dair 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şimde bulunmasına olanak tanır. Bazı Chrome API'leri, her referans sayfasında belgelenen kendi API izinlerine ek olarak ana makine izinleri gerektirir. Aşağıda bazı örnekler verilmiştir:

Uyarı içeren izinler

Bir uzantı birden fazla izin istediğinde ve bunların çoğu yükleme sırasında uyarı gösterdiğ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ılar gösteren veya izinlerin kendilerine açıklandığı uzantılara güvenme olasılığı daha yüksektir. Uyarıları önlemek için isteğe bağlı izinler veya daha az güçlü bir API kullanmayı deneyin. Uyarılarla ilgili en iyi uygulamalar için İzin uyarılarıyla ilgili yönergeler başlıklı makaleyi inceleyin. Belirli uyarılar, İzinler referans listesinde geçerli oldukları izinlerle birlikte listelenir.

Manifest dosyasının "host_permissions" ve "content_scripts.matches" alanlarına eşleşme kalıpları eklemek veya bu alanlardaki eşleşme kalıplarını değiştirmek de uyarıya neden olur. Daha fazla bilgi edinmek için İzinleri güncelleme başlıklı makaleyi inceleyin.

Erişim izni ver

Uzantınızın file:// URL'lerinde çalışması veya Gizli modda çalışması gerekiyorsa kullanıcıların ayrıntılar sayfasında uzantıya erişim izni vermesi gerekir. 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 veya gizli moda erişimi etkinleştirmek için aşağı kaydırın.

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

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