Claude Code 조직 권한 설정: bypassPermissions를 막고 비밀 파일 접근을 차단하는 법
TL;DR
Claude Team·Enterprise의 Owner 또는 Primary Owner는 claude.ai의
Admin Settings > Claude Code > Managed settings
에서 조직 공통 Claude Code 정책을 JSON으로 배포할 수 있습니다. 공식 예시처럼
disableBypassPermissionsMode
를
"disable"
로 두고
.env
·
secrets
경로를 deny 목록에 넣으면 권한 우회 모드와 지정 파일 읽기를 제한할 수 있습니다.
allowManagedPermissionRulesOnly
를 함께 켜면 사용자·프로젝트 설정이 allow·ask·deny 규칙을 추가하지 못합니다. 저장 전에는 영향 범위와 승인자를 기록하고, 저장 뒤에는 일반 사용자가 Claude Code를 재시작해
/permissions
와 가짜 비밀 파일로 적용 여부를 확인해야 합니다.
핵심 3줄 요약
핵심 1: server-managed settings는 Claude Team·Enterprise 조직의 Owner·Primary Owner가 모든 사용자에게 공통 정책을 배포하는 기능입니다.
핵심 2:
disableBypassPermissionsMode
,
allowManagedPermissionRulesOnly
,
permissions.deny
는 각각 권한 우회, 로컬 규칙 추가, 지정 도구·경로 접근을 통제합니다.핵심 3: 저장 성공만 믿지 말고 Claude Code 재시작,
/permissions
, 비민감 테스트 저장소의 차단·정상 작업 검증을 모두 끝내야 합니다.이 글에서 다룰 내용
server-managed settings의 적용 조건, 관리자 메뉴 경로, 공식 JSON 예시를 안전하게 검토하는 법, 조직 전체 배포 전 승인 절차, 일반 사용자 세션에서 차단과 정상 작업을 함께 검증하는 순서를 다룹니다.
server-managed settings는 무엇이고 언제 쓰면 좋은가
server-managed settings는 claude.ai 관리 콘솔에서 Claude Code 설정을 조직 사용자에게 중앙 배포하는 기능입니다.
Claude Code가 저장소를 읽고 셸 명령을 실행할 때 구성원의 주의만으로 공통 보안 기준을 지키기는 어렵습니다. 사용자나 프로젝트마다 설정이 다르면 같은 조직에서도 비밀 파일 deny 규칙과 권한 모드가 달라집니다.
한 문장 정의: server-managed settings는 claude.ai 관리 콘솔에서 Claude Code 설정을 조직 사용자에게 중앙 배포하는 기능입니다.
공식 문서에 따르면 이 기능은 Claude Team·Enterprise 고객에게 제공됩니다. 설정을 보거나 바꾸려면 해당 조직의 Owner 또는 Primary Owner 역할이 필요하며
api.anthropic.com
에 연결할 수 있어야 합니다. Admin 등 다른 역할이 메뉴를 열었을 때 다른 페이지로 이동한다면 Owner 또는 Primary Owner에게 변경을 요청해야 합니다.
이 방식은 기기 관리 인프라가 없거나 관리되지 않는 기기에도 공통 설정을 보낼 때 유용합니다. 다만 정책은 조직 사용자에게 동일하게 적용되며 현재 per-group 구성은 지원되지 않습니다. 팀별로 다른 규칙을 배포할 수 있다고 가정하지 말고 전사 영향 범위를 먼저 검토해야 합니다.
배포 전에 권한 범위와 승인자를 확인하기
1. 적용 조건을 기록합니다
조직 플랜이 Team 또는 Enterprise인지, 변경자가 Owner 또는 Primary Owner인지, 테스트 사용자가 조직 OAuth 로그인이나 지원되는 직접 API 키 방식으로 인증하는지 확인합니다. 네트워크에서
api.anthropic.com
접근도 점검합니다.
2. 기존 규칙과 정상 작업을 수집합니다
현재 사용자·프로젝트 설정에 어떤 allow·ask·deny 규칙이 있는지 살핍니다. 빌드, 테스트, 코드 읽기처럼 계속 허용해야 할 작업과
.env
,
.env.*
,
secrets/**
처럼 차단할 경로를 나눕니다. 실제 비밀값은 테스트 자료에 넣지 않습니다.
3. 조직 전체 변경 승인을 받습니다
변경 목적, JSON 초안, 적용 시각, 테스트 담당자, 롤백 담당자를 기록합니다. server-managed settings는 모든 사용자에게 동일하게 적용되므로 한 팀의 요구만 보고 바로 저장해서는 안 됩니다.
권한 우회와 비밀 파일 접근을 차단하는 순서
1. 관리 콘솔에서 설정 화면을 엽니다
claude.ai에서
Admin Settings > Claude Code > Managed settings
로 이동합니다. 공식 메뉴 이름과 현재 화면이 다르다면 추정 경로를 따라가지 말고 계정 역할과 공식 문서를 다시 확인합니다.
2. 공식 예시를 검토용 초안으로 넣습니다
아래 JSON은 Anthropic의 server-managed settings 문서에 나온 예시입니다.
Bash(curl *)
,
.env
,
.env.*
,
secrets/**
를 deny 목록에 넣고 bypassPermissions 모드를 막으며 관리형 규칙만 적용합니다.
{
"permissions": {
"deny": [
"Bash(curl *)",
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)"
],
"disableBypassPermissionsMode": "disable"
},
"allowManagedPermissionRulesOnly": true
}
deny
규칙은
ask
,
allow
보다 먼저 평가됩니다.
Bash(curl *)
는 curl과 일치하는 Bash 호출을 막는 예시일 뿐 모든 외부 전송 경로를 차단하지는 않습니다.
.env
와
secrets/**
규칙도 지정된 Read 경로를 막는 예시이며 운영체제 권한이나 비밀 관리 서비스를 대신하지 않습니다.
3. 세 설정의 역할을 따로 확인합니다
disableBypassPermissionsMode: "disable"
은 bypassPermissions 모드와
--dangerously-skip-permissions
사용을 막습니다.
allowManagedPermissionRulesOnly: true
는 사용자·프로젝트 설정이 allow·ask·deny 권한 규칙을 정의하지 못하게 하고 관리형 규칙만 적용합니다.
permissions.deny
는 일치하는 도구 호출과 경로를 차단합니다.
4. 저장 전 JSON과 영향 범위를 승인받습니다
오탈자, 경로 패턴, 정상 업무 영향, 적용 대상이 조직 전체라는 점을 다시 봅니다. 승인 전에는 Save를 누르지 않습니다. 변경 후 문제가 생기면 되돌릴 수 있도록 이전 JSON도 따로 보관합니다.
5. 저장한 뒤 새 세션에서 적용을 확인합니다
공식 문서에 따르면 Claude Code 클라이언트는 다음 시작 시점 또는 매시간 폴링에서 변경된 설정을 받습니다. 즉시 검증하려면 일반 사용자가 Claude Code를 재시작합니다. 보안 승인 대화상자가 나타나는 설정이라면 내용을 읽고 승인 여부를 판단합니다.
일반 사용자 세션에서 차단과 정상 작업을 검증하기
1.
/permissions
에서 유효 규칙을 확인합니다
일반 사용자 계정으로 Claude Code를 시작하고
/permissions
를 실행합니다. 관리형 deny 규칙이 유효 권한 규칙에 보이는지 확인합니다. 관리자 화면의 저장 메시지만으로 적용 완료를 판단하지 않습니다.
2. 비민감 테스트 저장소에서 차단을 재현합니다
가짜 값만 든
.env
와
secrets/sample.txt
를 만든 테스트 저장소를 사용합니다. Claude Code에 두 파일을 읽으라고 요청하고 deny 결과를 기록합니다. 실제 자격증명이나 운영 저장소로 차단 시험을 하지 않습니다.
3. 정상 작업이 유지되는지 확인합니다
일반 소스 파일 읽기, 승인된 테스트 실행, 안전한 코드 수정처럼 유지해야 할 작업도 함께 확인합니다. 차단만 통과하고 정상 업무가 멈췄다면 배포 성공이 아닙니다.
4. 우회 모드와 로컬 규칙 추가를 점검합니다
격리된 테스트 환경에서 bypassPermissions 모드가 활성화되지 않는지 확인합니다. 사용자나 프로젝트 설정에 임의 권한 규칙을 넣어도 관리형 정책이 그대로 적용되는지
/permissions
에서 다시 봅니다. 실제 운영 명령이나 외부 전송은 실행하지 않습니다.
그대로 복사해 쓸 프롬프트
허용 입력: 공식 문서 URL, 현재 관리형 JSON, 비민감 테스트 저장소의 파일 목록, 유지해야 할 정상 작업 목록
제외 입력: 실제 API 키, 비밀번호, 고객정보, 운영 자격증명, 실제 비밀 파일 내용
출력 형식: 1) 설정 키별 효과 2) 차단 테스트 3) 정상 작업 테스트 4) 영향 범위 5) 롤백 조건
완료 기준: disableBypassPermissionsMode, allowManagedPermissionRulesOnly, permissions.deny를 각각 설명하고 /permissions·재시작·가짜 파일 검증을 포함할 것
추정 금지: 플랜, 역할, 메뉴 이름, 지원 플랫폼, per-group 지원, 모든 유출 경로 차단 여부를 공식 근거 없이 추정하지 말 것
승인 지점: JSON 검토안까지만 작성하고 Owner 또는 Primary Owner가 승인하기 전에는 저장·배포·외부 전송을 실행하지 말 것
이 프롬프트의 결과도 공식 문서와 현재 관리자 화면에 대조합니다. Claude가 만든 경로 패턴을 그대로 저장하지 않습니다.
실전 활용 팁
정책 검증 기록은 차단 매트릭스와 정상 작업 매트릭스로 나누는 편이 좋습니다.
.env
읽기 거부만 봐서는 빌드와 테스트가 계속 작동하는지 알 수 없습니다. 각 행에 작업, 기대 결과, 실제 결과, 증거, 승인자를 남기면 롤백 여부를 빠르게 판단할 수 있습니다.
처음부터
forceRemoteSettingsRefresh
까지 켜지 않는 편이 안전합니다. 공식 문서에 따르면 이 값을
true
로 두면 최신 원격 설정을 가져오지 못할 때 Claude Code가 시작되지 않습니다. 네트워크 정책과 장애 대응을 별도로 검토한 뒤 독립 변경으로 다룹니다.
주의할 점
server-managed settings는 중앙 정책 집행 수단이지만 Anthropic은 이를 보안 경계가 아닌 클라이언트 측 통제로 설명합니다. 특히 관리되지 않는 기기에서는 사용자가 관리자 권한 없이도 우회할 수 있다고 안내합니다. 비밀값은 저장소에서 제거하고 운영체제 권한, 비밀 관리 서비스, 기기 관리 정책을 함께 사용해야 합니다.
server-managed settings와 endpoint-managed settings는 같은 최상위 계층에 있지만 두 소스의 설정은 합쳐지지 않습니다. 서버가 비어 있지 않은 설정을 보내면 endpoint-managed 설정이 무시될 수 있습니다. 기존 MDM 또는 시스템
managed-settings.json
정책이 있다면 새 서버 설정과의 우선순위를 먼저 검토합니다.
정책은 현재 조직 전체 사용자에게 동일하게 적용됩니다. per-group 구성을 전제로 팀마다 다른 예외를 약속하지 않습니다. 메뉴가 보이지 않거나 설정이 적용되지 않으면 역할, 지원 플랫폼, 네트워크, 현재 공식 문서를 확인합니다.
자주 묻는 질문
Q1. Team의 Admin도 Managed settings를 바꿀 수 있나요?
공식 문서는 Owner와 Primary Owner만 server-managed settings를 관리할 수 있다고 안내합니다. 다른 역할이 메뉴를 열었을 때 다른 페이지로 이동하면 Owner 또는 Primary Owner에게 요청합니다.
Q2. deny에 `.env`를 넣으면 비밀 유출이 모두 막히나요?
아닙니다. 해당 Read 규칙과 일치하는 접근을 막는 예시입니다. 다른 셸 도구, 이미 노출된 환경 변수, 로그, 외부 도구 같은 경로까지 자동으로 차단한다고 볼 수 없습니다.
Q3. 저장하면 실행 중인 모든 세션에 바로 적용되나요?
공식 문서는 다음 시작 또는 매시간 폴링에서 업데이트된 설정을 받는다고 설명합니다. 즉시 확인하려면 사용자가 Claude Code를 재시작하고
/permissions
를 실행합니다.
Q4. 팀별로 다른 server-managed settings를 배포할 수 있나요?
현재 공식 문서는 설정이 조직 사용자에게 동일하게 적용되며 per-group 구성을 지원하지 않는다고 안내합니다. 역할별 정책이 필요하면 공식 문서와 계정 담당자를 통해 별도 배포 방식을 검토합니다.
출처
Anthropic Claude Code 공식 문서: Configure server-managed settings
Anthropic Claude Code 공식 문서: Configure permissions
Anthropic Claude Code 공식 문서: Claude Code settings
마무리
Claude Code 조직 권한 설정은 JSON을 저장했다고 끝나지 않습니다. 조직 전체 영향과 승인자를 먼저 확인하고, 권한 우회 차단·관리형 규칙 강제·비밀 파일 deny를 각각 검토합니다. 그다음 일반 사용자 세션에서 차단과 정상 작업을 함께 재현해야 합니다.
server-managed settings는 클라이언트 측 통제입니다. 비밀값을 저장소에서 분리하고 기기·운영체제·비밀 관리 정책과 결합할 때 실무 안전성이 높아집니다.
