퍼블릭 클라우드 관련/AWS

AWS IAM 핵심 용어 비교표

호레 2025. 10. 11. 21:58
반응형
영어 원문공식/일반 한글 번역의미 요약자주 오해되는 포인트
AssumeRole 역할 맡기 / 역할 전환 sts:AssumeRole API 호출을 통해 임시 자격 증명(temporary credentials) 을 발급받는 행위. “역할을 넘겨받는다”는 의미지, 자격 증명을 직접 전달받는 게 아님.
PassRole 역할 전달 한 AWS 리소스가 다른 리소스에 역할을 사용하도록 허용 (iam:PassRole 권한). 예: EC2 인스턴스가 특정 IAM Role을 사용할 수 있게 함. “AssumeRole”과 혼동 많음. PassRole은 리소스 간 위임, AssumeRole은 사용자/계정 간 위임.
PassCredentials 자격 증명 전달 Access Key, Secret Key 등을 직접 공유하는 행위. 보안상 금지. “역할을 맡는다”와 전혀 다름. AWS 공식 모범 사례에선 절대 금지.
Delegate access 액세스 위임 다른 계정(예: cross-account)에 접근 권한을 부여하는 일반적인 개념. “Delegate”는 일반 표현이고, 실제 구현은 AssumeRole로 이루어짐.
Federation / Federate 연합 / 연동 외부 ID 공급자(IdP, 예: SAML, Cognito, Google Workspace 등)를 통해 AWS에 로그인(인증)하는 방식. “AssumeRole”과 다름. Federation은 외부 사용자 인증, AssumeRole은 AWS 내부 권한 위임.
Impersonate 대리 실행 / 가장 한 사용자가 다른 사용자처럼 행동할 수 있는 권한. (AWS에선 거의 사용 안 함, 대신 AssumeRole 사용) AWS IAM에는 “Impersonate” API 없음.
Trust Policy 신뢰 정책 어떤 주체(Principal)가 sts:AssumeRole을 할 수 있는지 정의하는 정책. Permission Policy와 다름. 누가 “역할을 맡을 수 있는지”를 제어.
Permission Policy 권한 정책 역할이나 사용자에게 실제 리소스 접근 권한(s3:GetObject 등)을 부여하는 정책. Trust Policy와 목적이 다름.
Identity-based policy ID 기반 정책 사용자, 그룹, 역할에 직접 붙는 권한 정책. IAM Policy 대부분이 이 형태.
Resource-based policy 리소스 기반 정책 S3 버킷, KMS 키 등 리소스에 직접 부착되어 “누가 접근 가능한지” 정의. Cross-account 접근 제어 시 자주 함께 사용.

🔍 혼동 예시 정리

잘못된 이해실제 의미
“역할의 자격 증명을 전달한다(pass credentials)” ❌ Access Key를 복사한다는 뜻 (보안상 금지)
“다른 계정의 역할을 사용한다(assume)” ✅ sts:AssumeRole API 호출로 임시 인증을 얻음
“리소스에 역할을 부여한다(pass role)” ✅ EC2, ECS Task 등 리소스가 IAM Role을 사용할 수 있게 허용
“외부 IdP 계정으로 로그인(federate)” ✅ SAML/OIDC 기반 인증으로 AWS 콘솔 또는 STS 임시 자격 증명 획득

🧠 기억 포인트

  1. AssumeRole = 사용자/계정 간 권한 위임
  2. PassRole = AWS 리소스에 역할을 부여
  3. Federation = 외부 사용자 인증
  4. PassCredentials = 금지! 자격 증명 직접 전달

💡 외우기 쉬운 문장

🔹 “Humans assume roles, services pass roles.”
사람(사용자)은 역할을 맡고, 서비스(EC2, Lambda)는 역할을 전달받는다.

반응형