Ç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:
- Uzantı hizmeti çalışanı ve uzantı sayfalarından
fetch()istekleri gönderin. chrome.tabsAPI'yi kullanarak hassas sekme özelliklerini (url, title ve favIconUrl) okuyun ve sorgulayın.- İçerik komut dosyası programatik olarak ekleyin.
chrome.webRequestAPI ile ağ isteklerini izleyin ve kontrol edin.chrome.cookiesAPI ile çerezlere erişin.chrome.declarativeNetRequestAPI'sini kullanarak istekleri ve yanıt başlıklarını yönlendirin ve değiştirin.
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:

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
- Chrome'da uzantı simgesini sağ tıklayın.
Uzantıyı Yönet'i seçin.
Uzantı menüsü Dosya URL'lerine veya gizli moda erişimi etkinleştirmek için aşağı kaydırın.
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.