인프라를 설계하기 전에, 먼저 작업 환경부터 설계해야 한다고 생각했다.
AWS는 root 계정으로도 모든 작업이 가능하다.
하지만 보안 모범 사례에 따르면 root 계정은 최소한으로 사용해야 한다.
root는 말 그대로 “절대 권한”이기 때문이다.
실수 한 번이면 복구가 어려울 수도 있다.
그래서 이번 프로젝트에서는
IAM Identity Center 기반 사용자 접근 방식을 채택했다.
또 하나의 고민은 작업 방식이었다.
AWS 콘솔은 직관적이다.
하지만 변경 이력을 남기고, 자동화를 고려하고,
인프라를 코드처럼 다루려면 CLI 환경이 더 적합하다.
이 글에서는 프로젝트를 시작하기 전에 설정한 두 가지를 정리한다.
- IAM Identity Center 구성
- AWS CLI 인증 환경 설정
Access Key vs SSO
AWS CLI를 사용하려면 인증이 필요하다.
방법은 크게 두 가지다.
1. Access Key (IAM 사용자 방식)
- IAM 사용자 생성
- Access Key / Secret Key 발급
- aws configure로 로컬에 저장
- 장기 자격 증명 사용
설정 자체는 쉽고 간단하게 끝난다.
하지만 Access Key는 “비밀번호를 파일로 저장해두는 것”과 비슷하다.
한 번 발급하면 만료되지 않고, 유출되면 치명적이다.
2. SSO (IAM Identity Center 방식)
- IAM Identity Center 사용
- 브라우저 로그인 기반
- 임시 자격 증명 (세션 기반)
- 일정 시간 후 자동 만료
설정은 조금 더 복잡하다.
하지만 훨씬 현대적인 방식이다.
IAM Identity Center란 무엇인가?
AWS 콘솔에서 IAM Identity Center를 활성화하면
중앙화된 사용자 관리 시스템이 생긴다.
여러 AWS 계정을 하나의 로그인 시스템으로 묶는 것
- 하나의 로그인 포털 생성
- 여러 계정/역할을 한 번에 관리
- CLI와 콘솔 모두 동일 인증 체계 사용
초기 설정을 하면 이런 URL이 생성된다:
https://d-xxxxxxxxxx.awsapps.com/start
이 주소가 SSO 로그인 포털이다.
aws configure sso가 만드는 구조 이해하기
CLI에서 다음 명령어를 실행한다.
aws configure sso
설정을 마치면 ~/.aws/config에 이런 구조가 생긴다.
[sso-session default]
sso_start_url = https://d-xxxxxxxxxx.awsapps.com/start
sso_region = ap-northeast-2
sso_registration_scopes = sso:account:access
[profile default]
sso_session = default
sso_account_id = 123456789012
sso_role_name = AdministratorAccess
region = ap-northeast-2
output = json
음... session은 뭐고 profile은 뭐지?
🎫 sso-session
로그인 방식 설정
- 어떤 URL로 로그인할지
- 어느 리전에 있는지
👤 profile
어떤 AWS 계정 + 어떤 역할로 접근할지
- session = 인증 방식
- profile = 실제 사용할 계정과 권한
로그인은 profile 기준으로 한다.
aws sso login --profile default
여러 개의 session이 필요한 경우는?
보통은 session 1개, profile 여러 개를 쓴다.
company-sso
├─ dev
├─ staging
├─ prod
하지만 이런 경우는 session을 나눠야 한다.
- 서로 다른 Organization (start URL 다름)
- 서로 다른 SSO 리전
대부분 개인 프로젝트에서는 session 1개면 충분하다.
실제 설정 과정 요약
1️⃣ IAM Identity Center 활성화
AWS 콘솔 → IAM Identity Center → 활성화
Access Portal URL 생성됨.
2️⃣ 사용자 생성
- Username
- 이메일
- 비밀번호 설정
3️⃣ 권한 세트 생성
이번 프로젝트는 실습 목적이므로
- AdministratorAccess
- 세션 기간: 12시간
※ 실무에서는 최소 권한 원칙 적용
4️⃣ 사용자에게 계정 + 권한 할당
이제 CLI에서도 동일 권한으로 접근 가능해진다.
CLI 사용해보기
로그인
aws sso login --profile default // --profile default 생략가능
브라우저가 열리고 로그인하면 완료된다.
인증 확인
aws sts get-caller-identity
정상이라면 현재 로그인된 계정 정보가 출력된다.
리소스 조회 예시
aws s3 ls
aws ec2 describe-instances
세션이 만료되면 에러가 발생한다.
그때는 다시
aws sso login
'Project > CloudNote' 카테고리의 다른 글
| BE 환경 세팅 (4) (1) | 2026.02.23 |
|---|---|
| S3, DynamoDB, EC2 세팅 (3) (0) | 2026.02.22 |
| AI 강의 요약 서비스 만들기 (1) (0) | 2026.02.18 |