Permissions-Policy ヘッダービルダー
Permissions-Policy ヘッダーは Feature-Policy のモダンな代替:ページとその iframe がどの機能を使うことが許可されるかをブラウザに伝える。各機能を 1 つずつ選び、完全にブロックされるか、同じオリジンのみ許可されるか、任意のオリジンに許可されるか、カスタムリストに制限されるかを選ぶ。ツールは、よく知られた機能(カメラ、マイク、ジオロケーション、ペイメント、USB など)をカテゴリ別にタグ付けするので、あなたを噛む機能を見逃さない。警告は安全でないデフォルトをキャッチする — 機能をすべての埋め込みオリジンに渡すワイルドカード、スキームが欠けているカスタムリスト。
- accelerometer加速度計を読む
- gyroscopeジャイロスコープを読む
- magnetometer磁力計を読む
- ambient-light-sensor周囲光を読む
- cameraユーザーのカメラを使う
- microphoneユーザーのマイクを使う
- autoplayメディアの自動再生
- display-capturegetDisplayMedia 経由のスクリーンシェア
- speaker-selection出力オーディオデバイスを選ぶ
- paymentPayment Request API を使う
- publickey-credentials-getWebAuthn を使う
- fullscreenプログラム的にフルスクリーンに行く
- picture-in-picturePIP ビデオを開く
- screen-wake-lock画面を起こしたままにする
- xr-spatial-trackingWebXR 空間トラッキングを使う
- geolocationユーザーの位置を読む
- clipboard-readクリップボードの内容を読む
- clipboard-writeクリップボードに書く
- usbWeb USB を使う
- serialWeb Serial を使う
- bluetoothWeb Bluetooth を使う
- idle-detectionユーザーアイドルを検出
- midiWeb MIDI を使う
- web-shareWeb Share API を使う
Permissions-Policy: autoplay=(self), fullscreen=(self), picture-in-picture=(self), clipboard-write=(self), web-share=(self)すべての HTML レスポンスに適用する。ブラウザに違反をコレクタに送り返してほしい場合は、Report-To + `report-uri` ディレクティブ(ここではビルドしない)を使う。
使い方
- ストリクトプリセット(すべてオフ)から始めて、ページが実際に必要なものだけをオンにする。
- ほとんどのページレベルの機能には `self` が正解。`*` はほとんど正解ではない — すべての iframe がその機能を使うことを許す。
- カスタムモードは、オリジンの許可リスト(`https://embed.example.com https://other.com`)を取る。`self` と `*` はトークン、他のすべては完全なオリジンが必要。
よくある質問
- Permissions-Policy 対 Feature-Policy?
- 同じアイデア、新しい構文。Feature-Policy はディレクティブごとにスペース区切りのオリジンリストを使った;Permissions-Policy は構造化ヘッダー `feature=(origin1 origin2)` を使う。ブラウザは今や Permissions-Policy を尊重する;古いブラウザをサポートするなら移行ウィンドウ中は両方を提供する。
- なぜワイルドカード `*` はリスキー?
- ワイルドカードは機能をすべてのネストされた iframe に渡す — 完全には信頼していないサードパーティの埋め込みを含む。マルバタイジングやサプライチェーンの侵害が iframe を注入する場合、`*` は「彼らはカメラでスパイできる」対「できない」の差。
関連ツール
Referrer-Policy ヘッダービルダー
Referrer-Policy 値を選んで、送信リクエストが `Referer` ヘッダーに正確に何を送るかを見る — 同一オリジン、クロスオリジン HTTPS、HTTPS→HTTP ダウングレード。
Content-Security-Policy ビルダー
ディレクティブごとのソースリストから CSP ヘッダーを構築、3 つのスターターベリプリセットと危険なワイルドカードのライブ警告付き。
SPF レコードビルダー
メカニズム・IP・include から SPF TXT レコードを構成 — ライブ DNS ルックアップカウンタと警告付き。
Cache-Control ヘッダービルダー
ビジュアルチェックリストから HTTP Cache-Control ヘッダーを構築 — 鮮度、再検証、不変性、よく使うプリセット。
HSTS ヘッダービルダー
Strict-Transport-Security ヘッダーを構成 — max-age、includeSubDomains、preload — プリロードリスト適格性のライブチェック付き。
Cookie / Set-Cookie ヘッダービルダー
名前 / 値とセキュリティ属性 — SameSite、Secure、HttpOnly、Partitioned、Max-Age — から `Set-Cookie` レスポンスヘッダーを構成、安全警告付き。