Чтобы использовать большинство 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, которые описаны на каждой справочной странице. Вот несколько примеров:
-  Выполняйте запросы fetch()от работника службы расширения и страниц расширения.
-  Прочитайте и запросите конфиденциальные свойства вкладки (url, заголовок и favIconUrl) с помощью API chrome.tabs.
- Программно внедрите сценарий содержимого .
-  Отслеживайте и управляйте сетевыми запросами с помощью API chrome.webRequest.
-  Получите доступ к файлам cookie с помощью API chrome.cookies.
-  Перенаправляйте и изменяйте запросы и заголовки ответов с помощью API chrome.declarativeNetRequest.
Разрешения с предупреждениями
Когда расширение запрашивает несколько разрешений и многие из них отображают предупреждения при установке, пользователь увидит список предупреждений, как в следующем примере:

Пользователи с большей вероятностью будут доверять расширению с ограниченным количеством предупреждений или разъяснением разрешений. Рассмотрите возможность реализации дополнительных разрешений или менее мощного API, чтобы избежать тревожных предупреждений. Рекомендации по использованию предупреждений см. в разделе Рекомендации по предупреждениям о разрешениях . Конкретные предупреждения перечислены вместе с разрешениями, к которым они применяются, в справочном списке «Разрешения» .
 Добавление или изменение шаблонов соответствия в полях "host_permissions" и "content_scripts.matches" файла манифеста также вызовет предупреждение . Дополнительную информацию см. в разделе Обновление разрешений .
Разрешить доступ
 Если ваше расширение должно запускаться по URL-адресам file:// или работать в режиме инкогнито, пользователи должны предоставить расширению доступ на странице сведений. Инструкции по открытию страницы сведений можно найти в разделе «Управление расширениями» . 
Разрешить доступ к URL-адресам файлов и страницам в режиме инкогнито.
- Щелкните правой кнопкой мыши значок расширения в Chrome.
- Выберите «Управление расширением» .  - Меню расширений 
- Прокрутите вниз, чтобы включить доступ к URL-адресам файлов или режим инкогнито.  - Доступ разрешен к URL-адресам файлов и режиму инкогнито. 
 Чтобы определить, разрешил ли пользователь доступ, вы можете вызвать extension.isAllowedIncognitoAccess() или extension.isAllowedFileSchemeAccess() .