DLP 3-tierPermission BoundaryPer-user IAM

보안

기업 환경에서도 안전하게 사용할 수 있도록 설계된 7계층 보안 모델.

1. 7계층 보안 모델

계층구성 요소주요 보호 기능
L1CloudFrontTLS 1.2+ · AWS Shield
L2ALB / NLBCloudFront Prefix List + X-Custom-Secret 헤더 강제
L3Cognito이메일/비밀번호 + 그룹 기반 (admin/user/dept-manager)
L4Security GroupsDLP 3단계: Open / Restricted / Locked
L5VPC Endpoints인터넷을 거치지 않는 내부 전송
L6DNS FirewallAWS 위협 5개 리스트 + 사용자 정의 차단
L7IAM + DLPPermission Boundary + Deny on overspend + 모델별 ACL

2. DLP 정책 (L4)

정책아웃바운드적합
Open전체 허용 (기본값)일반 개발자
RestrictedVPC 내부 + HTTPS(443)만보안 민감 프로젝트
LockedVPC 내부만 (인터넷 차단)규제 환경, 금융

추가로 code-server에서 --disable-file-downloads --disable-file-uploads 플래그로 파일 유출 방지 (Restricted/Locked).

3. IAM 격리 (L7)

모드Role발급 경로
EC2 DevEnvcc-on-bedrock-task-{subdomain}Instance Profile (Dashboard가 RunInstances 직전 생성)
Local Governancecc-on-bedrock-local-user-{sub_short}STS AssumeRole (STS Issuer Lambda)

두 role 모두:

  • Bedrock: wildcard Claude family ARN (신규 모델 즉시 사용)
  • S3 / DynamoDB: 본인 데이터 경로만
  • CloudWatch: 로그 쓰기만
  • Permission Boundary: cc-on-bedrock-task-boundary 강제 → 권한 확장 방지
IAM 사전 프로비저닝
Cognito 사용자 가입 시 EventBridge 가 UserRoleProvisioner Lambda 를 트리거해 per-user role + Cognito custom attrs 사전 생성. 첫 로그인 시 IAM eventual consistency race 제거.
Cognito 삭제 → 자동 cleanup
사용자 삭제 시 EventBridge 가 자동으로 IAM role + DDB entries + EC2 instance + Secrets 정리. Dashboard 는 IdP-safe degraded mode 로 유실 사용자 그래프를 보여줍니다.

4. 감사 및 추적

CloudTrail 로 모든 Bedrock 호출 및 인프라 변경 이력 저장. 대시보드의 /security 페이지에서 실시간 차단 내역 + 보안 체크리스트 확인.