클라우드 권한 설계 · 정책 문서 읽는 법 · 실습
권한을 손으로 계산한다
목표
IAM 은 클라우드 사고의 1번 원인인데, 결정 논리 자체는 세 줄입니다.
1. 명시적 Deny 가 하나라도 맞으면 → 거부2. 아니고 Allow 가 하나라도 맞으면 → 허용3. 둘 다 없으면 → 거부 (암묵적 거부)순서가 아니라 종류가 이깁니다. 정책을 몇 개 붙이든 Deny 하나가 모든
Allow 를 이깁니다.
이 실습은 클라우드 계정 없이 이 논리를 그대로 돌립니다.
평가기
python3 /opt/lab/iam/evaluate.py policy.json requests.txt요청 파일은 한 줄에 액션 리소스, 조건은 키=값 으로 덧붙입니다.
s3:GetObject arn:aws:s3:::reports/2026-q1.csvs3:GetObject arn:aws:s3:::pub/x aws:SourceVpc=vpc-lab1평가기 소스도 읽어 보세요 — 200줄이 안 됩니다. **IAM 이 어려운 것은 논리가
복잡해서가 아니라 정책이 여러 곳에서 합쳐지기 때문**입니다.
준비된 파일
| 파일 | 쓰임 |
|---|---|
| /opt/lab/iam/evaluate.py | 평가기 |
| /opt/lab/iam/policy1.json · requests1.txt | 1단계 |
| /opt/lab/iam/needed.txt | 4단계 — 앱이 실제로 하는 일 |
| /opt/lab/iam/incident.json | 6단계 |
참고
4단계는 적히지 않은 요청으로도 시험합니다. 넓게 쓰면 거기서 걸립니다.
단계 7개
- 결과를 먼저 예측한다
- Deny 는 순서와 무관하게 이긴다
- 와일드카드가 어디까지 잡나
- 최소 권한으로 좁힌다
- 조건을 건다
- 사고를 재현한다
- 세 가지를 정리한다