IAM 이란

균민이
|2024. 8. 22. 23:31

 

IAM 이란

AWS Identity and Access Management는 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스 입니다.

IAM을 사용하면 사용자가 액세스할 수 있는 권한을 관리할 수 있습니다. IAM은 리전(서울, 미국, 일본 등)에 속하는 서비스가 아닌 글로벌 서비스 입니다. 루트 계정은 최초 생성 이후 가능하면 사용하지 말 것, IAM계정의 사용자는 필요한 최소한의 권한만 부여(최소권한의 원칙)

 

사용자(User)

- 개인 또는 애플리케이션을 위한 용도

- 특정 권한을 가진 ID (ex: EC2 FullAccess, Administrator)

- AWS 전반에 IAM 사용자를 특별하게 식별할 필요가 있는 경우 ARN(Amazon Resource Number)을 사용합니다. 일반적인 ARN은 아래와 같이 이루어져있습니다.

 

ARN 구성

 

IAM 사용자(Richard)의 ARN의 예시는 아래와 같습니다.

 

IAM 사용자 ARN 예시

 

그룹(Group)

- 개발팀, 운영팀 등의 사용자의 집합

- 다수의 사용자들에 대한 권한을 지정함으로써 해당 사용자들에 대한 권한을 더 쉽게 관리할 수 있음

Group 예제 ,출처 AWS

 

역할(Role)

- 특정 개인에 속하지 않는 특정 권한을 가진 ID

- 자격 증명이 할 수 있는 것과 없는 것을 결정하는 권한 정책을 갖춘 AWS 자격 증명이라는 점에서 IAM User와 유사함

- 역할은 한 사람하고만 연관되지 않고 역할이 필요한 사람이라면 누구든지 맡을 수 있음

- 역할에는 그와 연관된 암호 또는 액세스 키와 같은 표준 장기 자격 증명이 없음, 임시 보안 자격 증명이 제공됨

 

사용 예시
1. AWS 리소스에 액세스할 수 없는 사용자, APP, Service에 액세스 권한을 위임하는 경우

2. 모바일 앱에서 AWS 리소스를 사용할 수 있도록 허용하되 앱에 AWS키를 내장하기 원치 않는 경우

3. 기업 디렉터리에서 AWS외부에 정의된 자격 증명을 이미 보유하고 있는 경우

4. 타사 계정에 대한 액세스 권한을 부여하여 리소스에 대한 감사를 수행할 수 있어야 하는 경우

 

 

정책(Policy)

 정책은 자격 증명이나 리소스와 연결될 때 해당 권한을 정의하는 AWS의 객체입니다. AWS는 IAM 보안 주체(사용자 or 역할)가 요청을 보낼 때 이러한 정책을 평가합니다. 대부분의 정책은 AWS의 JSON 문서로 저장됩니다. AWS에서 정책은 아래와 같습니다.

 

- 자격 증명 기반 정책(관리형, 보안 인증 기반)

- 리소스 기반 정책

- 권한 경계

- 서비스 제어 정책 (Organizations SCP)

- 액세스 제어 목록(ACL)

- 세션 정책

 

 

JSON 정책 문서 구조

 

 

JSON 정책 구조, 출처 AWS

 

Version : 사용하고자 하는 정책 언어의 버전을 지정합니다.

 

Statement : 이 주요 정책 요소를 다음 요소의 컨테이너로 사용합니다. 정책에 설명문 둘 이상을 포함할 수 있습니다.

 

Sid(선택) : 선택 설명문 ID를 포함하여 설명문을 구분합니다.

 

Effect : Allow, Deny 을 사용하여 액세스를 허용, 거부 여부를 설명합니다.

 

Principal(일부 상황에 필요) : 리소스 기반 정책을 생성하는 경우 액세스를 허용하거나 거부할 계정, 사용자, 역할 또는 페더레이션 사용자를 표시합니다. 사용자 또는 역할에 연결할 IAM 권한 정책을 생성하면 이 요소를 포함할 수 없습니다.

 

Action : 정책이 허용하거나 거부하는 작업 목록을 포함합니다.

 

Resource(일부 상황에 필요) : IAM 권한 정책을 생성하는 경우 작업이 적용되는 리소스 목록을 지정해야 합니다. 리소스 기반 정책을 생성하는 경우 이 요소는 선택사항입니다.

 

Condition(선택) : 정책에서 권한을 부여하는 상황을 지정합니다.

 

 

참고

https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/introduction.html

 

IAM이란 무엇입니까? - AWS Identity and Access Management

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/reference_policies_elements.html

 

IAM JSON 정책 요소 참조 - AWS Identity and Access Management

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

 

, 인프런 코드바나나 AWS 자격증 준비하기