Compartilhar via


Declarar permissões de API no manifesto

Para utilizar a maioria das APIs, a chrome.* extensão tem de declarar a permissions intenção nos campos do manifesto. Uma extensão pode declarar permissões através de uma cadeia de permissão da tabela que se segue ou utilizar um padrão para corresponder a cadeias semelhantes. As permissões ajudam a restringir a extensão se esta for comprometida por software maligno. Algumas permissões são apresentadas aos utilizadores para o seu consentimento antes da instalação da extensão, ou no runtime, conforme necessário; estes são Avisos de Permissão.

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

Eis um exemplo da parte das permissões de um ficheiro de manifesto:

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

A tabela seguinte lista as cadeias de permissão atualmente disponíveis para utilizar no seu manifesto e as descrições.

Cadeia de permissão Detalhes
activeTab Pede que a extensão tenha 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 mais cedo e encerre tarde, para que as extensões possam ter uma vida útil mais longa.
Quando qualquer extensão instalada tiver background permissão, o Microsoft Edge é executado de forma invisivelmente assim que o utilizador inicia sessão no computador do utilizador e antes de o utilizador iniciar o Microsoft Edge. A background permissão também faz com que o Microsoft Edge continue em execução, mesmo após a última janela ser fechada, até que o utilizador saia explicitamente do Microsoft Edge.
Nota: As extensões desativadas são tratadas como se não estivessem instaladas.
Deve utilizar 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 utilizar document.execCommand('paste').
clipboardWrite Indica que a extensão utiliza 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 pedidos sem precisar de permissões de anfitrião, mas requer permissões de anfitrião para redirecionar pedidos ou modificar cabeçalhos.
declarativeNetRequestWithHostAccess Dá à sua extensão acesso à chrome.declarativeNetRequest API. Requer sempre permissões de anfitrião no URL do pedido e no iniciador para agir sobre o pedido.
declarativeNetRequestFeedback Concede à extensão acesso a eventos e métodos na API, que chrome.declarativeNetRequest devolve 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 utilizar 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 utilize a API de geolocalização sem pedir permissão ao utilizador.
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 nativa.
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 Desenvolver uma extensão para a 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 Dá à extensão acesso a campos privilegiados dos objetos de Tabulação que podem ser utilizados por várias APIs, incluindo chrome.tabs e chrome.windows. Em muitas circunstâncias, a extensão não precisa de declarar a tabs permissão para utilizar estas 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 quota ilimitada para armazenar dados do lado do cliente, como bases de dados e ficheiros de armazenamento locais. Sem esta permissão, a extensão está limitada a 5 MB de armazenamento local.
Esta permissão aplica-se apenas ao Banco de Dados SQL Web e à cache da aplicação (veja Problema 58985: A permissão de Armazenamento Ilimitado deve aplicar-se ao Armazenamento Local).
Atualmente, esta permissão não funciona com subdomínios de carateres universais, 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 utilizar a chrome.webRequest API para bloquear pedidos.

Observação

Partes desta página são modificações baseadas no trabalho criado e partilhado pela Google e utilizado de acordo com os termos descritos na Licença Internacional Creative Commons Attribution 4.0. A página original encontra-se aqui.

Licença Creative Commons Este trabalho é licenciado ao abrigo de uma Licença Internacional creative Commons Attribution 4.0.

Confira também