다양한 창과 플랫폼에서의 보안 수준
이 장은 Tauri 앱의 보안 수준을 사용자 정의하는 방법에 대해 설명합니다.
이 장의 내용
섹션 제목: “이 장의 내용”- Tauri 앱에서 여러 창 만들기
- 창마다 다른 보안 수준 사용하기
- 플랫폼에 의존하는 보안 수준 사용하기
사전 준비
섹션 제목: “사전 준비”이 장의 연습 내용은 “플러그인 접근 권한 사용“을 읽은 후에 수행하는 것을 전제로 합니다.
-
Tauri 앱에서 여러 창 만들기
섹션 제목: “Tauri 앱에서 여러 창 만들기”이 연습에서는
first(첫 번째)와second(두 번째)라는 레이블이 붙은 두 개의 창을 가진 앱을 만듭니다. Tauri 애플리케이션에서 창을 만드는 방법은 여러 가지가 있습니다.Tauri 설정 파일을 사용하여 창 만들기
섹션 제목: “Tauri 설정 파일을 사용하여 창 만들기”Tauri 설정 파일(일반적으로
tauri.conf.json이라는 이름)에서는 다음과 같습니다:"productName": "multiwindow",..."app": {"windows": [{"label": "first","title": "First","width": 800,"height": 600},{"label": "second","title": "Second","width": 800,"height": 600}],},...}프로그래밍 방식으로 창 만들기
섹션 제목: “프로그래밍 방식으로 창 만들기”Rust 코드 내에서 Tauri 앱을 만듭니다:
tauri::Builder::default().invoke_handler(tauri::generate_handler![greet]).setup(|app| {let webview_url = tauri::WebviewUrl::App("index.html".into());// First window(첫 번째 창)tauri::WebviewWindowBuilder::new(app, "first", webview_url.clone()).title("First").build()?;// Second window(두 번째 창)tauri::WebviewWindowBuilder::new(app, "second", webview_url).title("Second").build()?;Ok(())}).run(context).expect("error while running tauri application"); -
다른 창에 다른 보안 수준 적용
섹션 제목: “다른 창에 다른 보안 수준 적용”Tauri 앱의 창에서는 Tauri 백엔드의 다양한 기능이나 플러그인을 사용할 수 있습니다. 보안을 더 강화하기 위해 각 창에 필요한 보안 기능만 부여하는 것이 좋습니다. 이 연습에서는 “첫 번째
first” 창에서 파일 시스템과 대화 상자 기능을 사용하고, “두 번째second” 창에서는 대화 상자 기능만 필요로 하는 상황을 가정하고 진행합니다.카테고리별 개별 “보안 수준” 파일
섹션 제목: “카테고리별 개별 “보안 수준” 파일”활성화할 작업의 카테고리별로 “보안 수준” 파일을 분할하는 것이 좋습니다.
src-tauri/capabilities내의 JSON 파일은 “보안 수준” 시스템에 이미 대응되어 있습니다. 따라서 파일 시스템과 대화 상자 창과 관련된 보안 수준을filesystem.json과dialog.json으로 분할합니다.Tauri 프로젝트의 파일 트리:
/src/src-tauri/capabilitiesfilesystem.jsondialog.jsontauri.conf.jsonpackage.jsonREADME.md“첫 번째
섹션 제목: ““첫 번째 first” 창에 파일 시스템 보안 수준 부여”first” 창에 파일 시스템 보안 수준 부여“
first” 창에$HOME디렉토리 내용에 대한 읽기 접근 권한을 부여하도록 보안 수준을 설정합니다.하나 또는 여러 개의 창 레이블을 가진 “보안 기능 capability” 파일 내의 “
windows필드”를 사용합니다.filesystem.json {"identifier": "fs-read-home","description": "Allow access file access to home directory","local": true,"windows": ["first"],"permissions": ["fs:allow-home-read"]}Note“filesystem.json” 파일 내용 초역:
- identifier: 식별자 이름
- description: 보안 내용 설명(home 디렉토리에 대한 파일 접근 허용)
- local: true
- windows: 창 이름
- permissions: 접근 권한 설정
“첫 번째
섹션 제목: ““첫 번째 first“와 “두 번째 second” 창에 대화 상자 기능 부여”first“와 “두 번째second” 창에 대화 상자 기능 부여“
first“와 “second” 창에 “예/아니오” 대화 상자를 만드는 기능을 추가합니다.하나 또는 여러 개의 창 레이블을 가진 “보안 기능” 파일 내의
windows필드를 사용합니다.dialog.json {"identifier": "dialog","description": "Allow to open a dialog","local": true,"windows": ["first", "second"],"permissions": ["dialog:allow-ask"]} -
보안 기능을 플랫폼에 따라 다르게 만들기
섹션 제목: “보안 기능을 플랫폼에 따라 다르게 만들기”다음으로, 특정 플랫폼에서만 활성화되도록 보안 기능을 사용자 정의합니다. 아래 예에서는 파일 시스템 보안 기능을
linux와windows에서만 활성화합니다.플랫폼별로 설정하려면 보안 기능 파일의 “
platforms필드”에서 대상 플랫폼을 지정합니다.filesystem.json {"identifier": "fs-read-home","description": "Allow access file access to home directory","local": true,"windows": ["first"],"permissions": ["fs:allow-home-read"],"platforms": ["linux", "windows"]}현재 지정 가능한 플랫폼은
linux,windows,macos,android,ios입니다.
본 장의 요약 및 참고 자료
섹션 제목: “본 장의 요약 및 참고 자료”Tauri 앱에서 여러 창을 만들고 각각에 별도의 보안 기능을 부여하는 방법을 배웠습니다. 또한 이러한 보안 기능은 특정 플랫폼에 맞게 사용자 정의할 수도 있습니다.
창 기능을 사용한 샘플 애플리케이션은 Tauri Github 리포지토리의 api 샘플 내에 있습니다.
“보안 기능 파일 capability file”에서 사용할 수 있는 필드는 TAURI Doc의 “메뉴 Menu” 내에 있는 “Reference”의 Capability 부분에 나열되어 있습니다.
© 2026 Tauri Contributors. CC-BY / MIT