camera
Permissions-Policy Media

개요

camera 지시어는 navigator.mediaDevices.getUserMedia({ video: true })로 카메라 영상 트랙을 획득할 수 있는지를 제어합니다. 기본 허용 목록은 self이므로, 같은 오리진 문서만 기본적으로 카메라에 접근할 수 있고 교차 오리진 프레임은 위임이 있어야 합니다.

자세히

`camera=*`는 모든 오리진 허용, `camera=(self)`는 자기 오리진, `camera=()`는 전면 차단, `camera=(self "https://meet.example.com")`는 자기 오리진과 지정 오리진에만 허용합니다. 화상회의 위젯 같은 iframe에 카메라를 넘기려면 부모 허용 목록에 그 오리진이 있고 `<iframe allow="camera">`로 위임해야 합니다. allow에 여러 기능을 세미콜론으로 이을 수 있습니다(`allow="camera; microphone"`).

정책이 거부하면 getUserMedia의 video 요청 Promise가 NotAllowedError로 reject되며, 이는 사용자가 권한을 거부한 경우와 동일한 오류 타입입니다. Permissions-Policy는 사용자 권한 프롬프트보다 앞단에서 작동하므로, 정책이 막으면 프롬프트조차 뜨지 않습니다. 구형 Feature-Policy의 camera를 대체하고 위반은 Reporting-Endpoints로 보고할 수 있습니다.

문법

Permissions-Policy: camera=(self "https://meet.example.com")

실무 참고

관련 지시어