1. IAM 이란?
- AWS IAM (Identity and Access Management)는 AWS에서 제공하는 보안 관리 서비스이다.
- IAM을 사용하면 AWS 리소스에 대한 액세스를 안전하게 관리할 수 있다.
- 사용자, 그룹, 역할 및 정책을 사용하여 AWS 계정 내의 액세스를 제어한다.
2. IAM 구성

1) User (사용자)
- 실제 AWS를 사용하는 사람 또는 어플리케이션을 의미한다.
- 각 사용자는 고유한 자격 증명(액세스 키, 비밀번호 등)을 가지며, 이를 통해 AWS 리소스에 액세스할 수 있다.
2) Group (그룹)
- 사용자의 집합이다.
- 여러 사용자를 그룹으로 묶어 공통된 권한을 할당할 수 있다.
- 그룹을 사용하면 사용자 관리가 더 쉬워지며, 개별 사용자가 아닌 그룹 단위로 권한을 설정할 수 있다.
3) Role (역할)
- 정의된 권한 범위 내 AWS API를 사용할 수 있는 임시 자격 증명을 의미한다.
- 코드에 하드 코딩하지 않고 실행할 때 임시(+Token) 자격 증명을 사용하는데 이른 Assume이라고 한다.
- IAM 역할을 사용하면 사용자 권한을 공유하거나 매번 권한을 부여할 필요가 없다.
- 역할 생성 시 신뢰할 수 있는 엔터티 유형으로 "AWS 서비스, AWS 계정, 웹 자격 증명, SAML 2.0 연동, 사용자 지정 신뢰 정책"을 선택할 수 있다.
- 예를 들어, EC2 인스턴스가 S3 버킷에 접근할 수 있도록 설정할 때 역할을 사용할 수 있다.
4) Policy (정책)
- 정책은 JSON 형식의 문서로, 특정 리소스에 대해 어떤 액션을 허용하거나 거부할지를 정의한다.
- 정책은 사용자, 그룹, 역할에 연결되어 권한을 부여한다.
- 정책은 AWS 관리형 정책, 고객 관리형 정책, 인라인 정책으로 나뉜다.
- AWS 관리형 정책 (AWS Managed policies): AWS에서 생성 및 관리하는 글로벌 적용 가능 정책
- 고객 관리형 정책 (Customer Managed policies): 고객이 직접 생성하여 고객 계정에서만 사용 가능한 정책이다.
- 인라인 정책 (In-line policies): 단일 IAM 자격 증명(사용자, 그룹 또는 역할)에 대해 생성되는 정책으로 자격 증명을 삭제하면 삭제된다.
3. IAM 권한 검증 순서
1) User가 접근 시

- User가 S3 버킷에 접근 하려고 할 때 상기 이미지와 같은 순서대로 정책을 평가하고 접근 허용/거부가 이루어진다.
- User Policy: user에게 직접 연결된 정책
- Group Policy : user이 속한 그룹에 연결된 정책
- Role Policy : user이 일시적으로 수락한 역할에 연결된 정책
2) AWS 서비스가 다른 서비스에 접근 시

- EC2에서 S3 버킷의 객체를 읽으려는 요청을 보내면, EC2가 부여 받은 IAM Role의 Policy를 평가한 후 해당 Policy 에 S3 버킷의 객체를 읽을 수 있는 권한이 포함되어 있을 경우 EC2는 S3 버킷에 접근할 수 있다.
참고
1. 쉽게 설명하는 AWS 기초 강좌 5: IAM 기초: https://www.youtube.com/watch?v=lcly_aIq1KI
'Cloud > AWS' 카테고리의 다른 글
[AWS] EKS에서 ExternalDNS 구성하기 (1) | 2024.11.16 |
---|---|
[AWS] DynamoDB를 활용하여 간단한 웹사이트 구성 (3) | 2024.10.12 |
[AWS] EKS에서 Ingress 및 AWS Load Balancer Controller (0) | 2024.08.06 |
1. IAM 이란?
- AWS IAM (Identity and Access Management)는 AWS에서 제공하는 보안 관리 서비스이다.
- IAM을 사용하면 AWS 리소스에 대한 액세스를 안전하게 관리할 수 있다.
- 사용자, 그룹, 역할 및 정책을 사용하여 AWS 계정 내의 액세스를 제어한다.
2. IAM 구성

1) User (사용자)
- 실제 AWS를 사용하는 사람 또는 어플리케이션을 의미한다.
- 각 사용자는 고유한 자격 증명(액세스 키, 비밀번호 등)을 가지며, 이를 통해 AWS 리소스에 액세스할 수 있다.
2) Group (그룹)
- 사용자의 집합이다.
- 여러 사용자를 그룹으로 묶어 공통된 권한을 할당할 수 있다.
- 그룹을 사용하면 사용자 관리가 더 쉬워지며, 개별 사용자가 아닌 그룹 단위로 권한을 설정할 수 있다.
3) Role (역할)
- 정의된 권한 범위 내 AWS API를 사용할 수 있는 임시 자격 증명을 의미한다.
- 코드에 하드 코딩하지 않고 실행할 때 임시(+Token) 자격 증명을 사용하는데 이른 Assume이라고 한다.
- IAM 역할을 사용하면 사용자 권한을 공유하거나 매번 권한을 부여할 필요가 없다.
- 역할 생성 시 신뢰할 수 있는 엔터티 유형으로 "AWS 서비스, AWS 계정, 웹 자격 증명, SAML 2.0 연동, 사용자 지정 신뢰 정책"을 선택할 수 있다.
- 예를 들어, EC2 인스턴스가 S3 버킷에 접근할 수 있도록 설정할 때 역할을 사용할 수 있다.
4) Policy (정책)
- 정책은 JSON 형식의 문서로, 특정 리소스에 대해 어떤 액션을 허용하거나 거부할지를 정의한다.
- 정책은 사용자, 그룹, 역할에 연결되어 권한을 부여한다.
- 정책은 AWS 관리형 정책, 고객 관리형 정책, 인라인 정책으로 나뉜다.
- AWS 관리형 정책 (AWS Managed policies): AWS에서 생성 및 관리하는 글로벌 적용 가능 정책
- 고객 관리형 정책 (Customer Managed policies): 고객이 직접 생성하여 고객 계정에서만 사용 가능한 정책이다.
- 인라인 정책 (In-line policies): 단일 IAM 자격 증명(사용자, 그룹 또는 역할)에 대해 생성되는 정책으로 자격 증명을 삭제하면 삭제된다.
3. IAM 권한 검증 순서
1) User가 접근 시

- User가 S3 버킷에 접근 하려고 할 때 상기 이미지와 같은 순서대로 정책을 평가하고 접근 허용/거부가 이루어진다.
- User Policy: user에게 직접 연결된 정책
- Group Policy : user이 속한 그룹에 연결된 정책
- Role Policy : user이 일시적으로 수락한 역할에 연결된 정책
2) AWS 서비스가 다른 서비스에 접근 시

- EC2에서 S3 버킷의 객체를 읽으려는 요청을 보내면, EC2가 부여 받은 IAM Role의 Policy를 평가한 후 해당 Policy 에 S3 버킷의 객체를 읽을 수 있는 권한이 포함되어 있을 경우 EC2는 S3 버킷에 접근할 수 있다.
참고
1. 쉽게 설명하는 AWS 기초 강좌 5: IAM 기초: https://www.youtube.com/watch?v=lcly_aIq1KI
'Cloud > AWS' 카테고리의 다른 글
[AWS] EKS에서 ExternalDNS 구성하기 (1) | 2024.11.16 |
---|---|
[AWS] DynamoDB를 활용하여 간단한 웹사이트 구성 (3) | 2024.10.12 |
[AWS] EKS에서 Ingress 및 AWS Load Balancer Controller (0) | 2024.08.06 |