Cómo declarar permisos

Para usar la mayoría de Chrome.* Las APIs, tu extensión o app debe declarar su intent en el campo "permisos" del manifiesto. Cada permiso puede ser parte de una lista de strings conocidas (como "ubicación geográfica") o un patrón de coincidencia que otorga acceso a uno o más hosts. Los permisos ayudan a limitar el daño si tu extensión o app se ve comprometida por software malicioso. Algunos permisos también se muestran a los usuarios antes de la instalación, como se detalla en Advertencias sobre permisos.

Si una API requiere que declares un permiso en el manifiesto, su documentación te indicará cómo hacerlo. Por ejemplo, la página Almacenamiento 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:

Permisos Descripción
"activeTab" Solicita que la extensión obtenga permisos de acuerdo con la especificación activeTab.
"alarms" Otorga a tu extensión acceso a la API de chrome.alarms.
"background"

Permite que Chrome se inicie antes y se cierre tarde para extender la vida útil de las apps y extensiones.

Cuando una aplicación alojada, una aplicación empaquetada o una extensión instalada tiene permiso de "segundo plano", Chrome se ejecuta (de forma invisible) tan pronto como el usuario accede a su computadora, antes de iniciar Chrome. El permiso "en segundo plano" también permite que Chrome continúe ejecutándose (incluso después de que se cierre la última ventana) hasta que el usuario cierre Chrome de forma explícita.

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

Por lo general, se usa el permiso de "segundo plano" con una página de fondo o una página de eventos, o bien con una ventana de fondo (para apps alojadas).

"bookmarks" Otorga a tu extensión acceso a la API chrome.bookmarks.
"browsingData" Otorga a tu extensión acceso a la API chrome.browsingData.
"certificateProvider" Otorga a tu extensión acceso a la API de chrome.certificateProvider.
"clipboardRead" Es obligatorio si la extensión o app usa document.execCommand('paste').
"clipboardWrite" Indica que la extensión o la app usa document.execCommand('copy') o document.execCommand('cut'). Este permiso es obligatorio para las aplicaciones alojadas y se recomienda para las extensiones y las aplicaciones empaquetadas.
"contentSettings" 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" Otorga a tu extensión acceso a la API de chrome.cookies.
"debugger" Otorga a tu extensión acceso a la API de chrome.debugger.
"declarativeContent" Otorga a tu extensión acceso a la API chrome.declarativeContent.
"declarativeNetRequest" Otorga a tu extensión acceso a la API chrome.declarativeNetRequest.
"declarativeNetRequestFeedback" Otorga a la extensión acceso a eventos y métodos dentro de la API de chrome.declarativeNetRequest, que muestra información sobre reglas declarativas coincidentes.
"declarativeWebRequest" Otorga a tu extensión acceso a la API chrome.declarativeWebRequest.
"desktopCapture" Otorga a tu extensión acceso a la API de chrome.desktopCapture.
"documentScan" Otorga a tu extensión acceso a la API de chrome.documentScan.
"downloads" Otorga a tu extensión acceso a la API de chrome.downloads.
"enterprise.deviceAttributes" Otorga a tu extensión acceso a la API chrome.enterprise.deviceAttributes.
"enterprise.hardwarePlatform" Otorga a la extensión acceso a la API de chrome.enterprise.hardwarePlatform.
"enterprise.networkingAttributes" Otorga a tu extensión acceso a la API chrome.enterprise.networkingAttributes.
"enterprise.platformKeys" Otorga a tu extensión acceso a la API de chrome.enterprise.platformKeys.
"experimental" Obligatorio si la extensión o app usa algún elemento chrome.experimental.* APIs.
"fileBrowserHandler" Otorga a tu extensión acceso a la API chrome.fileBrowserHandler.
"fileSystemProvider" Otorga a tu extensión acceso a la API chrome.fileSystemProvider.
"fontSettings" Otorga a tu extensión acceso a la API de chrome.fontSettings.
"gcm" Otorga a tu extensión acceso a la API de chrome.gcm.
"geolocation" Permite que la extensión o la app use la API de ubicación geográfica sin solicitarle permiso al usuario.
"history" Otorga a tu extensión acceso a la API de chrome.history.
"identity" Otorga a tu extensión acceso a la API de chrome.identity.
"idle" Otorga a tu extensión acceso a la API de chrome.idle.
"loginState" Otorga a tu extensión acceso a la API chrome.loginState.
"management" Otorga a tu extensión acceso a la API de chrome.management.
"nativeMessaging" Otorga a tu extensión acceso a la API de mensajería nativa.
"notifications" Otorga a tu extensión acceso a la API de chrome.notifications.
"pageCapture" Otorga a tu extensión acceso a la API de chrome.pageCapture.
"platformKeys" Otorga a tu extensión acceso a la API de chrome.platformKeys.
"power" 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" Otorga a tu extensión acceso a la API de chrome.printing.
"printingMetrics" Otorga a tu extensión acceso a la API chrome.printingMetrics.
"privacy" Otorga a tu extensión acceso a la API de chrome.privacy.
"processes" Otorga a tu extensión acceso a la API de chrome.processes.
"proxy" Otorga a tu extensión acceso a la API de chrome.proxy.
"scripting" Otorga a tu extensión acceso a la API chrome.scripting.
"sessions" Otorga a tu extensión acceso a la API de chrome.sessions.
"signedInDevices" Otorga a tu extensión acceso a la API de chrome.signedInDevices.
"storage" Otorga a tu extensión acceso a la API de chrome.storage.
"system.cpu" Otorga a tu extensión acceso a la API chrome.system.cpu.
"system.display" Otorga a tu extensión acceso a la API de chrome.system.display.
"system.memory" Otorga a tu extensión acceso a la API de chrome.system.memory.
"system.storage" Otorga a tu extensión acceso a la API de chrome.system.storage.
"tabCapture" Otorga a tu extensión acceso a la API de chrome.tabCapture.
"tabGroups" Otorga a tu extensión acceso a la API chrome.tabGroups.
"tabs" Otorga a tu extensión acceso a campos privilegiados de los objetos Tab que usan varias APIs, incluidas chrome.tabs y chrome.windows. En muchos casos, tu extensión no necesitará declarar el permiso "tabs" para usar estas APIs.
"topSites" Otorga a tu extensión acceso a la API de chrome.topSites.
"tts" Otorga a tu extensión acceso a la API de chrome.tts.
"ttsEngine" Otorga a tu extensión acceso a la API de chrome.ttsEngine.
"unlimitedStorage" Proporciona una cuota ilimitada para el almacenamiento de datos del cliente, como bases de datos y archivos de almacenamiento local. Sin este permiso, la extensión o la app tienen un límite de 5 MB de almacenamiento local.
Nota: Este permiso solo se aplica a la base de datos de SQL Web y a la caché de la aplicación (consulta el problema 58985). Además, por el momento, no funciona con subdominios comodines, como http://*.example.com.
"vpnProvider" Otorga a tu extensión acceso a la API de chrome.vpnProvider.
"wallpaper" Otorga a tu extensión acceso a la API de chrome.wallpaper.
"webNavigation" Otorga a tu extensión acceso a la API de chrome.webNavigation.
"webRequest" Otorga a tu extensión acceso a la API chrome.webRequest.
"webRequestBlocking" Es obligatorio si la extensión usa la API chrome.webRequest de forma bloqueada.