ほとんどの拡張機能の API と機能を使用するには、マニフェストの権限フィールドで拡張機能のインテントを宣言する必要があります。拡張機能は、それぞれのマニフェスト キーを使用して指定された、次のカテゴリの権限をリクエストできます。
"permissions"
- 既知の文字列のリストから項目が格納されています。変更が行われると、警告がトリガーされることがあります。
"optional_permissions"
- インストール時ではなく実行時にユーザーが付与する。
"content_scripts.matches"
- コンテンツ スクリプトを 1 つ以上のホストに挿入できるようにする 1 つ以上の一致パターンが含まれます。変更が行われると、警告がトリガーされることがあります。
"host_permissions"
- 1 つ以上のホストにアクセス権を付与する 1 つ以上の一致パターンが含まれます。変更が行われると、警告がトリガーされることがあります。
"optional_host_permissions"
- インストール時ではなく実行時にユーザーが付与します。
権限を設定することで、拡張機能がマルウェアに侵害された場合の被害を抑えることができます。一部の権限に関する警告が、事前にユーザーに同意を求めて表示される (警告のある権限で詳しく説明しています)
拡張機能の機能にオプションの権限を使用することを検討してください。 ユーザーが十分な情報に基づいてリソースとデータへのアクセスを制御できるようにする。
API に権限が必要な場合は、そのドキュメントで権限の宣言方法が説明されています。1 つの 例については、Storage API をご覧ください。
マニフェスト
マニフェスト ファイルの権限セクションの例を次に示します。
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
}
ホストの権限
ホスト権限により、拡張機能は URL の一致パターンとやり取りできるようになります。一部の Chrome API には、各リファレンス ページに記載されている独自の API 権限に加えて、ホストの権限が必要です。次に例を示します。
- 拡張機能の Service Worker と拡張機能のページから
fetch()
リクエストを送信します。 chrome.tabs
API を使用して、機密性の高いタブのプロパティ(URL、タイトル、favIconUrl)の読み取りとクエリを行います。- プログラムによってコンテンツ スクリプトを挿入する。
chrome.webRequest
API を使用して、ネットワーク リクエストをモニタリングおよび制御します。- Cookie にアクセスするには
chrome.cookies
API を使用します。 chrome.declarativeNetRequest
API を使用して、リクエストとレスポンス ヘッダーのリダイレクトと変更を行います。
警告のある権限
拡張機能で複数の権限がリクエストされ、その大半が 警告がある場合は、次の例のような警告リストがユーザーに表示されます。
警告が限定的であったり、権限が説明されていたりすると、ユーザーが拡張機能を信頼する可能性が高くなります できます。アラームを回避するために、オプションの権限または性能の低い API の実装を検討してください。 表示されます。警告に関するベスト プラクティスについては、権限警告のガイドラインをご覧ください。具体的(Specific) その警告が適用されている権限とともに 権限のリファレンス リスト。
"host_permissions"
と "content_scripts.matches"
で一致パターンを追加または変更する
フィールドは、警告もトリガーされます。詳しくは以下をご覧ください。
権限の更新
アクセスを許可
拡張機能を file://
の URL で実行したり、シークレット モードで動作したりする必要がある場合は、詳細ページで拡張機能にアクセス権を付与する必要があります。詳細ページを開く手順については、拡張機能を管理するをご覧ください。
ファイルの URL とシークレット モードのページへのアクセスを許可する
- Chrome の拡張機能アイコンを右クリックします。
[拡張機能を管理] を選択します。
<ph type="x-smartling-placeholder">下にスクロールして、ファイルの URL へのアクセスやシークレット モードを有効にします。
<ph type="x-smartling-placeholder">
ユーザーがアクセスを許可しているかどうかを検出するには、extension.isAllowedIncognitoAccess()
を呼び出すか、
extension.isAllowedFileSchemeAccess()
。