Para usar la mayoría de las APIs de chrome.* APIs, tu extensión o app debe declarar su intent en el campo "permissions" del manifiesto. Cada permiso puede ser uno de una lista de cadenas conocidas (como "geolocalización") o un patrón de coincidencia que otorga acceso a uno o más hosts. Los permisos ayudan a limitar los daños 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 de 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 te muestra cómo declarar el permiso "storage".
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" |
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 cualquier app alojada, app empaquetada o extensión instalada tiene el permiso "background", Chrome se ejecuta (de forma invisible) en cuanto el usuario accede a su computadora, antes de que inicie Chrome. El permiso "background" también hace que Chrome siga ejecutándose (incluso después de que se cierre su última ventana) hasta que el usuario salga explícitamente de Chrome. Nota: Las apps y extensiones inhabilitadas se tratan como si no estuvieran instaladas.
Por lo general, usas el permiso "background" con una página en segundo plano, una página de eventos o (para apps alojadas) una ventana en segundo plano. |
"bookmarks" |
Otorga a tu extensión acceso a la API de chrome.bookmarks. |
"browsingData" |
Otorga a tu extensión acceso a la API de chrome.browsingData. |
"certificateProvider" |
Otorga a tu extensión acceso a la API de chrome.certificateProvider. |
"clipboardRead" |
Es obligatorio si la extensión o la app usan 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" |
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 de chrome.declarativeContent. |
"declarativeNetRequest" |
Otorga a tu extensión acceso a la API de chrome.declarativeNetRequest. |
"declarativeNetRequestFeedback" |
Otorga a la extensión acceso a los eventos y métodos de la API de chrome.declarativeNetRequest que devuelven información sobre las reglas declarativas que coinciden. |
"declarativeWebRequest" |
Otorga a tu extensión acceso a la API de 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 de chrome.enterprise.deviceAttributes. |
"enterprise.hardwarePlatform" |
Otorga a tu extensión acceso a la API de chrome.enterprise.hardwarePlatform. |
"enterprise.networkingAttributes" |
Otorga a tu extensión acceso a la API de chrome.enterprise.networkingAttributes. |
"enterprise.platformKeys" |
Otorga a tu extensión acceso a la API de chrome.enterprise.platformKeys. |
"experimental" |
Es obligatorio si la extensión o app usa alguna API de chrome.experimental.* APIs. |
"fileBrowserHandler" |
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" |
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 app use la API de ubicación geográfica sin pedirle 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 de 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 de 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 de chrome.scripting. |
"search" |
Otorga a tu extensión acceso a la API de chrome.search. |
"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 de 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 de chrome.tabGroups. |
"tabs" |
Otorga a tu extensión acceso a los campos privilegiados de los objetos Tab que usan varias APIs, incluidas chrome.tabs y chrome.windows. En
muchas circunstancias, 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 almacenar datos del cliente, como bases de datos y archivos de almacenamiento local.
Sin este permiso, la extensión o app se limita a 5 MB de almacenamiento local. Nota: Este permiso solo se aplica a la base de datos de Web SQL y a la caché de la aplicación
(consulta el problema 58985). Además, actualmente no funciona con subdominios comodín,
como
http://*.example.com. |
"vpnProvider" |
Permite que tu extensión acceda a la API de chrome.vpnProvider. |
"webNavigation" |
Otorga a tu extensión acceso a la API de chrome.webNavigation. |
"webRequest" |
Otorga a tu extensión acceso a la API de chrome.webRequest. |
"webRequestBlocking" |
Es obligatorio si la extensión usa la API de chrome.webRequest de forma bloqueante. |