権限を宣言する

ほとんどの Chrome 機能を使用できます*。API、拡張機能、アプリは、manifestの [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 が(目に見えない形で)実行されます。また、「バックグラウンド」権限を付与すると、ユーザーが 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" 拡張機能またはアプリが、ユーザーに権限を尋ねることなく 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 に制限されます。
注: この権限は、ウェブ SQL データベースとアプリケーション キャッシュにのみ適用されます(問題 58985 を参照)。また、現在のところ、http://*.example.com などのワイルドカード サブドメインには対応していません。
"vpnProvider" 拡張機能に chrome.vpnProvider API へのアクセス権を付与します。
"wallpaper" 拡張機能に chrome.wallpaper API へのアクセス権を付与します。
"webNavigation" 拡張機能に chrome.webNavigation API へのアクセス権を付与します。
"webRequest" 拡張機能に chrome.webRequest API へのアクセス権を付与します。
"webRequestBlocking" 拡張機能が chrome.webRequest API をブロック方式で使用する場合、必須です。