Declarar permissões

Para usar a maior parte do chrome.* APIs, a extensão ou o app precisa declarar a intent no campo "permissões" do manifesto. Cada permissão pode ser 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 exibidas para os 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 informará como fazer isso. Por exemplo, a página Armazenamento mostra como declarar a permissão de "armazenamento".

Veja 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" Concede à extensão acesso à API chrome.alarms.
"background"

Faz o Chrome iniciar cedo e desligar tarde, para que apps e extensões possam ter uma vida útil mais longa.

Quando qualquer aplicativo, aplicativo empacotado ou extensão hospedado tem permissão de "segundo plano", o Chrome é executado (invisível) assim que o usuário faz login no computador, antes de iniciar o Chrome. A permissão de "segundo plano" também faz com que o Chrome continue em execução (mesmo após a última janela ser fechada) até que o usuário o saia explicitamente.

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

Normalmente, a permissão "segundo plano" é usada com uma página de plano de fundo, uma página de eventos ou, para apps hospedados, uma janela em segundo plano.

"bookmarks" Concede à extensão acesso à API chrome.bookmarks.
"browsingData" Concede à extensão acesso à API chrome.browsingData.
"certificateProvider" Concede à 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 é obrigatória para apps hospedados. Ela é recomendada para extensões e apps em pacotes.
"contentSettings" Concede à extensão acesso à API chrome.contentSettings.
"contextMenus" Concede à extensão acesso à API chrome.contextMenus.
"cookies" Concede à extensão acesso à API chrome.cookies.
"debugger" Concede à extensão acesso à API chrome.debugger.
"declarativeContent" Concede à extensão acesso à API chrome.declarativeContent.
"declarativeNetRequest" Concede à extensão acesso à API chrome.declarativeNetRequest.
"declarativeNetRequestFeedback" Concede à extensão acesso a eventos e métodos na API chrome.declarativeNetRequest, que retornam informações sobre as regras declarativas correspondentes.
"declarativeWebRequest" Concede à extensão acesso à API chrome.declarativeWebRequest.
"desktopCapture" Concede à extensão acesso à API chrome.desktopCapture.
"documentScan" Concede à extensão acesso à API chrome.documentScan.
"downloads" Concede à extensão acesso à API chrome.downloads.
"enterprise.deviceAttributes" Concede à extensão acesso à API chrome.enterprise.deviceAttributes.
"enterprise.hardwarePlatform" Concede à extensão acesso à API chrome.enterprise.hardwarePlatform.
"enterprise.networkingAttributes" Concede à extensão acesso à API chrome.enterprise.networkingAttributes.
"enterprise.platformKeys" Concede à extensão acesso à API chrome.enterprise.platformKeys.
"experimental" Obrigatório se a extensão ou o app usar qualquer arquivo chrome.experimental.* APIs.
"fileBrowserHandler" Concede à extensão acesso à API chrome.fileBrowserHandler.
"fileSystemProvider" Concede à extensão acesso à API chrome.fileSystemProvider.
"fontSettings" Concede à extensão acesso à API chrome.fontSettings.
"gcm" Concede à extensão acesso à API chrome.gcm.
"geolocation" Permite que a extensão ou o app use a API Geolocation sem solicitar a permissão do usuário.
"history" Concede à extensão acesso à API chrome.history.
"identity" Concede à extensão acesso à API chrome.identity.
"idle" Concede à extensão acesso à API chrome.idle.
"loginState" Concede à extensão acesso à API chrome.loginState.
"management" Concede à extensão acesso à API chrome.management.
"nativeMessaging" Concede à extensão acesso à API de mensagens nativas.
"notifications" Concede à extensão acesso à API chrome.notifications.
"pageCapture" Concede à extensão acesso à API chrome.pageCapture.
"platformKeys" Concede à extensão acesso à API chrome.platformKeys.
"power" Concede à extensão acesso à API chrome.power.
"printerProvider" Concede à extensão acesso à API chrome.printerProvider.
"printing" Concede à extensão acesso à API chrome.printing.
"printingMetrics" Concede à extensão acesso à API chrome.printingMetrics.
"privacy" Concede à extensão acesso à API chrome.privacy.
"processes" Concede à extensão acesso à API chrome.processes.
"proxy" Concede à extensão acesso à API chrome.proxy.
"scripting" Concede à extensão acesso à API chrome.scripting.
"sessions" Concede à extensão acesso à API chrome.sessions.
"signedInDevices" Concede à extensão acesso à API chrome.signedInDevices.
"storage" Concede à extensão acesso à API chrome.storage.
"system.cpu" Concede à extensão acesso à API chrome.system.cpu.
"system.display" Concede à extensão acesso à API chrome.system.display.
"system.memory" Concede à extensão acesso à API chrome.system.memory.
"system.storage" Concede à extensão acesso à API chrome.system.storage.
"tabCapture" Concede à extensão acesso à API chrome.tabCapture.
"tabGroups" Concede à extensão acesso à API chrome.tabGroups.
"tabs" Concede à extensão acesso a campos privilegiados dos objetos Tab usados por várias APIs, incluindo chrome.tabs e chrome.windows. Em muitos casos, sua extensão não precisará declarar a permissão "tabs" para usar essas APIs.
"topSites" Concede à extensão acesso à API chrome.topSites.
"tts" Concede à extensão acesso à API chrome.tts.
"ttsEngine" Concede à extensão acesso à API chrome.ttsEngine.
"unlimitedStorage" Fornece 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 é limitado a 5 MB de armazenamento local.
Observação:essa permissão se aplica somente 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 curinga, como http://*.example.com.
"vpnProvider" Concede à extensão acesso à API chrome.vpnProvider.
"wallpaper" Concede à extensão acesso à API chrome.wallpaper.
"webNavigation" Concede à extensão acesso à API chrome.webNavigation.
"webRequest" Concede à extensão acesso à API chrome.webRequest.
"webRequestBlocking" Obrigatório se a extensão usar a API chrome.webRequest de forma bloqueada.