Deklarowanie uprawnień

Korzystanie z większości Chrome*. Interfejsy API, rozszerzenie lub aplikacja musi zadeklarować swoje intencje w polu „permissions” w pliku manifestu. Każde uprawnienie może mieć formę listy znanych ciągów tekstowych (np. „geolokalizacja”) lub wzorca dopasowania zapewniającego dostęp do co najmniej jednego hosta. Uprawnienia pomagają ograniczyć szkody, jeśli rozszerzenie lub aplikacja zostanie zainfekowane przez złośliwe oprogramowanie. Niektóre uprawnienia są też wyświetlane użytkownikom przed instalacją, jak opisano w ostrzeżeniach dotyczących uprawnień.

Jeśli interfejs API wymaga zadeklarowania uprawnień w manifeście, odpowiednie informacje znajdziesz w dokumentacji. Na przykład na stronie Miejsce na dane dowiesz się, jak zadeklarować uprawnienie do zarządzania miejscem na dane.

Oto przykład informacji o uprawnieniach w pliku manifestu:

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

Obecnie w tabeli poniżej znajdziesz listę dostępnych uprawnień:

Uprawnienia Opis
"activeTab" Wymaga przyznania rozszerzeniu uprawnień zgodnie ze specyfikacją activeTab.
"alarms" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.alarms.
"background"

Chrome uruchamia się wcześniej i wyłącza późno, co wydłuża żywotność aplikacji i rozszerzeń.

Gdy którakolwiek z zainstalowanych aplikacji hostowanych, aplikacji w pakiecie lub rozszerzeń ma uprawnienia „w tle”, Chrome uruchamia się (niewidoczne) natychmiast po zalogowaniu się przez użytkownika na komputerze, zanim użytkownik uruchomi Chrome. Uprawnienie „w tle” powoduje też, że Chrome działa (nawet po zamknięciu ostatniego okna), dopóki użytkownik nie zamknie go bezpośrednio.

Uwaga: wyłączone aplikacje i rozszerzenia są traktowane tak, jakby nie zostały zainstalowane.

Zwykle uprawnienia „w tle” używasz w przypadku strony w tle, strony wydarzenia lub (w przypadku hostowanych aplikacji) okna w tle.

"bookmarks" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.bookmarks.
"browsingData" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.browsingData.
"certificateProvider" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.certificateProvider.
"clipboardRead" Wymagany, jeśli rozszerzenie lub aplikacja korzysta z atrybutu document.execCommand('paste').
"clipboardWrite" Wskazuje, że rozszerzenie lub aplikacja używa document.execCommand('copy') lub document.execCommand('cut'). To uprawnienie jest wymagane w przypadku aplikacji hostowanych. Zalecamy korzystanie z niego w przypadku rozszerzeń i aplikacji w pakiecie.
"contentSettings" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.contentSettings.
"contextMenus" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.contextMenus.
"cookies" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.cookies.
"debugger" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.debugger.
"declarativeContent" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.declarativeContent.
"declarativeNetRequest" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.declarativeNetRequest.
"declarativeNetRequestFeedback" Przyznaje rozszerzeniu dostęp do zdarzeń i metod w interfejsie API chrome.declarativeNetRequest, które zwracają informacje o pasujących regułach deklaratywnych.
"declarativeWebRequest" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.declarativeWebRequest.
"desktopCapture" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.desktopCapture.
"documentScan" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.documentScan.
"downloads" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.downloads.
"enterprise.deviceAttributes" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.enterprise.deviceAttributes.
"enterprise.hardwarePlatform" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.enterprise.hardwarePlatform.
"enterprise.networkingAttributes" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.enterprise.networkingAttributes.
"enterprise.platformKeys" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.enterprise.platformKeys.
"experimental" Wymagane, jeśli rozszerzenie lub aplikacja korzysta z chrome.eksperymentu*. interfejsów API.
"fileBrowserHandler" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.fileBrowserHandler.
"fileSystemProvider" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.fileSystemProvider.
"fontSettings" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.fontSettings.
"gcm" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.gcm.
"geolocation" Zezwala rozszerzeniu lub aplikacji na korzystanie z interfejsu API geolokalizacji bez pytania użytkownika o zgodę.
"history" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.history.
"identity" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.identity.
"idle" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.idle.
"loginState" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.loginState.
"management" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.management.
"nativeMessaging" Przyznaje rozszerzeniu dostęp do natywnego interfejsu API do przesyłania wiadomości.
"notifications" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.notifications.
"pageCapture" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.pageCapture.
"platformKeys" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.platformKeys.
"power" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.power.
"printerProvider" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.printerProvider.
"printing" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.printing.
"printingMetrics" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.printingMetrics.
"privacy" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.privacy.
"processes" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.processes.
"proxy" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.proxy.
"scripting" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.scripting.
"sessions" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.sessions.
"signedInDevices" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.signedInDevices.
"storage" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.storage.
"system.cpu" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.system.cpu.
"system.display" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.system.display.
"system.memory" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.system.memory.
"system.storage" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.system.storage.
"tabCapture" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.tabCapture.
"tabGroups" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.tabGroups.
"tabs" Przyznaje rozszerzeniu dostęp do pól z podwyższonymi uprawnieniami obiektów Tab używanych przez kilka interfejsów API, w tym chrome.tabs i chrome.windows. W wielu przypadkach rozszerzenie nie musi deklarować uprawnienia "tabs" do korzystania z tych interfejsów API.
"topSites" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.topSites.
"tts" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.tts.
"ttsEngine" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.ttsEngine.
"unlimitedStorage" Zapewnia nielimitowany limit przechowywania danych po stronie klienta, takich jak bazy danych i pliki w pamięci lokalnej. Bez tych uprawnień rozszerzenie lub aplikacja będzie ograniczone do 5 MB pamięci lokalnej.
Uwaga: to uprawnienie dotyczy tylko bazy danych Web SQL i pamięci podręcznej aplikacji (patrz problem 58985). Obecnie nie działa też z subdomenami z symbolami wieloznacznymi, np. http://*.example.com.
"vpnProvider" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.vpnProvider.
"wallpaper" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.wallpaper.
"webNavigation" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.webNavigation.
"webRequest" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.webRequest.
"webRequestBlocking" Wymagane, jeśli rozszerzenie używa interfejsu API chrome.webRequest w sposób blokujący.