😀

Chrome拡張機能のパーミッションとは?種類一覧付き

に公開

Chrome拡張機能のパーミッションとは

Chrome拡張機能のツール開発の際、manifest.jsonがあります。
その中に、パーミッション(permissions)の箇所がございますよね。

このパーミッションとは、 Chrome拡張機能が何をしていいかの許可リストです。
manifest.jsonで許可をしない限り、拡張機能は何もさせてくれません。

Chrome拡張機能のパーミッション一覧(よく使うもの)

permission名 説明 よく使う用途例
"tabs" タブの情報にアクセスできる アクティブなURLを取得するなど
"activeTab" 現在アクティブなタブへのアクセス許可 ユーザー操作後にそのタブで実行したい時
"storage" Chromeの拡張ストレージにアクセス 拡張設定やキャッシュデータ保存など
"scripting" JavaScript をページに挿入・実行する chrome.scripting.executeScript() など
"notifications" デスクトップ通知を表示できる ポップアップ通知など
"downloads" ファイルのダウンロードを操作できる 自動ダウンロード系
"clipboardWrite" クリップボードに書き込む権限 コピー機能など
"geolocation" ユーザーの位置情報にアクセス 地図系機能など
"background" バックグラウンドで処理できる サービスワーカーと併用

1.tabs:拡張機能が全タブにアクセスできる許可をChromeに宣言

  • 開いているタブのURL一覧を取得する
  • 新しいタブを開く・閉じる
  • タブのタイトルやfaviconを取得
  • 特定条件のタブを操作(例: YouTubeを自動でミュート)

2.activeTab:拡張機能が特定のタブのみにアクセスできる許可をChromeに宣言

これはユーザーが現在見ている1つのタブの情報と操作ができるもの

3.storage:拡張機能が内部ストレージへ保存・読み出しできる許可をChromeに宣言

ちょっとしたデータベースと考えましょう。

よくある具体例
1.ダークモード設定:ユーザーのON/OFF設定を保持
chrome.storage.local.set({darkMode: true})
2.フォーム履歴:入力内容を保存して次回も復元
chrome.storage.local.set({memo: "今日は晴れ"})
3.最終開いたURL:タブや画面遷移の履歴保持
chrome.storage.local.set({lastUrl: "https://example.com"})
4.使用回数カウント:起動回数などの数値管理 chrome.storage.local.get(["count"], res => chrome.storage.local.set({count: (res.count
5.拡張のバージョン保存:バージョンに応じた挙動変更 chrome.runtime.getManifest().version と組み合わせて保存

活用例
1.カスタム辞書:自分の指定する単語をstorageに保存
2.タブ整理系拡張:保存されたタブグループ情報をchrome.storage.local に保存

ストレージの種類

種類 特徴 保存先
chrome.storage.local 大容量・すぐ保存される ローカル端末のみ
chrome.storage.sync 少量だが同期される Googleアカウントに同期される
chrome.storage.session セッション中だけ保持 拡張のライフサイクル中のみ

4.scripting:拡張機能が任意のページへスクリプトを注入・実行できる許可をChromeに宣言

1.選択範囲を取得してコピー
2.ページ内の特定要素を書き換え
3.表示中のページにAI要約機能を注入
ページのテキストを取得し、APIへ渡す前処理
4.ページ中のテキスト取得
5.ボタンの自動クリック

5.notifications:通知の表示ができる拡張機能であるとChromeに宣言する

1.タスク完了の通知
2.リマインダー通知
3.バックグランド処理の完了報告など

6.downloads:ファイルの自動ダウンロード制御

1.画像の一括保存
2.スクレイピング後のCSVダウンロード
3.任意のURLからPDFなどを保存する

7.clipboardWrite:テキストをクリップボードにコピー

8.geolocation:現在地の取得

1.近くの店舗検索や現在地天気に便利
2.お散歩中のここに行った記録

9.background:裏で常時動く処理を追加

1.定期的にAPIからデータ取得:30分おきにデータ取得して通知表示など
2.インストール・起動イベント処理:初回起動でチュートリアル表示や案内
3.拡張ボタン以外からのトリガー受付:他の拡張 or ネイティブメッセージ

🛠️ 実在ツール例
Checker Plus for Gmail
メールが来たら自動通知 → background で定期確認

Toggl Track Extension
背景で時間計測処理 → アクションなしでも常時稼働

【最新追加】Chrome拡張機能のパーミッション一覧

10.desktopCapture:ユーザーの画面を撮影・録画・配信

chrome.desktopCapture APIを使って、画面全体、特定ウィンドウ、またはタブの映像を**取得(=キャプチャ)**することができます。

Discussion