権限を宣言する

ほとんどの Chrome に対応しています。*拡張機能またはアプリは、マニフェストの「permissions」フィールドでインテントを宣言する必要があります。各権限には、既知の文字列のリスト(「位置情報」など)か、1 つ以上のホストへのアクセスを許可する一致パターンのいずれかを指定できます。権限は、拡張機能やアプリがマルウェアに侵害された場合に被害を抑えるのに役立ちます。一部の権限は、インストール前にユーザーにも表示されます。詳細については、権限の警告をご覧ください。

API のマニフェストで権限を宣言する必要がある場合は、API のドキュメントにその宣言方法が記載されています。たとえば、ストレージのページでは、「ストレージ」権限を宣言する方法について説明しています。

マニフェスト ファイルの権限部分の例を次に示します。

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

現在使用可能な権限の一覧を次の表に示します。

Permission 説明
"activeTab" activeTab の仕様に従って拡張機能に権限を付与するようにリクエストします。
"alarms" 拡張機能に chrome.alarms API へのアクセスを許可します。
"background"

Chrome の起動とシャットダウンを遅らせて、アプリと拡張機能の寿命を延ばします。

インストールされているホスト型アプリ、パッケージ化アプリ、または拡張機能に「バックグラウンド」権限がある場合、ユーザーがパソコンにログインするとすぐに、つまりユーザーが Chrome を起動する前に Chrome が実行されます。また、「バックグラウンド」権限により、ユーザーが明示的に Chrome を終了するまで(最後のウィンドウを閉じた後でも)Chrome の実行が継続されます。

注: 無効になっているアプリや拡張機能は、インストールされていないものとして扱われます。

通常は、バックグラウンド ページイベントページ、(ホストされるアプリの場合)バックグラウンド ウィンドウで「バックグラウンド」権限を使用します。

"bookmarks" 拡張機能に chrome.bookmarks API へのアクセスを許可します。
"browsingData" 拡張機能に chrome.browsingData API へのアクセスを許可します。
"certificateProvider" 拡張機能に chrome.certificateProvider API へのアクセス権を付与します。
"clipboardRead" 拡張機能またはアプリが document.execCommand('paste') を使用する場合は必須です。
"clipboardWrite" 拡張機能またはアプリが document.execCommand('copy') または document.execCommand('cut') を使用していることを示します。この権限は、ホスト型アプリに必須です。拡張機能とパッケージ化アプリの場合、この権限が推奨されます。
"contentSettings" 拡張機能に chrome.contentSettings API へのアクセスを許可します。
"contextMenus" 拡張機能に chrome.contextMenus API へのアクセスを許可します。
"cookies" 拡張機能に chrome.cookies API へのアクセスを許可します。
"debugger" 拡張機能に chrome.debugger API へのアクセスを許可します。
"declarativeContent" 拡張機能に chrome.declarativeContent API へのアクセスを許可します。
"declarativeNetRequest" 拡張機能に chrome.declarativeNetRequest API へのアクセスを許可します。
"declarativeNetRequestFeedback" 一致した宣言型ルールに関する情報を返す chrome.declarativeNetRequest API 内のイベントとメソッドに対するアクセス権を拡張機能に付与します。
"declarativeWebRequest" 拡張機能に chrome.declarativeWebRequest API へのアクセスを許可します。
"desktopCapture" 拡張機能に chrome.desktopCapture API へのアクセス権を付与します。
"documentScan" 拡張機能に chrome.documentScan API へのアクセス権を付与します。
"downloads" 拡張機能に chrome.downloads API へのアクセスを許可します。
"enterprise.deviceAttributes" 拡張機能に chrome.enterprise.deviceAttributes API へのアクセスを許可します。
"enterprise.hardwarePlatform" 拡張機能に chrome.enterprise.hardwarePlatform API へのアクセス権を付与します。
"enterprise.networkingAttributes" 拡張機能に chrome.enterprise.networkingAttributes API へのアクセス権を付与します。
"enterprise.platformKeys" 拡張機能に chrome.enterprise.platformKeys API へのアクセスを許可します。
"experimental" 拡張機能またはアプリで chrome.experimental.* を使用している場合は必須です。API をご覧ください。
"fileBrowserHandler" 拡張機能に chrome.fileBrowserHandler API へのアクセスを許可します。
"fileSystemProvider" 拡張機能に chrome.fileSystemProvider API へのアクセス権を付与します。
"fontSettings" 拡張機能に chrome.fontSettings API へのアクセスを許可します。
"gcm" 拡張機能に chrome.gcm API へのアクセスを許可します。
"geolocation" ユーザーに許可を求めることなく、位置情報 API の使用を拡張機能またはアプリに許可します。
"history" 拡張機能に chrome.history API へのアクセス権を付与します。
"identity" 拡張機能に chrome.identity API へのアクセスを許可します。
"idle" 拡張機能に chrome.idle API へのアクセスを許可します。
"loginState" 拡張機能に chrome.loginState API へのアクセスを許可します。
"management" 拡張機能に chrome.management API へのアクセス権を付与します。
"nativeMessaging" 拡張機能にネイティブ メッセージング API へのアクセス権を付与します。
"notifications" 拡張機能に chrome.notifications API へのアクセスを許可します。
"pageCapture" 拡張機能に chrome.pageCapture API へのアクセスを許可します。
"platformKeys" 拡張機能に chrome.platformKeys API へのアクセスを許可します。
"power" 拡張機能に chrome.power API へのアクセスを許可します。
"printerProvider" 拡張機能に chrome.printerProvider API へのアクセス権を付与します。
"printing" 拡張機能に chrome.printing API へのアクセスを許可します。
"printingMetrics" 拡張機能に chrome.printingMetrics API へのアクセス権を付与します。
"privacy" 拡張機能に chrome.privacy API へのアクセスを許可します。
"processes" 拡張機能に chrome.processes API へのアクセスを許可します。
"proxy" 拡張機能に chrome.proxy API へのアクセス権を付与します。
"scripting" 拡張機能に chrome.scripting API へのアクセスを許可します。
"sessions" 拡張機能に chrome.sessions API へのアクセスを許可します。
"signedInDevices" 拡張機能に chrome.signedInDevices API へのアクセス権を付与します。
"storage" 拡張機能に chrome.storage API へのアクセスを許可します。
"system.cpu" 拡張機能に chrome.system.cpu API へのアクセスを許可します。
"system.display" 拡張機能に chrome.system.display API へのアクセスを許可します。
"system.memory" 拡張機能に chrome.system.memory API へのアクセスを許可します。
"system.storage" 拡張機能に chrome.system.storage API へのアクセスを許可します。
"tabCapture" 拡張機能に chrome.tabCapture API へのアクセス権を付与します。
"tabGroups" 拡張機能に chrome.tabGroups API へのアクセス権を付与します。
"tabs" chrome.tabschrome.windows などの API で使用される Tab オブジェクトの特権フィールドへのアクセス権を拡張機能に付与します。多くの場合、これらの API を使用するために拡張機能で "tabs" 権限を宣言する必要はありません。
"topSites" 拡張機能に chrome.topSites API へのアクセスを許可します。
"tts" 拡張機能に chrome.tts API へのアクセスを許可します。
"ttsEngine" 拡張機能に chrome.ttsEngine API へのアクセスを許可します。
"unlimitedStorage" データベースやローカル ストレージ ファイルなど、クライアントサイドのデータを格納するための無制限の割り当てを提供します。この権限がない場合、拡張機能またはアプリのローカル ストレージは 5 MB に制限されます。
注: この権限は、Web SQL Database とアプリケーション キャッシュにのみ適用されます(問題 58985 を参照)。また、現時点では http://*.example.com などのワイルドカード サブドメインでも機能しません。
"vpnProvider" 拡張機能に chrome.vpnProvider API へのアクセスを許可します。
"wallpaper" 拡張機能に chrome.wallpaper API へのアクセスを許可します。
"webNavigation" 拡張機能に chrome.webNavigation API へのアクセス権を付与します。
"webRequest" 拡張機能に chrome.webRequest API へのアクセス権を付与します。
"webRequestBlocking" 拡張機能がブロック方式で chrome.webRequest API を使用する場合は必須です。