Compartilhar via


Declarar permissões de API em manifestos de extensão

Para usar a chrome.* maioria das APIs, sua extensão deve declarar sua intenção nos permissions campos do manifesto. Uma extensão pode declarar permissões usando uma cadeia de caracteres de permissão da tabela a seguir ou usar um padrão para corresponder a cadeias de caracteres semelhantes. As permissões ajudam a restringir sua extensão se ela for comprometida por malware. Algumas permissões são exibidas aos usuários para seu consentimento antes da instalação da extensão ou em runtime, conforme necessário; estes são avisos de permissão.

Se uma API exigir que você declare permissões no manifesto, consulte a documentação dessa API para entender as permissões necessárias. Por exemplo, a página API de Armazenamento descreve como declarar a storage permissão.

Aqui está um exemplo da parte de permissões de um arquivo de manifesto:

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

A tabela a seguir lista as cadeias de caracteres de permissão disponíveis no momento a serem usadas em seu manifesto e as descrições.

Cadeia de caracteres de permissão Detalhes
activeTab Solicita que a extensão seja concedida permissões de acordo com a activeTab especificação.
alarms Dá à sua extensão acesso à chrome.alarms API.
background Faz com que o Microsoft Edge comece cedo e desligue tarde, para que as extensões possam ter uma vida útil mais longa.
Quando qualquer extensão instalada tem background permissão, o Microsoft Edge é executado de forma invisivelmente assim que o usuário faz logon no computador do usuário e antes do usuário iniciar o Microsoft Edge. A background permissão também faz com que o Microsoft Edge continue em execução, mesmo depois que sua última janela for fechada, até que o usuário saia explicitamente do Microsoft Edge.
Nota: As extensões desabilitadas são tratadas como se não estivessem instaladas.
Você deve usar a background permissão com scripts em segundo plano.
bookmarks Dá à sua extensão acesso à chrome.bookmarks API.
browsingData Dá à sua extensão acesso à chrome.browsingData API.
certificateProvider Dá à sua extensão acesso à chrome.certificateProvider API.
clipboardRead Necessário se a extensão usar document.execCommand('paste').
clipboardWrite Indica que a extensão usa document.execCommand('copy') ou document.execCommand('cut').
contentSettings Dá à sua extensão acesso à chrome.contentSettings API.
contextMenus Dá à sua extensão acesso à chrome.contextMenus API.
cookies Dá à sua extensão acesso à chrome.cookies API.
debugger Dá à sua extensão acesso à chrome.debugger API.
declarativeContent Dá à sua extensão acesso à chrome.declarativeContent API.
declarativeNetRequest Dá à sua extensão acesso à chrome.declarativeNetRequest API. Permite que a extensão bloqueie e atualize solicitações sem exigir permissões de host, mas requer permissões de host para redirecionar solicitações ou modificar cabeçalhos.
declarativeNetRequestWithHostAccess Dá à sua extensão acesso à chrome.declarativeNetRequest API. Sempre requer permissões de host na URL de solicitação e no iniciador para agir na solicitação.
declarativeNetRequestFeedback Concede o acesso de extensão a eventos e métodos dentro da chrome.declarativeNetRequest API, que retorna informações sobre regras declarativas correspondentes.
declarativeWebRequest Dá à sua extensão acesso à chrome.declarativeWebRequest API.
desktopCapture Dá à sua extensão acesso à chrome.desktopCapture API.
documentScan Dá à sua extensão acesso à chrome.documentScan API.
downloads Dá à sua extensão acesso à chrome.downloads API.
enterprise.deviceAttributes Dá à sua extensão acesso à chrome.enterprise.deviceAttributes API.
enterprise.hardwarePlatform Dá à sua extensão acesso à chrome.enterprise.hardwarePlatform API.
enterprise.networkingAttributes Dá à sua extensão acesso à chrome.enterprise.networkingAttributes API.
enterprise.platformKeys Dá à sua extensão acesso à chrome.enterprise.platformKeys API.
experimental Necessário se a extensão usar qualquer chrome.experimental.* API.
fileBrowserHandler Dá à sua extensão acesso à chrome.fileBrowserHandler API.
fileSystemProvider Dá à sua extensão acesso à chrome.fileSystemProvider API.
fontSettings Dá à sua extensão acesso à chrome.fontSettings API.
geolocation Permite que a extensão use a API de geolocalização sem solicitar permissão ao usuário.
history Dá à sua extensão acesso à chrome.history API.
identity Dá à sua extensão acesso à chrome.identity API.
idle Dá à sua extensão acesso à chrome.idle API.
loginState Dá à sua extensão acesso à chrome.loginState API.
management Dá à sua extensão acesso à chrome.management API.
nativeMessaging Dá à sua extensão acesso à API de mensagens nativas.
notifications Dá à sua extensão acesso à chrome.notifications API.
pageCapture Dá à sua extensão acesso à chrome.pageCapture API.
platformKeys Dá à sua extensão acesso à chrome.platformKeys API.
power Dá à sua extensão acesso à chrome.power API.
printerProvider Dá à sua extensão acesso à chrome.printerProvider API.
printing Dá à sua extensão acesso à chrome.printing API.
printingMetrics Dá à sua extensão acesso à chrome.printingMetrics API.
privacy Dá à sua extensão acesso à chrome.privacy API.
processes Dá à sua extensão acesso à chrome.processes API.
proxy Dá à sua extensão acesso à chrome.proxy API.
scripting Dá à sua extensão acesso à chrome.scripting API.
search Dá à sua extensão acesso à chrome.search API.
sessions Dá à sua extensão acesso à chrome.sessions API.
sidePanel Dá à sua extensão acesso à chrome.sidePanel API. Consulte Extensões na barra lateral do Microsoft Edge.
signedInDevices Dá à sua extensão acesso à chrome.signedInDevices API.
storage Dá à sua extensão acesso à chrome.storage API.
system.cpu Dá à sua extensão acesso à chrome.system.cpu API.
system.display Dá à sua extensão acesso à chrome.system.display API.
system.memory Dá à sua extensão acesso à chrome.system.memory API.
system.storage Dá à sua extensão acesso à chrome.system.storage API.
tabCapture Dá à sua extensão acesso à chrome.tabCapture API.
tabGroups Dá à sua extensão acesso à chrome.tabGroups API.
tabs Fornece acesso de extensão a campos privilegiados dos objetos Tab que podem ser usados por várias APIs, incluindo chrome.tabs e chrome.windows. Em muitas circunstâncias, sua extensão não precisa declarar a tabs permissão para fazer uso dessas APIs.
topSites Dá à sua extensão acesso à chrome.topSites API.
tts Dá à sua extensão acesso à chrome.tts API.
ttsEngine Dá à sua extensão acesso à chrome.ttsEngine API.
unlimitedStorage Fornece uma cota ilimitada para armazenar dados do lado do cliente, como bancos de dados e arquivos de armazenamento locais. Sem essa permissão, a extensão é limitada a 5 MB de armazenamento local.
Essa permissão se aplica apenas ao cache de aplicativos e Banco de Dados SQL Web (consulte Problema 58985: Permissão de armazenamento ilimitado deve ser aplicada ao Armazenamento Local).
Atualmente, essa permissão não funciona com subdomínios curinga, como http://*.contoso.com.
vpnProvider Dá à sua extensão acesso à chrome.vpnProvider API.
wallpaper Dá à sua extensão acesso à chrome.wallpaper API.
webNavigation Dá à sua extensão acesso à chrome.webNavigation API.
webRequest Dá à sua extensão acesso à chrome.webRequest API.
webRequestBlocking Necessário se a extensão usar a chrome.webRequest API para bloquear solicitações.

Observação

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Google e usadas de acordo com os termos descritos na Licença Internacional de Atribuição do Creative Commons 4.0. A página original é encontrada aqui.

Licença Creative Commons Este trabalho é licenciado sob uma Licença Internacional de Atribuição do Creative Commons 4.0.

Confira também