Declarar permissões

Para usar a maioria dos recursos do Chrome.* APIs, sua extensão ou app precisa declarar a intent no campo "permissões" do manifest. Cada permissão pode ser uma de uma lista de strings conhecidas (como "geolocalização") ou um padrão de correspondência que dá acesso a um ou mais hosts. As permissões ajudam a limitar os danos se a extensão ou o app for comprometido por malware. Algumas permissões também são mostradas aos usuários antes da instalação, conforme detalhado em Avisos de permissão.

Se uma API exigir que você declare uma permissão no manifesto, a documentação dela vai informar como fazer isso. Por exemplo, a página Armazenamento mostra como declarar a permissão "armazenamento".

Confira um exemplo da parte de permissões de um arquivo de manifesto:

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

A tabela a seguir lista as permissões disponíveis no momento:

Permissão Descrição
"activeTab" Solicita que a extensão receba permissões de acordo com a especificação activeTab.
"alarms" Dá à sua extensão acesso à API chrome.alarms.
"background"

Faz com que o Chrome seja iniciado mais cedo e desativado mais tarde, para que apps e extensões tenham uma vida útil mais longa.

Quando qualquer app hospedado, app empacotado ou extensão instalada tem permissão "em segundo plano", o Chrome é executado (invisivelmente) assim que o usuário faz login no computador, antes de abrir o Chrome. A permissão "em segundo plano" também faz com que o Chrome continue em execução (mesmo após o fechamento da última janela) até que o usuário o encerre explicitamente.

Observação:as extensões e os apps desativados são tratados como se não estivessem instalados.

Normalmente, você usa a permissão "em segundo plano" com uma página em segundo plano, uma página de evento ou (para apps hospedados) uma janela em segundo plano.

"bookmarks" Dá à sua extensão acesso à API chrome.bookmarks.
"browsingData" Dá à sua extensão acesso à API chrome.browsingData.
"certificateProvider" Dá à sua extensão acesso à API chrome.certificateProvider.
"clipboardRead" Obrigatório se a extensão ou o app usar document.execCommand('paste').
"clipboardWrite" Indica que a extensão ou o app usa document.execCommand('copy') ou document.execCommand('cut'). Essa permissão é necessária para apps hospedados e é recomendada para extensões e apps empacotados.
"contentSettings" Dá à sua extensão acesso à API chrome.contentSettings.
"contextMenus" Dá à sua extensão acesso à API chrome.contextMenus.
"cookies" Dá à sua extensão acesso à API chrome.cookies.
"debugger" Dá à sua extensão acesso à API chrome.debugger.
"declarativeContent" Concede à sua extensão acesso à API chrome.declarativeContent.
"declarativeNetRequest" Dá à sua extensão acesso à API chrome.declarativeNetRequest.
"declarativeNetRequestFeedback" Concede à extensão acesso a eventos e métodos na API chrome.declarativeNetRequest, que retorna informações sobre regras declarativas correspondentes.
"declarativeWebRequest" Dá à sua extensão acesso à API chrome.declarativeWebRequest.
"desktopCapture" Concede à sua extensão acesso à API chrome.desktopCapture.
"documentScan" Concede à sua extensão acesso à API chrome.documentScan.
"downloads" Dá à sua extensão acesso à API chrome.downloads.
"enterprise.deviceAttributes" Dá à sua extensão acesso à API chrome.enterprise.deviceAttributes.
"enterprise.hardwarePlatform" Dá à sua extensão acesso à API chrome.enterprise.hardwarePlatform.
"enterprise.networkingAttributes" Concede à sua extensão acesso à API chrome.enterprise.networkingAttributes.
"enterprise.platformKeys" Dá à sua extensão acesso à API chrome.enterprise.platformKeys.
"experimental" Obrigatório se a extensão ou o app usar chrome.experimental.* APIs.
"fileBrowserHandler" Dá à sua extensão acesso à API chrome.fileBrowserHandler.
"fileSystemProvider" Dá à sua extensão acesso à API chrome.fileSystemProvider.
"fontSettings" Concede à sua extensão acesso à API chrome.fontSettings.
"gcm" Dá à sua extensão acesso à API chrome.gcm.
"geolocation" Permite que a extensão ou o app use a API de geolocalização sem pedir permissão ao usuário.
"history" Dá à sua extensão acesso à API chrome.history.
"identity" Dá à sua extensão acesso à API chrome.identity.
"idle" Dá à sua extensão acesso à API chrome.idle.
"loginState" Concede à sua extensão acesso à API chrome.loginState.
"management" Dá à sua extensão acesso à API chrome.management.
"nativeMessaging" Dá à sua extensão acesso à API de mensagens nativas.
"notifications" Dá à sua extensão acesso à API chrome.notifications.
"pageCapture" Concede à sua extensão acesso à API chrome.pageCapture.
"platformKeys" Dá à sua extensão acesso à API chrome.platformKeys.
"power" Dá à sua extensão acesso à API chrome.power.
"printerProvider" Dá à sua extensão acesso à API chrome.printerProvider.
"printing" Dá à sua extensão acesso à API chrome.printing.
"printingMetrics" Dá à sua extensão acesso à API chrome.printingMetrics.
"privacy" Dá à sua extensão acesso à API chrome.privacy.
"processes" Dá à sua extensão acesso à API chrome.processes.
"proxy" Dá à sua extensão acesso à API chrome.proxy.
"scripting" Concede à sua extensão acesso à API chrome.scripting.
"sessions" Concede à sua extensão acesso à API chrome.sessions.
"signedInDevices" Concede à sua extensão acesso à API chrome.signedInDevices.
"storage" Concede à sua extensão acesso à API chrome.storage.
"system.cpu" Dá à sua extensão acesso à API chrome.system.cpu.
"system.display" Dá à sua extensão acesso à API chrome.system.display.
"system.memory" Dá à sua extensão acesso à API chrome.system.memory.
"system.storage" Dá à sua extensão acesso à API chrome.system.storage.
"tabCapture" Concede à sua extensão acesso à API chrome.tabCapture.
"tabGroups" Concede à sua extensão acesso à API chrome.tabGroups.
"tabs" Dá à sua extensão acesso a campos privilegiados dos objetos Tab usados por várias APIs, incluindo chrome.tabs e chrome.windows. Em muitas circunstâncias, sua extensão não precisa declarar a permissão "tabs" para usar essas APIs.
"topSites" Dá à sua extensão acesso à API chrome.topSites.
"tts" Concede à sua extensão acesso à API chrome.tts.
"ttsEngine" Concede à sua extensão acesso à API chrome.ttsEngine.
"unlimitedStorage" Oferece uma cota ilimitada para armazenar dados do lado do cliente, como bancos de dados e arquivos de armazenamento local. Sem essa permissão, a extensão ou o app fica limitado a 5 MB de armazenamento local.
Observação:essa permissão se aplica apenas ao banco de dados Web SQL e ao cache do aplicativo. Consulte o problema 58985. Além disso, no momento, ele não funciona com subdomínios com caractere curinga, como http://*.example.com.
"vpnProvider" Dá à sua extensão acesso à API chrome.vpnProvider.
"wallpaper" Concede à sua extensão acesso à API chrome.wallpaper.
"webNavigation" Dá à sua extensão acesso à API chrome.webNavigation.
"webRequest" Dá à sua extensão acesso à API chrome.webRequest.
"webRequestBlocking" Obrigatório se a extensão usa a API chrome.webRequest de forma bloqueante.