--- title: permissões slug: Mozilla/Add-ons/WebExtensions/manifest.json/permissions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/permissions original_slug: Mozilla/Add-ons/WebExtensions/manifest.json/permissões ---
{{AddonSidebar}}
Tipo Array
Obrigatório Não
Examplo
"permissions": [
  "*://developer.mozilla.org/*",
  "webRequest"
]

Use a chave permissions para solicitar privilégios especiais para sua extensão. Esta chave é um array de strings, onde cada string é uma solicitação para uma permissão.

Se você solicitar permissões usando esta chave, o navegador poderá informar ao usuário que a extensão a ser instalada está solicitando certos privilégios, e perguntar se aceita ou não conceder esses privilégios. O navegador também poderá permitir que o usuário inspecione os privilégios de uma extensão depois que essa for instalada.

A chave pode conter três tipos de permissões:

Permissões de servidor (host)

Permissões de servidor são espscificadas como match patterns. Cada pattern identifica um grupo de URLs para os quais a extensão solicita privilégios adicionais. Por exemplo, uma permissão de servidor poderia ser "*://developer.mozilla.org/*".

Os privilégios adicionais incluem:

No Firefox, da versão 56 em diante, extensões recebem automaticamente permissões de servidor para sua própria origem, que é na forma:

moz-extension://60a20a9b-1ad4-af49-9b6c-c64c98c37920/

onde 60a20a9b-1ad4-af49-9b6c-c64c98c37920 é o ID interno da extensão. A extensão pode obter essa URL programaticamente chamando extension.getURL():

browser.extension.getURL("");
// moz-extension://60a20a9b-1ad4-af49-9b6c-c64c98c37920/

Permissões de API

Permissões de API são especificadas como palavras-chave. Cada palavra-chave nomeia uma API WebExtension que a extensão gostaria de usar.

As seguintes palavras-chave estão atualmente disponíveis:

Na maioria dos casos, a permissão apenas concede acesso à API, com as seguintes exceções:

Permissão activeTab (aba ativa)

Esta permissão é especificada como "activeTab". Se uma extensão tem a permissão activeTab, quando o usuário interage com a extensão, a extensão recebe privilégios adicionais somente para a aba ativa.

"Interação do usuário" inclui:

Os privilégios adicionais são:

A intenção desta permissão é permitir que extensões executem um caso de uso comum, sem ter que lhes dar permissões poderosas demais. Muitas extensões querem "fazer alguma coisa com a página atual quando o usuário pede". Por exemplo, considere uma extensão que queira executar um script na página atual quando o usuário clicar em uma ação do navegador. Se a permissão  activeTab não existisse, a extensão precisaria pedir a permissão de servidor <all_urls>. Mas isso daria à extensão mais poder que o necessário: ela poderia executar scripts em qualquer aba e quando quisesse, em vez de apenas na aba atual e somente em resposta a uma ação do usuário.

Note que você só pode ter acesso à aba ou dado que estava ali, quando a interação do usuário ocorreu (por exemplo, um clique do mouse). Quando a aba ativa muda para outra página, por exemplo devido a concluir o carregamento ou algum outro evento, a permissão não lhe concede mais acesso à aba.

Normalmente, a aba a qual foi concedido activeTab é somente a aba ativa atual, exceto em um caso. A API menus permite a uma extensão criar um item de menu que é exibido se o usuário abrir o menu de contexto sobre uma aba (ou seja, no elemento na lista de abas que permite ao usuário mudar de uma aba para outra). Se o usuário clicar em um item desses, a permissão activeTab é concedida para a aba em que o usuário clicou, mesmo que essa não seja a aba ativa no momento (de acordo com Firefox 63, {{bug(1446956)}}).

Acesso à área de transferência

Existem duas permissões que permitem à extensão interagir com a área de transferência:

Consulte Interação com a área de transferência para saber todos os detalhes sobre isso.

Armazenamento ilimitado

A permissão unlimitedStorage:

Examplos

 "permissions": ["*://developer.mozilla.org/*"]

Solicita acesso privilegiado a páginas sob developer.mozilla.org.

  "permissions": ["tabs"]

Solicita acesso a partes privilegiadas da API tabs.

  "permissions": ["*://developer.mozilla.org/*", "tabs"]

Solicita ambas as permissões anteriores.

Compatibilidade com navegadores

{{Compat("webextensions.manifest.permissions")}}