클로드 코드 권한 설정 정리: 허용·차단·확인 규칙으로 안전하게 맡기기

클로드 코드 권한 설정 정리: 허용·차단·확인 규칙으로 안전하게 맡기기 대표 이미지

클로드 코드를 처음 쓰면 허락 요청이 자주 뜹니다. 며칠 지나면 "이것 좀 그냥 알아서 하지" 싶어지는데, 그렇다고 전부 허용해 버리면 불안합니다. 그 사이의 균형을 잡는 것이 권한 설정(permissions)입니다.

📌 규칙 문법과 모드 이름은 버전에 따라 바뀔 수 있습니다. 정확한 형식은 공식 문서를 확인하세요.

권한 모드

세션 전체에 적용되는 기본 동작입니다. Shift + Tab으로 바꿀 수 있습니다.

모드 동작
기본 파일 수정·명령 실행 전에 확인
수정 자동 수락 파일 수정은 묻지 않고, 명령은 확인
플랜 모드 수정·실행 없이 계획만 (플랜 모드)

규칙 세 가지: allow · ask · deny

클로드 코드 권한 규칙 allow ask deny 비교

모드 위에 개별 규칙을 얹어 세밀하게 조정합니다.

  • allow: 묻지 않고 실행 — 안전하고 자주 쓰는 명령
  • ask: 모드와 관계없이 항상 확인 — 되돌리기 어려운 명령
  • deny: 아예 차단 — 절대 하면 안 되는 일

설정 방법

세션에서 /permissions를 입력하면 규칙을 보고 추가할 수 있습니다. 파일로 직접 관리할 수도 있습니다.

{
  "permissions": {
    "allow": ["Bash(npm run test:*)", "Bash(npm run lint)"],
    "ask": ["Bash(git push:*)", "Bash(npm install:*)"],
    "deny": ["Read(./.env)", "Read(./secrets/**)", "Bash(git push --force:*)"]
  }
}
파일 범위
~/.claude/settings.json 내 모든 프로젝트
.claude/settings.json 이 프로젝트 (팀 공유)
.claude/settings.local.json 이 프로젝트, 나만

팀이 함께 지켜야 할 금지 규칙은 프로젝트 설정에, 개인 취향(내가 자주 쓰는 명령 허용)은 로컬 설정에 두면 깔끔합니다.

처음 쓰는 사람을 위한 추천 구성

클로드 코드 권한 추천 구성 체크리스트

  1. 처음 일주일은 기본 모드로 클로드가 무엇을 요청하는지 지켜봅니다.
  2. 여러 번 승인한 안전한 명령(테스트, 린트, 빌드)만 allow에 넣습니다.
  3. 패키지 설치, git push, 배포 명령은 ask에 둡니다.
  4. .env, 키 파일 읽기와 강제 푸시·하드 리셋은 deny에 넣습니다.

자주 하는 실수

  • 너무 넓은 allow: Bash(*)처럼 모든 명령을 허용하면 규칙을 둔 의미가 없습니다.
  • deny만 믿기: 패턴은 우회될 수 있는 단순 규칙입니다. 중요한 보호는 훅과 함께, 그리고 백업과 깃으로 이중으로 지킵니다.
  • 비밀 파일 방치: 프로젝트 폴더에 키 파일이 있다면 deny와 별개로 .gitignore에도 넣어야 합니다.

권한을 다듬으며 정한 원칙

제 기준은 단순합니다. "되돌릴 수 있으면 allow, 되돌리기 어려우면 ask, 되돌릴 수 없으면 deny." 테스트 실행은 몇 번을 돌려도 문제가 없으니 허용하고, 푸시는 되돌리기 번거로우니 묻게 하고, 강제 푸시처럼 기록을 지우는 일은 막습니다. 이 기준으로 정리하니 허락 요청은 줄고 불안감도 줄었습니다.

기억할 것 세 가지

  1. 권한 모드로 기본 동작을 정하고, allow·ask·deny 규칙으로 세밀하게 조정합니다.
  2. 처음엔 기본 모드로 지켜본 뒤 안전한 명령만 허용 목록에 넣으세요.
  3. 비밀 파일과 기록 삭제 명령은 deny, 중요한 보호는 훅·백업과 함께 지킵니다.

더 알아보기

🤔 자주 묻는 질문 (FAQ)

Q. 매번 허락 버튼을 누르는 게 번거로운데 전부 허용하면 안 되나요?

전부 허용하면 편하지만 실수로 중요한 파일을 지우거나 원치 않는 명령이 실행될 위험이 커집니다. 테스트 실행처럼 안전한 명령만 허용 목록에 넣고, 나머지는 확인받는 방식을 권합니다.

Q. 권한 규칙은 어디에 저장되나요?

개인 전체 설정은 사용자 폴더의 settings.json, 팀과 공유할 프로젝트 설정은 .claude/settings.json, 나만 쓰는 프로젝트 설정은 .claude/settings.local.json에 저장됩니다.

Q. deny 규칙과 훅은 무엇이 다른가요?

deny는 특정 도구·명령 패턴을 막는 간단한 규칙이고, 훅은 스크립트로 조건을 검사해 더 복잡한 판단을 할 수 있습니다. 간단한 차단은 deny, 경로나 내용에 따른 판단은 훅이 적합합니다.
#클로드코드권한 #permissions #ClaudeCode #보안 #설정