İzinleri beyan etme

Çoğu chrome.* API'yi kullanmak için Uzantınız veya uygulamanız, manifest dosyasının "permissions" alanında amacını beyan etmelidir. Her izin, bilinen dizeler listesinden biri (ör. "coğrafi konum") veya bir ya da daha fazla ana makineye erişim sağlayan bir eşleşme kalıbı olabilir. İzinler, uzantınız veya uygulamanız kötü amaçlı yazılımlar tarafından ele geçirilirse hasarı sınırlamaya yardımcı olur. Bazı izinler, İzin Uyarıları bölümünde ayrıntılı olarak açıklandığı gibi, yüklemeden önce kullanıcılara gösterilir.

Bir API, manifest dosyasında izin beyan etmenizi gerektiriyorsa bunu nasıl yapacağınız API'nin dokümanlarında açıklanır. Örneğin, Depolama sayfasında "depolama" izninin nasıl beyan edileceği gösterilir.

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

"permissions": [
  "tabs",
  "bookmarks",
  "http://www.blogger.com/",
  "http://*.google.com/",
  "unlimitedStorage"
],

Aşağıdaki tabloda, şu anda kullanılabilen izinler listelenmiştir:

İzin Açıklama
"activeTab" Uzantıya activeTab spesifikasyonuna göre izin verilmesini ister.
"alarms" Uzantınıza chrome.alarms API'sine erişim izni verir.
"background"

Chrome'un erken başlatılıp geç kapatılmasını sağlayarak uygulamaların ve uzantıların daha uzun süre çalışmasına olanak tanır.

Yüklü barındırılan uygulamalardan, paketlenmiş uygulamalardan veya uzantılardan herhangi birinin "arka plan" izni varsa Chrome, kullanıcı bilgisayarına giriş yapar yapmaz (görünmez bir şekilde) çalışır. Bu, kullanıcı Chrome'u başlatmadan önce gerçekleşir. "background" izni, kullanıcı Chrome'dan açıkça çıkana kadar Chrome'un çalışmaya devam etmesini de (son penceresi kapatıldıktan sonra bile) sağlar.

Not: Devre dışı bırakılan uygulamalar ve uzantılar, yüklenmemiş gibi değerlendirilir.

"background" iznini genellikle bir arka plan sayfası, etkinlik sayfası veya (barındırılan uygulamalar için) bir arka plan penceresi ile kullanırsınız.

"bookmarks" Uzantınıza chrome.bookmarks API'sine erişim izni verir.
"browsingData" Uzantınızın chrome.browsingData API'sine erişmesine izin verir.
"certificateProvider" Uzantınıza chrome.certificateProvider API'sine erişim izni verir.
"clipboardRead" Uzantı veya uygulama document.execCommand('paste') kullanıyorsa zorunludur.
"clipboardWrite" Uzantı veya uygulamanın document.execCommand('copy') ya da document.execCommand('cut') kullandığını gösterir. Bu izin, barındırılan uygulamalar için gereklidir; uzantılar ve paketlenmiş uygulamalar için önerilir.
"contentSettings" Uzantınıza chrome.contentSettings API'sine erişim izni verir.
"contextMenus" Uzantınıza chrome.contextMenus API'sine erişim izni verir.
"cookies" Uzantınızın chrome.cookies API'sine erişmesine izin verir.
"debugger" Uzantınızın chrome.debugger API'ye erişmesine izin verir.
"declarativeContent" Uzantınıza chrome.declarativeContent API'sine erişim izni verir.
"declarativeNetRequest" Uzantınıza chrome.declarativeNetRequest API'sine erişim izni verir.
"declarativeNetRequestFeedback" Uzantıya, eşleşen kural tabanlı kurallar hakkında bilgi döndüren chrome.declarativeNetRequest API'deki etkinliklere ve yöntemlere erişim izni verir.
"declarativeWebRequest" Uzantınıza chrome.declarativeWebRequest API'sine erişim izni verir.
"desktopCapture" Uzantınızın chrome.desktopCapture API'ye erişmesine izin verir.
"documentScan" Uzantınızın chrome.documentScan API'ye erişmesine izin verir.
"downloads" Uzantınıza chrome.downloads API'sine erişim izni verir.
"enterprise.deviceAttributes" Uzantınızın chrome.enterprise.deviceAttributes API'ye erişmesine izin verir.
"enterprise.hardwarePlatform" Uzantınıza chrome.enterprise.hardwarePlatform API'sine erişim izni verir.
"enterprise.networkingAttributes" Uzantınıza chrome.enterprise.networkingAttributes API'sine erişim izni verir.
"enterprise.platformKeys" Uzantınıza chrome.enterprise.platformKeys API'sine erişim izni verir.
"experimental" Uzantı veya uygulama herhangi bir chrome.experimental.* kullanıyorsa zorunludur. API'ler.
"fileBrowserHandler" Uzantınıza chrome.fileBrowserHandler API'sine erişim izni verir.
"fileSystemProvider" Uzantınıza chrome.fileSystemProvider API'sine erişim izni verir.
"fontSettings" Uzantınıza chrome.fontSettings API'sine erişim izni verir.
"gcm" Uzantınıza chrome.gcm API'sine erişim izni verir.
"geolocation" Uzantının veya uygulamanın, kullanıcıdan izin istemeden geolocation API'yi kullanmasına izin verir.
"history" Uzantınıza chrome.history API'sine erişim izni verir.
"identity" Uzantınızın chrome.identity API'sine erişmesine izin verir.
"idle" Uzantınıza chrome.idle API'sine erişim izni verir.
"loginState" Uzantınıza chrome.loginState API'sine erişim izni verir.
"management" Uzantınıza chrome.management API'sine erişim izni verir.
"nativeMessaging" Uzantınızın yerel mesajlaşma API'sine erişmesine izin verir.
"notifications" Uzantınıza chrome.notifications API'sine erişim izni verir.
"pageCapture" Uzantınıza chrome.pageCapture API'ye erişim izni verir.
"platformKeys" Uzantınıza chrome.platformKeys API'sine erişim izni verir.
"power" Uzantınıza chrome.power API'sine erişim izni verir.
"printerProvider" Uzantınızın chrome.printerProvider API'ye erişmesine izin verir.
"printing" Uzantınıza chrome.printing API'sine erişim izni verir.
"printingMetrics" Uzantınıza chrome.printingMetrics API'sine erişim izni verir.
"privacy" Uzantınıza chrome.privacy API'sine erişim izni verir.
"processes" Uzantınıza chrome.processes API'sine erişim izni verir.
"proxy" Uzantınıza chrome.proxy API'sine erişim izni verir.
"scripting" Uzantınıza chrome.scripting API'ye erişim izni verir.
"sessions" Uzantınıza chrome.sessions API'sine erişim izni verir.
"signedInDevices" Uzantınıza chrome.signedInDevices API'sine erişim izni verir.
"storage" Uzantınıza chrome.storage API'ye erişim izni verir.
"system.cpu" Uzantınıza chrome.system.cpu API'sine erişim izni verir.
"system.display" Uzantınıza chrome.system.display API'sine erişim izni verir.
"system.memory" Uzantınıza chrome.system.memory API'sine erişim izni verir.
"system.storage" Uzantınıza chrome.system.storage API'ye erişim izni verir.
"tabCapture" Uzantınıza chrome.tabCapture API'sine erişim izni verir.
"tabGroups" Uzantınıza chrome.tabGroups API'sine erişim izni verir.
"tabs" Uzantınıza, chrome.tabs ve chrome.windows gibi çeşitli API'ler tarafından kullanılan Tab nesnelerinin ayrıcalıklı alanlarına erişim izni verir. Çoğu durumda, uzantınızın bu API'leri kullanmak için "tabs" iznini beyan etmesi gerekmez.
"topSites" Uzantınızın chrome.topSites API'sine erişmesine izin verir.
"tts" Uzantınızın chrome.tts API'ye erişmesine izin verir.
"ttsEngine" Uzantınıza chrome.ttsEngine API'sine erişim izni verir.
"unlimitedStorage" Veritabanları ve yerel depolama dosyaları gibi istemci tarafı verilerini depolamak için sınırsız kota sağlar. Bu izin olmadan uzantı veya uygulama 5 MB yerel depolama alanıyla sınırlıdır.
Not: Bu izin yalnızca Web SQL Veritabanı ve uygulama önbelleği için geçerlidir (58985 numaralı soruna bakın). Ayrıca, şu anda http://*.example.com gibi joker karakterli alt alan adlarıyla çalışmaz.
"vpnProvider" Uzantınıza chrome.vpnProvider API'sine erişim izni verir.
"webNavigation" Uzantınıza chrome.webNavigation API'sine erişim izni verir.
"webRequest" Uzantınıza chrome.webRequest API'sine erişim izni verir.
"webRequestBlocking" Uzantı, chrome.webRequest API'yi engelleyici bir şekilde kullanıyorsa gereklidir.