Объявить разрешения

Чтобы использовать большинство API и функций расширений , вы должны объявить намерение вашего расширения в полях разрешений манифеста . Расширения могут запрашивать следующие категории разрешений, указанные с помощью соответствующих ключей манифеста:

"permissions"
Содержит элементы из списка известных строк . Изменения могут вызвать предупреждение .
"optional_permissions"
Предоставляется пользователем во время выполнения, а не во время установки.
"content_scripts.matches"
Содержит один или несколько шаблонов соответствия , которые позволяют сценариям содержимого внедряться на один или несколько хостов. Изменения могут вызвать предупреждение .
"host_permissions"
Содержит один или несколько шаблонов соответствия , которые предоставляют доступ к одному или нескольким хостам. Изменения могут вызвать предупреждение .
"optional_host_permissions"
Предоставляется пользователем во время выполнения, а не во время установки.

Разрешения помогают ограничить ущерб, если ваше расширение будет скомпрометировано вредоносным ПО. Некоторые предупреждения о разрешениях отображаются пользователям для получения их согласия перед установкой или во время выполнения, как подробно описано в разделе «Разрешения с предупреждениями» .

Рассмотрите возможность использования дополнительных разрешений везде, где это позволяет функциональность вашего расширения, чтобы предоставить пользователям информированный контроль над доступом к ресурсам и данным.

Если API требует разрешения, в его документации объясняется, как его объявить. Пример см. в разделе API хранилища .

Манифест

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

манифест.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
}

Разрешения хоста

Разрешения хоста позволяют расширениям взаимодействовать с шаблонами соответствия URL-адресов. Некоторым API-интерфейсам Chrome требуются разрешения хоста в дополнение к собственным разрешениям API, которые описаны на каждой справочной странице. Вот несколько примеров:

Разрешения с предупреждениями

Когда расширение запрашивает несколько разрешений и многие из них отображают предупреждения при установке, пользователь увидит список предупреждений, как в следующем примере: