hid
Permissions-Policy Device

개요

hid 지시어는 WebHID API(navigator.hid)로 게임패드·특수 키보드·바코드 스캐너 같은 HID(Human Interface Device) 기기와 통신할 수 있는지를 제어합니다. 기본 허용 목록은 self이며, 저수준 기기 접근이라 매우 강력한 권한입니다.

자세히

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

WebHID는 navigator.hid.requestDevice()로 사용자가 기기를 선택하는 프롬프트가 필수이며, 정책 허용은 그 프롬프트가 뜰 수 있는 전제일 뿐입니다. 표준화되지 않은 주변기기까지 접근하므로, 임의 오리진에 열어주면 보안 위험이 큽니다. WebHID는 최신 크로미엄 계열 중심으로 지원되며 구형 Feature-Policy의 hid를 대체합니다.

문법

Permissions-Policy: hid=(self)

실무 참고

관련 지시어