権限を宣言する

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

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

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

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

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

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

Chrome の起動を早め、終了を遅くすることで、アプリや拡張機能の寿命を延ばします。

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

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

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

"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" 拡張機能またはアプリが、ユーザーに許可を求めることなく 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.tabs や chrome.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 へのアクセス権を付与します。
"webNavigation" 拡張機能に chrome.webNavigation API へのアクセス権を付与します。
"webRequest" 拡張機能に chrome.webRequest API へのアクセス権を付与します。
"webRequestBlocking" 拡張機能が chrome.webRequest API をブロッキング方式で使用する場合は必須です。