"permission은 이름 붙은 하나의 특정 권한이야. 이름 읽는 법을 배우면 시스템 전체가 안 신비로워져."
permission identifier 읽기
permission은 읽기 쉬운 구조의 문자열이야: <출처>:<이름>. 출처는 core(내장 Tauri)거나 플러그인 이름(fs, dialog, shell, store…). 이름은 default 같은 큐레이트된 세트거나 allow-read-text-file 같은 단일 세밀 부여야. 그래서 core:default는 '기준 안전 core API', fs:allow-read-text-file은 딱 '텍스트 파일 읽기 가능', shell:allow-execute는 '프로세스 실행 가능'. 이름을 파싱할 수 있으면 정밀하게 부여할 수 있어.
기본 세트 vs 세밀 부여
대부분 플러그인이 흔히 필요하고 적당히 안전한 command를 묶은 default permission을 내놔 — 합리적 출발점. default가 필요 이상 부여하면, 개별 allow- permission으로 내려가 앱이 부르는 특정 command만 나열해. 세밀한 게 타이핑은 더 많고 공격 표면은 훨씬 적어. 강력한 거(파일시스템, 셸)엔 편한 default보다 세밀한 목록을 선호해.
Allow와 Deny
permission은 allow-랑 deny- 형태로 오고, deny가 이겨. 넓은 세트를 부여하고 그 안의 위험한 구석을 명시적으로 거부할 수 있어 — 벨트랑 멜빵 둘 다. 부여했는데 command가 신비하게 실행을 거부하면, deny permission(이나 scope)이 네 allow를 덮는지 확인해. 우선순위는 의도적이야: deny가 부여에서 예외를 깎아내는 방법이야.