

#
#
#
許可ポリシー
“allow”属性の値は“Permissions Policy”仕様で定義された許可ポリシーで指定します。許可ポリシーはブラウジング・コンテキストのオリジンごとに実行、利用できるデバイスやブラウザの機能、APIを“Permissions-Policy”HTTPヘッダーと“iframe”要素の“allow”属性で制御するための仕組み。
許可ポリシーは空白文字によって区切られた“機能名”と“許可リスト”から成る“ポリシーディレクティブ”のセットを使用して記述します。
- 機能名 (Feature name)
- デバイスやブラウザの機能、API
- 許可リスト (Allowlist)
- “機能名”で指定したデバイスやブラウザの機能、APIを有効化、もしくは無効化するオリジンを指定します。
allow="fullscreen 'self'"
コロン(“;”)で区切ることで複数のポリシーディレクティブを同時に指定することができます。
許可リスト
許可リスト | 説明 |
---|---|
* | すべてのオリジンで許可 |
'self' | 埋め込まれた文書が最上位のブラウジング・コンテキストと同じオリジンの場合は許可 |
'src' | 埋め込まれた文書が“src”属性で指定したURLと同じオリジンの場合は許可 |
'none' | すべてのオリジンで拒否 |
オリジン | 特定のオリジンのみ許可する |
複数のオリジンを空白文字で区切って同時に指定することができます。
“*”と“'none'”は他の許可リストと併用できませんが、“'self'”は空白文字で区切って1個以上のオリジンと同時に指定することができます。
allow="camera 'self' https://www.example.com https://www.example.co.jp"
許可リストを省略した場合は“'src'”とみなされます。
機能名
以下は主な機能名です。
ディレクティブ | 説明 |
---|---|
accelerometer | Generic Sensor APIによるデバイスの加速度についての情報へのアクセス |
ambient-light-sensor | Generic Sensor APIによるデバイスの光量についての情報へのアクセス |
autoplay | 音声や動画の自動再生 |
battery | Battery Status APIによるデバイスのバッテリーについての情報へのアクセス |
camera | “getUserMedia() ”を実行してのデバイスのカメラへのアクセス |
fullscreen | “requestFullScreen()”を実行しての全画面モード |
geolocation | デバイスの位置情報へのアクセス |
gyroscope | Generic Sensor APIによるデバイスの向きについての情報へのアクセス |
magnetometer | Generic Sensor APIによるデバイスの方位についての情報へのアクセス |
microphone | “getUserMedia() ”によるデバイスのマイクへのアクセス |
payment | Payment Request APIの実行 |
picture-in-picture | ピクチャ・イン・ピクチャ機能の利用 |
usb | WebUSB APIの実行 |
vr | WebVR APIによるVR機能へのアクセス |
wake-lock | Wake Lock APIによるデバイスの省電力モードの停止 |
#
サンプルコード
カメラとマイクへのアクセスを拒否する
<iframe src="https://www.example.com/sample-iframetag3.html" allow="camera 'none'; microphone 'none'"></iframe>

カメラとマイクへのアクセスを特定のオリジンだけ許可する
<iframe src="https://www.example.com/sample-iframetag6.html" allow="camera https://web.havincoffee.com; microphone https://web.havincoffee.com"></iframe>
