최소 권한과 비밀 주입
서비스 계정과 배포 계정의 권한을 구분하고 비밀을 저장소 밖에서 전달합니다.
진도 0%
레슨
- 작업에 맞는 최소 권한
리소스·행동·명시적 거부를 구분합니다.
- 서비스 계정과 파일 접근
실행 계정의 접근 범위를 제한합니다.
- 비밀 파일과 환경별 설정
일반 설정과 비밀을 별도 경로로 전달합니다.
- 노출 검사와 비밀 교체
비밀을 출력하지 않고 교체 결과를 확인합니다.
최소 권한과 비밀 주입 미션
m05 미션 solution 전체를 이어받아 Java SecretGate·비루트 계정·외부 비밀 디렉터리 읽기 전용 마운트를 추가합니다. 새 코드는 CI로 빌드하고 비밀 값은 빌드 뒤 생성합니다.
요구사항
- m05 서비스에 저장소 밖의 실습 비밀 파일과 비루트 서비스 계정을 연결합니다.
- 배포 계정·서비스 계정의 권한 표와 AWS IAM 최소 권한 예시를 작성하고 로컬 접근 검사를 수행합니다.
완료 기준
- 서비스는 자기 볼륨에 쓰지만 다른 환경의 설정 파일에는 접근하지 못합니다.
- 저장소·이미지·로그·CI 산출물에서 실습 토큰이 검출되지 않습니다.
- 비밀 교체 후 새 토큰 요청은 성공하고 이전 토큰 요청은 401입니다.
- check.sh는 actual UID·/data 쓰기·/other 읽기 거부·비밀 쓰기 거부, 새 200·옛 401·파일 누락 503, 실제 이미지 모든 계층·CI·로그·state의 양쪽 토큰 바이트 미검출, 두 번째 plan exit 0을 검사합니다.
- Docker·OpenTofu·실제 provider lock 실행은 external 대기입니다. IAM 예시와 호스트 배포 계정 권한 표는 사람이 검토합니다.
BOOTCAMP_AUTOCLEAN=1 bash prepare-and-check.sh미션 시작 코드
모범 답안
모범 답안 내려받기검토 기준
- 명령 기록과 관측 증거로 변경 이유를 설명합니다.
- 다른 학습자가 README로 실행·실패 재현·검증을 따라갈 수 있습니다.