usb
Permissions-Policy Device

개요

usb 지시어는 WebUSB API(navigator.usb)로 USB 기기와 직접 통신할 수 있는지를 제어합니다. 기본 허용 목록은 self이며, 표준 드라이버 밖의 주변기기까지 다루는 강력한 저수준 권한입니다.

자세히

`usb=(self)`는 자기 오리진, `usb=()`는 전면 차단, `usb=(self "https://device.example.com")`는 지정 오리진에 위임합니다. iframe에는 `allow="usb"`가 필요합니다. 정책이 거부하면 navigator.usb.requestDevice()가 반환하는 Promise는 NotAllowedError로 reject됩니다.

WebUSB는 navigator.usb.requestDevice()로 사용자가 기기를 선택하는 프롬프트가 필수이며, 브라우저는 키보드·저장장치 같은 민감/보호 클래스 기기를 차단 목록으로 막습니다. 정책 허용은 접근 가능 오리진을 좁히는 앞단일 뿐입니다. 임의 오리진에 열어주면 펌웨어 조작 등 위험이 크므로 주로 크로미엄 계열에서만 지원됩니다. 구형 Feature-Policy의 usb를 대체합니다.

문법

Permissions-Policy: usb=(self)

실무 참고

관련 지시어