07. AWS IAM(Identity & Access Management)
7.1 IAM 개요
- AWS IAM은 AWS 서비스와 리소스에 대한 엑세스를 안전하게 관리하는 기능이다.
- 사용자 및 그룹을 만들고 관리하여 AWS 리소스에 대한 엑세스를 허용하거나 거부할 수 있다.
- 추가 비용 없이 제공된다.
7.2 IAM 세부 요소
7.2.1 IAM 사용자와 그룹
- IAM 사용자
- AWS 서비스와 상호 작용하는 사람 또는 서비스
- 하나의 AWS 계정에만 연결되며 직무 요구 사항에 따라 권한을 받아야 한다.
- IAM 그룹
- IAM 사용자들의 모임
- 동일한 직무를 공유하는 그룹에 대한 권한을 지정하는 데 사용할 수 있다.
7.2.2 IAM 정책 (Policy)
- AWS 리소스에 대해 어떤 대상이 어떤 Action을 수행할 수 있는지 공식적으로 정의하는 것
- IAM 정책의 보안 주체에 따라 ‘자격 기반 정책’과 ‘리소스 기반 정책’으로 구분할 수 있다.
- 자격 기반 정책: 사용자, 그룹, 역할이 수행할 수 있는 Action을 지정
- 리소스 기반 정책: AWS S3, SNS, SQS 등과 같은 리소스가 수행할 수 있는 Action을 지정
- IAM 정책 구성 요소
- JSPN 형식으로 구성
- 정책 중 가장 제한적인 정책을 우선한다.
- Effect: 접근의 허용 또는 거부를 정의
- Principal: 누가 어떤 것을 할 수 있는지 여부를 정의
- Action: 무엇을 할 수 있는지 여부를 정의
- Resource: 정책이 적용되는 리소스가 무엇인지 정의
- Condition: 정책이 적용되는 조건이 무엇인지 정의
7.2.3 IAM 역할 (Role)
- AWS에서 할 수 있는 작업과 없는 작업을 결정하는 것과 리소스에 대한 엑세스를 부여하는 권한 세트
- 정의된 권한을 다른 사용자나 서비스로 위임도 가능하다.
- 언제든지 권한을 부여하고 회수가 가능하다.
7.3 IAM 주요 기능
- 강화된 보안
- 사요자와 그룹에 고유한 보안 자격 증명을 적용 가능
- 세부적인 제어 관리
- 특정 AWS 서비스에 대한 세부적인 제어가 가능
- 임시 자격 증명
- 권한 집합을 정의한 후 인증된 사용자나 EC2 인스턴스가 권한을 수임하여 임시 엑세스 권한을 부여할 수도 있다.
- 엑세스 분석
- AWS IAM Access Analyzer 기능을 통해 엑세스를 분석할 수 있다.
- AWS 계정 외부에서 엑세스할 수 있는 리소스 식별 가능
- 외부 자격 증명 활용
- 이미 보유한 기존 자격 증명 시스템을 사용하여 엑세스 권한을 부여하는 데 사용할 수 있다.