본문 바로가기

개발이야기/AWS

AWS IAM 정리 - 사용자, 역할, 그룹, 자격 증명 공급자, 고객 관리형 정책

728x90

참고영상 : IAM 정책을 잘 알아야 AWS 보안도 쉬워진다. 이것은 꼭 알고 가자! - 신은수 솔루션즈 아키텍트(AWS)

IAM이란?

AWS 서비스 및 리소스에 대한 액세스를 안전하게 관리하기 위한 수단.

서비스와 리소스란 S3에 대한 접근, ECR의 이미지에 대한 접근과 같은 AWS내 서비스를 사용할 수 있는 권한을 뜻한다.

 

IAM Policy 종류와 사용 목적

- AWS SCP(Service Control Policies) : 어카운트 내의 특정 Principal에 대한 서비스 제어

- AWS IAM(Permission Policies, Permission Boundaries) : IAM Principal(Users, Roles)에 대한 상세 권한 설정 및 사용 가능 권한 경계

- AWS STS(Security Token Service) : 역할 전환이나 Federation시 권한을 제어

- Specific AWS Service : 다수 계정 접속이나 서비스로부터의 접근 제어

- VPC Endpoint : VPC 엔드포인트에서 서비스로의 접근을 제어

모든 Policy는 동일한 문법을 사용(S3 ACL 예외)

IAM Policy 구조

- Effect

- Principal

- Action

- Resource

- Condition

 

권한 할당 원칙

명시적 Allow
S3권한에 대해 명시적 allow가 되어 있는 모습
묵시적 Deny

기본적으로 권한은 묵시적Deny가 깔려있다. 그러므로 명시적인 Allow를 2개(Permission Boundary, Permission Policy)를 표현해야한다.

만약 다른계정이라면 SCP, Resource Policy를 추가해야함.

즉, 최종적으로 권한을 얻기 위해서는 다음과 같은 다이어그램을 거쳐야한다.

최종 획득 권한은 4개를 겹친 그림

IAM 리소스 종류

1. 사용자

- 루트 사용자가 아닌 특정한 역할(role)을 가진 또는 그룹으로 묶어서 사용자를 지정하기 위한 용도

 

2. 역할(Role)

- 임시 보안 자격 증명을 사용할 수 있음

- 다수 사용자나 애플리케이션이 사용할 수 있음(모자처럼)

- 별도 과금 없음

- 역할은 사용자 또는 서비스에 부여할 수 있음

EC2 Administrator Role을 UserA에게 부여
태그를 사용하여 사용자에게 권한을 부여할 수도 있음

 

3. 그룹

- 다수의 사용자를 그룹으로 묶고 역할을 부여할 수 있음

728x90