[클라우드] 4. IAM
AWS Identity and Access Management (IAM)
1) Identity and Access Management
- AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스이
- AM을 사용하여 리소스를 사용하도록 인증(로그인) 및 권한 부여(권한 있음)된 대상을 제어
- AWS 계정을 생성할 때 관리자 수준의 액세스 권한을 갖는 단일 로그인 ID를 생성한다
- AWS 계정 생성 시 지정한 이메일 주소와 비밀번호로 로그인하면 루트 사용자로서 액세스할 수 있다
- 일상적인 작업에 루트 사용자를 사용하지 않을 것을 강력히 권장되며, 보안 및 권한 관리를 위해 IAM을 사용하여
세분화된 액세스 권한을 설정하는 것이 권장됨
2) IAM 특징
① AWS 계정에 대한 공유
- IAM을 사용하여 다른 사용자나 AWS 계정과 필요한 권한 공유 가
- 이를 통해 다른 사용자들이 AWS 리소스에 대한 액세스를 관리하고 사용할 수 있게함
② 세분화된 권한
- IAM은 세분화된 액세스 권한을 설정할 수 있는 기능을 제공
- 이를 통해 사용자 또는 그룹별로 필요한 서비스와 리소스에 대한 액세스 권한을 정확하게 제어
③ Amazon EC2에서 실행되는 애플리케이션을 위한 보안 AWS 리소스 액세스
- EC2 인스턴스에 연결된 애플리케이션에 필요한 권한을 부여, AWS 리소스에 대한 보안 액세스를 관리함
④ 멀티 팩터 인증(MFA)
- 추가적인 인증 요소를 사용하여 로그인 시 보안을 강화할 수 있는 기능
⑤ ID 페더레이션
- 다른 신뢰할 수 있는 서비스와 연동하여 사용자의 인증 및 액세스를 관리
⑥ 보장을 위한 자격 증명 정보
- 용자의 액세스 키, 비밀 액세스 키 등 보안을 위한 자격 증명 정보를 관리하고 제공
⑦ PCI DSS 준수
- PCI DSS(결제 카드 산업 데이터 보안 표준) 준수를 위한 기능을 제공
- 이를 통해 신용 카드 데이터와 관련된 보안 요구 사항을 충족
⑧ 많은 AWS 서비스와의 통합
- IAM은 다양한 AWS 서비스와의 통합을 지원
- 다른 서비스에서 IAM을 사용하여 액세스 제어를 관리하고, 정책을 설정할 수 있음
⑨ 최종 일관성
- 변경된 권한 설정이 즉시 적용되는 최종 일관성을 제공
- 설정한 권한이 즉시 유효해지며, 일관성 있는 보안 관리를 지원
⑩ 무료 사용
- IAM은 AWS 계정에 무료로 포함된 서비스
- 이를 통해 비용 없이 액세스 제어 및 보안 관리를 할 수 있음
- 단, 특정 AWS 리소스 사용 시에는 해당 리소스의 비용이 발생할 수 있음
3) IAM 정책
- AWS Identity and Access Management (IAM)에서 사용되는 액세스 제어 규칙
- 사용자, 그룹 또는 역할에 대한 권한을 정의
- 특정 사용자, 그룹 또는 역할에 대한 액세스 권한을 정의하는 규칙 세트
- 이를 통해 AWS 리소스에 대한 세밀한 액세스 제어를 구현하고, 보안과 권한 관리를 강화할 수 있음
- JSON 형식으로 작성되며, 여러 가지 요소로 구성
- 구성요소
① Effect: 정책이 적용되는 작업에 대한 허용 또는 거부 여부를 지정
② Action: 수행 가능한 작업의 목록을 지정. 예를 들어, S3 버킷에 대한 읽기 또는 쓰기 작업 등이 될 수 있음
③ Resource: 정책이 적용되는 리소스의 범위를 지정. 예를 들어, 특정 S3 버킷, EC2 인스턴스 등이 될 수 있음
④ Condition: 특정 조건이 충족되어야 정책이 적용되는 경우를 지정.
예를 들어, 특정 IP 주소에서만 액세스를 허용하는 조건 등이 될 수 있음