티스토리 뷰

Chapter 3 — Admin Setup 완전정리 (개념 + 실습 + 심화)

CLAUDE CODE DEEP DIVE WORKSHOP · 시리즈 3/6

③ Admin Setup — 조직 단위로 배포·통제·감사하기

대량 배포, 자격증명 중앙관리, 네트워크 보안, 거버넌스, 비용 모니터링, SSO/ID 연동, 감사까지 관리자 관점의 챕터.

이 글의 결론 — 대량 배포 → 자격증명 중앙화 → 네트워크/DLP → managed-settings.json 거버넌스 → 비용 모니터링 → SSO/SCIM → 감사까지, 관리자가 안전하고 추적 가능하게 운영하는 법.

핵심 9영역

영역 핵심 내용
1. 배포 전략
"500대에 설치하고 갱신하는 법"
사내 npm 미러(Verdaccio/Nexus), Native 대량 배포, Windows MSI, Docker 이미지, 버전 고정, 폐쇄망(air-gapped)
2. 공급자와 자격증명
"키를 나눠주지 않는 인증 설계"
Bedrock(Model access·IAM·SSO), Vertex AI, OAuth, PrivateLink/VPC Endpoint
3. 🆕 Claude apps gateway
"자체 호스팅 SSO 게이트웨이"
자체 호스팅 게이트웨이로 요청 중간 단계 통제 — 최신 에디션 신설 파트
4. 네트워크와 보안
"사내망에서 안전하게 통과시키기"
프록시, 내부 CA/DNS, 아웃바운드 검사, DLP Hook, 내부 MCP, Settings 3단 계층
5. 거버넌스와 정책
"개인이 못 바꾸는 것을 설계한다"
managed-settings.json, 권한 패턴, MCP allowlist, 감사 로그 Hook, 정책 배너
6. 모니터링과 비용
"쓰임을 보고, 비용을 귀속시키기"
OTel 관측성, /cost, 예산 알람, 자동 스로틀링, 사용자·팀별 비용 귀속
7. 신원·데이터·컴플라이언스
"감사관의 질문에 답하는 체계"
SSO(IAM Identity Center·Okta 등)·SCIM, CloudTrail, SOC 2, 데이터 취급
8. 트러블슈팅
"관리자에게 오는 문의의 지도"
인증·네트워크 문제 진단 흐름
9. Recap & LabsLab: 내부 미러 / Bedrock SSO / managed-settings / DLP Hook / OTel

실습 체크리스트

☐ managed-settings.json 샘플 작성 + 우선순위 이해
☐ MCP server allowlist로 허용 서버만 통과
☐ Audit log Hook으로 도구 사용 기록
☐ /cost + OTel로 사용량/비용 확인
☐ (관리자) SSO 연동 또는 PrivateLink 경유 호출
☐ Lab 1~3 중 하나 완주

🧪 핸즈온 랩 — 통제 가능한 Enterprise 배포

Task 내용
사내 npm 미러(Verdaccio)프라이빗 레지스트리로 배포
Bedrock + SSO 자격증명조직 인증 패턴 구성
managed-settings 정책 강제조직 표준을 전사 강제 배포
DLP Hook시크릿 유출 차단
OpenTelemetry사용량·비용 텔레메트리 맛보기

산출물 — managed-settings.json + DLP Hook + OTel 관측 구성


🧪 핸즈온 상세 실습 기록

1. 사내 npm 미러 (Verdaccio)

npm install -g verdaccio
verdaccio --listen 4873 > /tmp/verdaccio.log 2>&1 &
npm ping --registry http://localhost:4873           # PONG이면 정상
npm install -g @anthropic-ai/claude-code --registry http://localhost:4873
claude --version
pkill -f verdaccio

프라이빗 레지스트리를 통해 배포 → 폐쇄망·버전 통제의 기초.

2. Bedrock + SSO 자격증명

# aws-config에 [sso-session corp] + [profile claude-workshop] 정의
# IAM 정책: bedrock:InvokeModel / InvokeModelWithResponseStream / ListFoundationModels
aws sso login --profile claude-workshop
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_PROFILE=claude-workshop
export AWS_REGION=ap-northeast-2
claude doctor    # API Provider: AWS Bedrock 표시 확인

3. managed-settings로 조직 정책 강제

sudo mkdir -p /etc/claude-code
sudo tee /etc/claude-code/managed-settings.json > /dev/null << 'EOF'
{
  "permissions": {
    "allow": ["Read(**)", "Grep", "Glob", "Bash(npm test:*)"],
    "ask":   ["Edit(**)", "Write(**)"],
    "deny":  ["Bash(curl:*)", "Read(.env)"]
  }
}
EOF

/etc/claude-code/의 managed-settings는 사용자 설정보다 우선해 조직 정책을 강제합니다.

4. DLP Hook — 시크릿 유출 차단

PreToolUse Hook으로 .env·API 토큰 같은 민감 패턴이 읽히거나 커밋되는 것을 차단. (실습용 가짜 값 DB_PASSWORD=lab-fake-… 사용)

5. OpenTelemetry 텔레메트리

OTel 환경변수로 사용량·비용을 관측 시스템으로 내보내는 맛보기. 조직 단위 비용 모니터링의 출발점.

🔑 교훈 — managed-settings는 사용자 설정을 이기는 조직 강제 계층 · DLP Hook은 실행 전 차단 · 미러/SSO/OTel로 배포·인증·비용을 중앙에서 통제.

📚 심화 · 비교 · 트러블슈팅 · FAQ

🏛️ 설정 우선순위 — 충돌하면 누가 이기나

우선순위위치용도
1 (최강)/etc/claude-code/managed-settings.json조직 강제(관리자)
2~/.claude/settings.json사용자 개인
3.claude/settings.json프로젝트(팀 공유)
4.claude/settings.local.json개인 오버라이드(미커밋)

→ managed-settings는 사용자가 못 바꿉니다. 조직 정책 강제의 핵심.

🔑 우리 조직은 어떤 인증을 써야 할까

상황추천
이미 AWS 청구·거버넌스를 씀Bedrock + IAM/SSO
GCP 중심 조직Vertex AI + ADC
소규모·빠른 시작구독(OAuth) 또는 API 키

✅ 전사 배포 전 보안 체크리스트

☐ managed-settings로 위험 도구(curl 등)·민감 파일(.env) deny
☐ MCP server allowlist로 허용 서버만 통과
☐ DLP Hook으로 시크릿 유출 차단
☐ 자격증명은 IAM Role/SSO로 (하드코딩·평문 금지)
☐ OTel·CloudTrail로 사용·감사 로그 수집
☐ Offboarding(SCIM)으로 퇴사자 접근 자동 회수

🧯 자주 막히는 지점

증상처방
Bedrock 모델 호출 실패콘솔 Model access 승인 + 리전·모델 ID 일치 확인
SSO 로그인 만료aws sso login --profile ... 재실행
managed-settings 미적용경로(/etc/claude-code/)·JSON 문법·권한 확인

🔭 OpenTelemetry 실전 설정 (최신 20260703 에디션)

최신 에디션은 사용량·비용을 OTLP로 내보내는 표준 환경변수를 제공합니다. 조직 관측 시스템(Collector)에 그대로 연결됩니다.

export CLAUDE_CODE_ENABLE_TELEMETRY=1
export OTEL_METRICS_EXPORTER=otlp
export OTEL_LOGS_EXPORTER=otlp
export OTEL_EXPORTER_OTLP_PROTOCOL=grpc
export OTEL_EXPORTER_OTLP_ENDPOINT=http://collector:4317
export OTEL_RESOURCE_ATTRIBUTES=team=platform,env=prod

→ 지표(metrics)·로그(logs)를 팀/환경 속성과 함께 수집해 사용자별·팀별 비용 추적이 가능합니다.

🔑 자격증명·정책 최신 옵션

항목역할
CLAUDE_CODE_API_KEY_HELPER_TTL_MS자격증명 헬퍼 캐시 수명(회전 주기) 제어
managed-settings.json사용자 설정보다 우선 — 조직 정책 강제(권한·MCP allowlist·Hook)
OIDC / SSOIdP(Okta·Entra 등) 연동 로그인 흐름

🏢 현업 도입 가이드 (규모·비용·환경)

주제권장
비용 예산1인당 월 약 $27 기준 + 30% 안전 마진. Opus 사용은 별도 통제. PoC에서 실측 후 조정
인증 선택10인 이상 → Bedrock + IAM Identity Center(SSO) / 1~5인 PoC → OAuth Pro로 간단히
폐쇄망(Air-Gap)Bedrock VPC Endpoint + 사내 npm 미러(Verdaccio/Nexus) + 사내 MCP 서버
대량 배포"500대 설치·갱신" 관점 — Native/MSI 대량 배포 + 버전 고정

❓ FAQ

Q1. 사내망(외부 인터넷 차단)에서 Claude Code를 쓸 수 있나요?
A. 네. Bedrock VPC Endpoint로 AWS 사설망 내에서만 통신하고, npm 미러와 MCP 서버를 사내에 구축하면 됩니다.

Q2. 도입 비용 예산은 어떻게 잡나요?
A. 1인당 월 약 $27 + 30% 마진이 출발점. Opus 사용은 별도 통제하고, PoC에서 실측 후 본 도입 시 조정합니다.

Q3. SSO와 OAuth Pro 중 무엇을 고르나요?
A. 10인 이상은 Bedrock + IAM Identity Center, 1~5인 PoC는 OAuth Pro로 간단히 시작하세요.

Q4. 개발자가 managed-settings를 우회할 수 있나요?
A. 아니요. /etc/claude 디렉토리는 root 권한이 필요하고, deny 규칙은 항상 승리하므로 우회 불가입니다.

Q5. 컴플라이언스 감사 자료는 어디서 얻나요?
A. CloudTrail(필수) + OpenTelemetry(선택) + managed-settings 문서. Anthropic에 SOC 2 보고서를 요청할 수 있습니다.

다음 편 → ④ Settings
settings.json·권한·Hooks·MCP·슬래시 커맨드를 실제 설정 수준으로 다룹니다.
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2026/08   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함