Cómo declarar permisos

Para usar la mayoría de las funciones de Chrome.* Las APIs, tu extensión o app deben declarar su intent en el campo "permisos" del manifest. Cada permiso puede ser uno de una lista de cadenas conocidas (como "geolocation") o un patrón de coincidencia que dé acceso a uno o más hosts. Los permisos ayudan a limitar los daños si un software malicioso vulnera tu extensión o app. Algunos permisos también se muestran a los usuarios antes de la instalación, como se detalla en Advertencias de permisos.

Si una API requiere que declares un permiso en el manifiesto, su documentación te indica cómo hacerlo. Por ejemplo, la página Almacenamiento te muestra cómo declarar el permiso de "almacenamiento".

Este es un ejemplo de la parte de permisos de un archivo de manifiesto:

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

En la siguiente tabla, se enumeran los permisos disponibles actualmente:

Permiso Descripción
"activeTab" Solicita que se otorguen permisos a la extensión según la especificación de activeTab.
"alarms" Le otorga a tu extensión acceso a la API de chrome.alarms.
"background"

Hace que Chrome se inicie antes y se cierre más tarde, de modo que las apps y las extensiones puedan tener una vida útil más larga.

Cuando una app alojada, una app empaquetada o una extensión instalada tiene permiso "en segundo plano", Chrome se ejecuta (de forma invisible) en cuanto el usuario accede a su computadora, antes de que inicie Chrome. El permiso de "segundo plano" también hace que Chrome siga ejecutándose (incluso después de que se cierre la última ventana) hasta que el usuario lo cierre de forma explícita.

Nota: Las apps y extensiones inhabilitadas se tratan como si no estuvieran instaladas.

Por lo general, usas el permiso "en segundo plano" con una página en segundo plano, una página de evento o (para apps alojadas) una ventana en segundo plano.

"bookmarks" Le otorga a tu extensión acceso a la API de chrome.bookmarks.
"browsingData" Le otorga a tu extensión acceso a la API de chrome.browsingData.
"certificateProvider" Le otorga a tu extensión acceso a la API de chrome.certificateProvider.
"clipboardRead" Obligatorio si la extensión o app usa document.execCommand('paste').
"clipboardWrite" Indica que la extensión o app usa document.execCommand('copy') o document.execCommand('cut'). Este permiso es obligatorio para las apps alojadas y se recomienda para las extensiones y las apps empaquetadas.
"contentSettings" Le otorga a tu extensión acceso a la API de chrome.contentSettings.
"contextMenus" Otorga a tu extensión acceso a la API de chrome.contextMenus.
"cookies" Le otorga a tu extensión acceso a la API de chrome.cookies.
"debugger" Le otorga a tu extensión acceso a la API de chrome.debugger.
"declarativeContent" Otorga a tu extensión acceso a la API de chrome.declarativeContent.
"declarativeNetRequest" Le otorga a tu extensión acceso a la API de chrome.declarativeNetRequest.
"declarativeNetRequestFeedback" Otorga a la extensión acceso a eventos y métodos dentro de la API de chrome.declarativeNetRequest que muestran información sobre las reglas declarativas que coinciden.
"declarativeWebRequest" Le otorga a tu extensión acceso a la API de chrome.declarativeWebRequest.
"desktopCapture" Le otorga a tu extensión acceso a la API de chrome.desktopCapture.
"documentScan" Le otorga a tu extensión acceso a la API de chrome.documentScan.
"downloads" Le otorga a tu extensión acceso a la API de chrome.downloads.
"enterprise.deviceAttributes" Le otorga a tu extensión acceso a la API de chrome.enterprise.deviceAttributes.
"enterprise.hardwarePlatform" Le otorga a tu extensión acceso a la API de chrome.enterprise.hardwarePlatform.
"enterprise.networkingAttributes" Le otorga a tu extensión acceso a la API de chrome.enterprise.networkingAttributes.
"enterprise.platformKeys" Le otorga a tu extensión acceso a la API de chrome.enterprise.platformKeys.
"experimental" Obligatorio si la extensión o app usa chrome.experimental.* APIs.
"fileBrowserHandler" Le otorga a tu extensión acceso a la API de chrome.fileBrowserHandler.
"fileSystemProvider" Otorga a tu extensión acceso a la API de chrome.fileSystemProvider.
"fontSettings" Le otorga a tu extensión acceso a la API de chrome.fontSettings.
"gcm" Le otorga a tu extensión acceso a la API de chrome.gcm.
"geolocation" Permite que la extensión o app use la API de geolocalización sin solicitarle permiso al usuario.
"history" Le otorga a tu extensión acceso a la API de chrome.history.
"identity" Le otorga a tu extensión acceso a la API de chrome.identity.
"idle" Le otorga a tu extensión acceso a la API de chrome.idle.
"loginState" Le otorga a tu extensión acceso a la API de chrome.loginState.
"management" Le otorga a tu extensión acceso a la API de chrome.management.
"nativeMessaging" Le otorga a tu extensión acceso a la API de mensajería nativa.
"notifications" Le otorga a tu extensión acceso a la API de chrome.notifications.
"pageCapture" Le otorga a tu extensión acceso a la API de chrome.pageCapture.
"platformKeys" Le otorga a tu extensión acceso a la API de chrome.platformKeys.
"power" Le otorga a tu extensión acceso a la API de chrome.power.
"printerProvider" Otorga a tu extensión acceso a la API de chrome.printerProvider.
"printing" Le otorga a tu extensión acceso a la API de chrome.printing.
"printingMetrics" Le otorga a tu extensión acceso a la API de chrome.printingMetrics.
"privacy" Le otorga a tu extensión acceso a la API de chrome.privacy.
"processes" Le otorga a tu extensión acceso a la API de chrome.processes.
"proxy" Le otorga a tu extensión acceso a la API de chrome.proxy.
"scripting" Otorga a tu extensión acceso a la API de chrome.scripting.
"sessions" Le otorga a tu extensión acceso a la API de chrome.sessions.
"signedInDevices" Le otorga a tu extensión acceso a la API de chrome.signedInDevices.
"storage" Le otorga a tu extensión acceso a la API de chrome.storage.
"system.cpu" Otorga a tu extensión acceso a la API de chrome.system.cpu.
"system.display" Otorga a tu extensión acceso a la API de chrome.system.display.
"system.memory" Le otorga a tu extensión acceso a la API de chrome.system.memory.
"system.storage" Le otorga a tu extensión acceso a la API de chrome.system.storage.
"tabCapture" Le otorga a tu extensión acceso a la API de chrome.tabCapture.
"tabGroups" Le otorga a tu extensión acceso a la API de chrome.tabGroups.
"tabs" Le otorga a tu extensión acceso a campos con privilegios de los objetos Tab que usan varias APIs, como chrome.tabs y chrome.windows. En muchas circunstancias, tu extensión no necesitará declarar el permiso "tabs" para usar estas APIs.
"topSites" Le otorga a tu extensión acceso a la API de chrome.topSites.
"tts" Le otorga a tu extensión acceso a la API de chrome.tts.
"ttsEngine" Le otorga a tu extensión acceso a la API de chrome.ttsEngine.
"unlimitedStorage" Proporciona una cuota ilimitada para almacenar datos del cliente, como bases de datos y archivos de almacenamiento local. Sin este permiso, la extensión o la app se limitan a 5 MB de almacenamiento local.
Nota: Este permiso solo se aplica a la base de datos Web SQL y a la caché de la aplicación (consulta el problema 58985). Además, actualmente no funciona con subdominios de comodines, como http://*.example.com.
"vpnProvider" Le otorga a tu extensión acceso a la API de chrome.vpnProvider.
"wallpaper" Le otorga a tu extensión acceso a la API de chrome.wallpaper.
"webNavigation" Le otorga a tu extensión acceso a la API de chrome.webNavigation.
"webRequest" Le otorga a tu extensión acceso a la API de chrome.webRequest.
"webRequestBlocking" Obligatorio si la extensión usa la API de chrome.webRequest de forma de bloqueo.