본문 바로가기
C.W.K.
Stream
Lesson 04 of 13 · published

권한 체계 — 허용, 확인, 거부

~18 min · permissions, settings, safety, tools

Level 0🌱 입문자
0 XP0/70 lessons0/11 achievements
0/120 XP to next level120 XP to go0% complete

허용·확인·거부, 세 목록으로 권한을 다룬다

Claude Code의 권한 체계는 모든 도구 호출을 allow, ask, deny 규칙과 대조해. 구체적인 패턴으로 어떤 명령은 자동 허용하고, 어떤 명령은 매번 묻고, 어떤 행동은 아예 막을 수 있어.

패턴은 Bash(npm run *), Read(./.env), WebFetch(domain:api.github.com)처럼 도구와 대상을 함께 적어. 넓은 허용 규칙이 있더라도 더 구체적인 거부 규칙으로 강제 push 같은 위험한 경우를 막을 수 있어. 명시적인 거부가 안전의 바닥인 셈이지.

설정도 조직 관리, 개인 전역, 프로젝트 공유, 로컬 전용 순으로 겹쳐져. 보안팀이 정한 금지선은 위에서 고정하고 개인과 프로젝트는 그 안에서 편의성을 조절해. --dangerouslySkipPermissions로 모든 경계를 없애기보다 반복 승인만 정확히 허용 목록으로 옮겨.

직접 확인할 항목: Bash(* --dry-run), Bash(*), Bash(git diff *), Bash.

Code

안전한 프로젝트 기본 설정·json
// .claude/settings.json — committed, shared with the team
{
  "permissions": {
    "allow": [
      "Bash(npm run *)",
      "Bash(npm test *)",
      "Bash(npx prettier *)",
      "Bash(git diff *)",
      "Bash(git status)",
      "Bash(git log *)",
      "Bash(* --version)",
      "Bash(* --help *)",
      "Read"
    ],
    "ask": [
      "Bash(git push *)",
      "Bash(git commit *)"
    ],
    "deny": [
      "Bash(rm -rf *)",
      "Bash(git push --force *)",
      "Bash(npm publish *)",
      "Read(./.env)"
    ]
  }
}
현재 권한을 확인하고 바로 수정하기·bash
# Inside an active Claude Code session
/permissions

# Browse all active rules, see which file each comes from,
# add or remove rules interactively. Faster than editing JSON
# when you're in the middle of work.

External links

Exercise

실제 저장소의 .claude/settings.json을 열어, 세션마다 되풀이해 승인하던 작업 5개를 허용 규칙으로 추가해. 절대 실행하고 싶지 않은 명령 3개는 거부 규칙으로 넣고, 새 세션에서 승인 질문이 얼마나 줄었는지 세어 봐. 확인이 끝나면 파일을 커밋해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.