"나"는 한 사람이 아니라 모자(Role)다
AWS는 사람을 직업으로 구분하지 않는다. 포털에서 어떤 타일(계정 × Permission Set)로 들어왔는지로 구분한다. 회사라면 개발자와 DevOps가 다른 사람이고, 1인 구성이면 같은 사람이 타일만 바꿔 쓴다.
이 페이지 목차
모자 네 개
개발자 (Developer)
- 타일
- dev × DevPowerUser, 그 외 계정 × ReadOnly
- 하는 일
- 리소스 생성 · 디버깅, Boundary 안에서 앱용 Role 생성, 배포 트리거
- 안 하는 일
- Organizations · Identity Center · SCP 변경, 운영 계정 직접 수정
- 자주 보는 것
- AccessDenied, SSO 만료, PassRole 오류
DevOps / 플랫폼 관리자
- 타일
- admin × PlatformAdmin (1시간), 각 계정 × ReadOnly
- 하는 일
- 계정 · OU, 사용자 · 그룹, Permission Set · 할당, SCP · RCP, OIDC · 배포 Role, 감사 로그
- 안 하는 일
- 일상 개발을 Admin 세션으로 하기, 루트 사용
- 자주 보는 것
- "이 권한 열어주세요" 요청, 재프로비저닝, 정책 설계
Root · 결제 소유자
- 타일
- 없음 (관리 계정 루트, 이메일 + MFA)
- 하는 일
- 결제, 계정 해지, 루트 전용 작업, Identity Center 장애 시 비상 진입
- 안 하는 일
- 그 외 전부. 평소 봉인
기계 주체 (CI · 앱)
- 타일
- 없음. OIDC · 서비스 Trust로 Role을 빌림
- 하는 일
- 배포(GitHub Actions), 런타임 AWS 호출(ECS · Lambda)
- 안 하는 일
- 장기 키 보관
1인 구성 요령: 코드를 짤 땐 dev × DevPowerUser, 구조를 바꿀 땐 admin × PlatformAdmin, 확인만 할 땐 ReadOnly. 모자를 바꾸는 행위 자체가 "지금 위험한 걸 하는 중"이라는 신호가 된다.
관계도에서 두 사람이 어떻게 갈리는지는 01 개발자 콘솔 로그인과 02 DevOps 관리자 진입을 나란히 보면 바로 보인다. 같은 포털을 지나 STS에서 갈라진다.
누가 무엇을 하나
| 작업 | 개발자 | DevOps | Root | CI · 앱 | 관련 유즈케이스 |
|---|---|---|---|---|---|
| 포털 로그인 후 콘솔 · CLI 사용 | ● | ● | · | · | |
| dev 계정에 리소스 생성 · 디버깅 | ● | ○ | · | · | |
| Boundary 안에서 앱용 Role 생성 | ● | ○ | · | · | |
| 사용자 · 그룹 관리 | · | ● | · | · | |
| Permission Set 설계 · 할당 · 재프로비저닝 | ○ | ● | · | · | |
| 계정 생성 · OU 배치 | · | ● | ○ | · | |
| SCP · RCP · 선언적 정책 | ○ | ● | · | · | |
| OIDC provider · 배포 Role 구성 | ○ | ● | · | · | |
| 배포 실행 | ○ | · | · | ● | |
| 런타임 AWS 호출 | · | · | · | ● | |
| 결제 · 계정 해지 · 루트 전용 작업 | · | ○ | ● | · | |
| AccessDenied 원인 파악 / 정책 수정 | ● | ● | · | · |
● 주로 함 · ○ 요청하거나 가끔 · · 안 함
1인 2계정 권장 타일 구성
| Permission Set | 내용 | admin | dev | 세션 | 모자 |
|---|---|---|---|---|---|
| ReadOnly | ReadOnlyAccess (민감 데이터까지 막으려면 ViewOnlyAccess) | ✓ | ✓ | 8h | 공통 · 평소 기본 |
| DevPowerUser | PowerUserAccess + Boundary 조건부 IAM 생성 권한 | — | ✓ | 8h | 개발자 |
| PlatformAdmin | AdministratorAccess | ✓ | ✓ | 1h | DevOps 관리자 |
| Billing | job-function/Billing | ✓ | — | 4h | 결제 소유자 |
Permission Set 이름은 의도가 드러나게 짓는다. 콘솔 오른쪽 위와 CLI의 get-caller-identity에 이 이름이 그대로 찍히기 때문에, 이름만 보고도 지금 어떤 모자를 쓰고 있는지 알 수 있다.