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