Om de meeste API's en functies van extensies te kunnen gebruiken, moet u het doel van uw extensie aangeven in de machtigingsvelden van het manifest . Extensies kunnen de volgende categorieën machtigingen aanvragen, die worden gespecificeerd met behulp van de bijbehorende manifestsleutels:
-
"permissions" - Bevat items uit een lijst met bekende tekenreeksen . Wijzigingen kunnen een waarschuwing veroorzaken.
-
"optional_permissions" - Toegekend door de gebruiker tijdens de uitvoering, in plaats van tijdens de installatie.
-
"content_scripts.matches" - Bevat een of meer overeenkomstpatronen waarmee scripts inhoud in een of meer hosts kunnen injecteren. Wijzigingen kunnen een waarschuwing veroorzaken.
-
"host_permissions" - Bevat een of meer overeenkomstpatronen die toegang geven tot een of meer hosts. Wijzigingen kunnen een waarschuwing veroorzaken.
-
"optional_host_permissions" - Toegekend door de gebruiker tijdens de uitvoering, in plaats van tijdens de installatie.
Machtigingen helpen de schade te beperken als uw extensie wordt geïnfecteerd door malware. Sommige waarschuwingen over machtigingen worden aan gebruikers getoond om hun toestemming te vragen vóór de installatie of tijdens het gebruik, zoals beschreven in Machtigingen met waarschuwingen .
Overweeg om optionele machtigingen te gebruiken waar de functionaliteit van uw extensie dit toelaat, zodat gebruikers weloverwogen controle hebben over de toegang tot resources en gegevens.
Als een API een machtiging vereist, legt de documentatie uit hoe u deze kunt aanvragen. Zie bijvoorbeeld de Storage API .
Manifest
Het volgende is een voorbeeld van het gedeelte met machtigingen in een manifestbestand :
manifest.json:
{
"name": "Permissions Extension",
...
"permissions": [
"activeTab",
"contextMenus",
"storage"
],
"optional_permissions": [
"topSites",
],
"host_permissions": [
"https://www.developer.chrome.com/*"
],
"optional_host_permissions":[
"https://*/*",
"http://*/*"
],
...
"manifest_version": 3
}
Hostmachtigingen
Hostrechten stellen extensies in staat om te interageren met de overeenkomende patronen van de URL. Sommige Chrome API's vereisen hostrechten naast hun eigen API-rechten, die op de betreffende referentiepagina worden beschreven. Hier volgen enkele voorbeelden:
- Verricht
fetch()-verzoeken vanuit de extension service worker en extension pages. - Lees en raadpleeg de gevoelige tab-eigenschappen (url, titel en favIconUrl) met behulp van de
chrome.tabsAPI. - Een script met inhoud programmatisch invoegen.
- Monitor en beheer netwerkverzoeken met de
chrome.webRequestAPI. - Toegang tot cookies via de
chrome.cookiesAPI. - Verzoeken en antwoordheaders omleiden en wijzigen met behulp van
chrome.declarativeNetRequestAPI.
Toestemmingen met waarschuwingen
Wanneer een extensie meerdere machtigingen aanvraagt en veel daarvan waarschuwingen weergeven tijdens de installatie, krijgt de gebruiker een lijst met waarschuwingen te zien, zoals in het volgende voorbeeld:

Gebruikers hebben meer vertrouwen in een extensie met beperkte waarschuwingen of wanneer de machtigingen aan hen worden uitgelegd. Overweeg optionele machtigingen of een minder krachtige API te implementeren om alarmerende waarschuwingen te voorkomen. Zie de richtlijnen voor machtigingswaarschuwingen voor best practices voor waarschuwingen. Specifieke waarschuwingen met de machtigingen waarop ze van toepassing zijn, staan vermeld in de referentielijst voor machtigingen .
Het toevoegen of wijzigen van overeenkomstpatronen in de velden "host_permissions" en "content_scripts.matches" van het manifestbestand zal ook een waarschuwing veroorzaken. Zie Machtigingen bijwerken voor meer informatie.
Toegang toestaan
Als uw extensie moet werken op file:// -URL's of in de incognitomodus, moeten gebruikers de extensie toegang verlenen via de detailpagina. Instructies voor het openen van de detailpagina vindt u onder ' Uw extensies beheren' .
Sta toegang toe tot bestands-URL's en incognito-pagina's.
- Klik met de rechtermuisknop op het extensie-icoon in Chrome.
Kies 'Extensie beheren' .

Uitbreidingsmenu Scroll naar beneden om toegang tot bestands-URL's of de incognitomodus in te schakelen.

Toegang tot bestands-URL's en incognitomodus is ingeschakeld.
Om te detecteren of de gebruiker toegang heeft verleend, kunt u extension.isAllowedIncognitoAccess() of extension.isAllowedFileSchemeAccess() aanroepen.