퍼블릭 클라우드 관련/AWS

IAM 역할 내부 구조

호레 2025. 10. 18. 12:53
반응형

 

항목                                                                 설명

신뢰 정책(Trust Policy) 어떤 주체(Principal)가 이 역할을 Assume할 수 있는지를 정의
권한 정책(Permissions Policy) 역할을 Assume한 엔티티가 어떤 AWS API를 호출할 수 있는지를 정의

 

 

🧩 IAM 역할(Role)의 두 개의 정책 구조

정책   종류                             위치                                                    역할                                     요약
🧾 신뢰 정책 (Trust Policy) IAM 역할 안의 “신뢰 관계(Trust relationships)” 누가 이 역할을 사용할 수 있는가?” 정의 역할을 Assume할 수 있는 주체(Principal) 를 지정
🔐 권한 정책 (Permissions Policy) IAM 역할 안의 “권한(Permissions)” 이 역할이 무엇을 할 수 있는가?” 정의 역할이 AWS 리소스에 대해 호출할 수 있는 API 를 지정

 

1️⃣ 신뢰 정책 (Trust Policy)

💡 개념

“이 역할을 누가 사용할(Assume할) 수 있느냐?”를 정의.

  • IAM 역할은 스스로 실행되지 않습니다.
    대신 누군가(서비스나 사용자, 다른 역할)sts:AssumeRole 을 통해 “그 역할이 되어” 동작합니다.
  • 신뢰 정책은 바로 이 Assume 권한을 허용하는 대상(Principal) 을 지정하는 정책입니다.
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": { "Service": "lambda.amazonaws.com" },
      "Action": "sts:AssumeRole"
    }
  ]
}

 

 

2️⃣ 권한 정책 (Permissions Policy)

💡 개념

“이 역할이 어떤 리소스에, 어떤 작업을 수행할 수 있는가?”를 정의.

이건 우리가 흔히 말하는 “IAM 정책(JSON)”의 형태로,
AWS 리소스에 접근할 수 있는 구체적인 액션(Action)과 리소스(Resource)를 명시합니다.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": "arn:aws:logs:*:*:*"
    }
  ]
}
반응형