IAM 한눈에 보기


🧩 주요 개념 정리

개념 의미 비고
사용자(User) 장기 자격 증명(비밀번호·액세스 키)을 가진 사람/시스템 계정 사람에게는 가급적 콘솔 전용, 키는 지양
그룹(Group) 여러 사용자에 공통 권한 부여 정책은 그룹에 붙이고 사용자를 그룹에 배치
역할(Role) 임시 자격 증명(STS) 로 쓰는 권한 세트 EC2‧Lambda 등 서비스에 부여, 교차 계정 접근
정책(Policy) 허용/거부 규칙 문서(Effect/Action/Resource/Condition) ID 기반, 리소스 기반, 권한 경계, 세션 정책 등
신뢰 정책(Trust Policy) “누가 이 역할을 맡을 수 있나” 정의 sts:AssumeRole 허용 주체·조건
자격 증명 비밀번호·MFA·액세스 키·임시 토큰 최소 권한 + 임시 자격 증명 우선

🔐 IAM 권한 평가 로직 (요청이 허용/거부되는 과정)

flowchart TD
    A[요청 주체가 자격 증명으로 호출] --> B{인증 성공?}
    B -- 아니오 --> X[AccessDenied]
    B -- 예 --> C[요청 컨텍스트 구성<br>태그, 소스 IP, MFA 등]
    C --> D[Organizations SCP 평가]
    D -->|명시적 Deny| X
    D --> E[리소스 기반 정책<br>예: S3 버킷 정책]
    E -->|명시적 Deny| X
    E --> F[ID 기반 정책<br>사용자/역할에 붙은 정책]
    F -->|명시적 Deny| X
    F --> G[Permissions Boundary<br>권한 경계 적용]
    G -->|경계를 초과| X
    G --> H[세션 정책<br>Session Policy 적용]
    H --> I[서비스별 추가 검증<br>S3 ACL, VPC 엔드포인트 정책 등]
    I --> J{허용이 1개 이상?}
    J -- 예 --> K[Allow]
    J -- 아니오 --> X[암시적 Deny]

규칙 요약: 기본은 거부(암시적 Deny) → 어딘가에 명시적 Deny가 하나라도 있으면 최종 거부 → Deny가 없고 어디든 Allow가 하나라도 있으면 허용. 다만 SCP/권한경계/세션 정책은 “상한선” 역할을 하여 허용 범위를 더 줄일 수 있습니다.


🧠 인증 vs 인가


🏠 집 비유(요청주신 비유 보강)