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.
Este trabalho é licenciado ao abrigo de uma Licença Internacional creative Commons Attribution 4.0.