Как объявлять разрешения

Чтобы использовать большинство API chrome.*, API, расширение или приложение должно объявить о своем намерении в поле permissions манифеста. Каждое разрешение может быть либо одной из известных строк (например, "geolocation"), либо шаблоном соответствия, который предоставляет доступ к одному или нескольким хостам. Разрешения помогают ограничить ущерб, если расширение или приложение будет заражено вредоносным ПО. Некоторые разрешения также показываются пользователям перед установкой, как описано в разделе Предупреждения о разрешениях.

Если API требует объявить разрешение в манифесте, в документации к нему будет указано, как это сделать. Например, на странице Storage показано, как объявить разрешение "storage".

Вот пример раздела разрешений в файле манифеста:

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

В таблице ниже перечислены доступные разрешения.

Разрешение Описание
"activeTab" Запрашивает разрешения для расширения в соответствии со спецификацией activeTab.
"alarms" Предоставляет расширению доступ к chrome.alarms API.
"background"

Позволяет Chrome запускаться раньше и завершать работу позже, чтобы приложения и расширения могли работать дольше.

Если у установленного размещаемого или упакованного приложения или расширения есть разрешение на работу в фоновом режиме, Chrome запускается (незаметно) сразу после входа пользователя в систему, то есть до того, как пользователь запустит Chrome. Разрешение background также позволяет Chrome продолжать работу (даже после закрытия последнего окна), пока пользователь явно не выйдет из Chrome.

Примечание. Отключенные приложения и расширения обрабатываются так, как если бы они не были установлены.

Обычно разрешение background используется с фоновой страницей, страницей событий или (для размещаемых приложений) фоновым окном.

"bookmarks" Предоставляет расширению доступ к API chrome.bookmarks.
"browsingData" Предоставляет расширению доступ к chrome.browsingData API.
"certificateProvider" Предоставляет расширению доступ к chrome.certificateProvider API.
"clipboardRead" Обязательно, если расширение или приложение использует document.execCommand('paste').
"clipboardWrite" Указывает, что расширение или приложение использует document.execCommand('copy') или document.execCommand('cut'). Это разрешение обязательно для размещаемых приложений и рекомендуется для расширений и упакованных приложений.
"contentSettings" Предоставляет расширению доступ к API chrome.contentSettings.
"contextMenus" Предоставляет расширению доступ к chrome.contextMenus API.
"cookies" Предоставляет расширению доступ к chrome.cookies API.
"debugger" Предоставляет расширению доступ к chrome.debugger API.
"declarativeContent" Предоставляет расширению доступ к chrome.declarativeContent API.
"declarativeNetRequest" Предоставляет расширению доступ к chrome.declarativeNetRequest API.
"declarativeNetRequestFeedback" Предоставляет расширению доступ к событиям и методам в API chrome.declarativeNetRequest, которые возвращают информацию о совпавших декларативных правилах.
"declarativeWebRequest" Предоставляет расширению доступ к chrome.declarativeWebRequest API.
"desktopCapture" Предоставляет расширению доступ к chrome.desktopCapture API.
"documentScan" Предоставляет расширению доступ к chrome.documentScan API.
"downloads" Предоставляет расширению доступ к chrome.downloads API.
"enterprise.deviceAttributes" Предоставляет расширению доступ к chrome.enterprise.deviceAttributes API.
"enterprise.hardwarePlatform" Предоставляет расширению доступ к chrome.enterprise.hardwarePlatform API.
"enterprise.networkingAttributes" Предоставляет расширению доступ к chrome.enterprise.networkingAttributes API.
"enterprise.platformKeys" Предоставляет расширению доступ к chrome.enterprise.platformKeys API.
"experimental" Обязательно, если расширение или приложение использует API chrome.experimental.* APIs.
"fileBrowserHandler" Предоставляет расширению доступ к API chrome.fileBrowserHandler.
"fileSystemProvider" Предоставляет расширению доступ к chrome.fileSystemProvider API.
"fontSettings" Предоставляет расширению доступ к API chrome.fontSettings.
"gcm" Предоставляет расширению доступ к chrome.gcm API.
"geolocation" Разрешает расширению или приложению использовать API геолокации без запроса разрешения у пользователя.
"history" Предоставляет расширению доступ к chrome.history API.
"identity" Предоставляет расширению доступ к chrome.identity API.
"idle" Предоставляет расширению доступ к API chrome.idle.
"loginState" Предоставляет расширению доступ к chrome.loginState API.
"management" Предоставляет расширению доступ к chrome.management API.
"nativeMessaging" Предоставляет расширению доступ к API обмена сообщениями с нативными приложениями.
"notifications" Предоставляет расширению доступ к API chrome.notifications.
"pageCapture" Предоставляет расширению доступ к chrome.pageCapture API.
"platformKeys" Предоставляет расширению доступ к chrome.platformKeys API.
"power" Предоставляет расширению доступ к chrome.power API.
"printerProvider" Предоставляет расширению доступ к chrome.printerProvider API.
"printing" Предоставляет расширению доступ к chrome.printing API.
"printingMetrics" Предоставляет расширению доступ к chrome.printingMetrics API.
"privacy" Предоставляет расширению доступ к chrome.privacy API.
"processes" Предоставляет расширению доступ к chrome.processes API.
"proxy" Предоставляет расширению доступ к chrome.proxy API.
"scripting" Предоставляет расширению доступ к chrome.scripting API.
"sessions" Предоставляет расширению доступ к chrome.sessions API.
"signedInDevices" Предоставляет расширению доступ к API chrome.signedInDevices.
"storage" Предоставляет расширению доступ к chrome.storage API.
"system.cpu" Предоставляет расширению доступ к chrome.system.cpu.
"system.display" Предоставляет расширению доступ к API chrome.system.display.
"system.memory" Предоставляет расширению доступ к chrome.system.memory.
"system.storage" Предоставляет расширению доступ к chrome.system.storage API.
"tabCapture" Предоставляет расширению доступ к API chrome.tabCapture.
"tabGroups" Предоставляет расширению доступ к chrome.tabGroups API.
"tabs" Предоставляет расширению доступ к привилегированным полям объектов Tab, используемых несколькими API, включая chrome.tabs и chrome.windows. Во многих случаях расширению не нужно объявлять разрешение "tabs", чтобы использовать эти API.
"topSites" Предоставляет расширению доступ к chrome.topSites API.
"tts" Предоставляет расширению доступ к chrome.tts API.
"ttsEngine" Предоставляет расширению доступ к chrome.ttsEngine API.
"unlimitedStorage" Предоставляет неограниченную квоту на хранение клиентских данных, например баз данных и файлов локального хранилища. Без этого разрешения расширение или приложение может использовать не более 5 МБ локального хранилища.
Примечание. Это разрешение применяется только к базе данных Web SQL и кешу приложения (см. ошибку 58985). Кроме того, в настоящее время он не работает с поддоменами, в которых используются подстановочные знаки, например http://*.example.com.
"vpnProvider" Предоставляет расширению доступ к chrome.vpnProvider API.
"webNavigation" Предоставляет расширению доступ к chrome.webNavigation API.
"webRequest" Предоставляет расширению доступ к chrome.webRequest API.
"webRequestBlocking" Требуется, если расширение использует API chrome.webRequest в режиме блокировки.