IAM(Identity and Access Management)은 AWS 보안의 기본 요소로, AWS 리소스에 대한 접근을 관리하는 매우 중요한 서비스입니다.
간단한 설명부터 시험에 자주 등장하는 핵심 개념까지 함께 정리해볼게요.
1. AWS IAM이란?
AWS IAM은 AWS Identity and Access Management의 약자입니다.
AWS IAM은 사용자와 권한을 관리하여 AWS 리소스에 대한 접근을 제어하는 서비스입니다. 쉽게 말해, 누가(AWS 계정 내 사용자)가 무엇을(EC2, S3, RDS 같은 리소스) 할 수 있는지를 설정하는 보안 서비스입니다.
2. 주요 개념
- User (사용자): AWS 리소스에 접근할 수 있는 계정. 각 사용자는 개별 자격 증명(Access Key, Secret Key)을 가질 수 있습니다.
- Group (그룹): 사용자를 그룹으로 묶어 권한을 쉽게 관리합니다. 예를 들어, 개발자 그룹, 관리자 그룹에 각각 다른 권한을 부여할 수 있습니다.
- Role (역할): IAM 역할은 사용자가 아닌 AWS 서비스나 다른 계정에서 특정 권한을 사용하도록 할 때 사용합니다. 예를 들어, Lambda 함수가 S3 버킷에 접근해야 할 때 역할을 사용합니다.
- Policy (정책): 정책은 JSON 형식으로 작성되며, 리소스에 대한 접근 권한을 정의합니다. '사용자가 특정 S3 버킷에 읽기 권한을 가질 수 있다'와 같은 내용을 명시합니다.
3. IAM 핵심 기능 및 설정 방법
- 정책 기반 접근 제어: IAM 정책은 권한을 제어하는 JSON 문서로, '허용' 또는 '거부' 액션을 정의합니다.
- Managed Policies: AWS에서 미리 정의한 정책.
- Custom Policies: 사용자 정의 정책으로, 필요한 권한을 구체적으로 지정할 수 있습니다.
- MFA (Multi-Factor Authentication): 보안 강화를 위해 이중 인증을 설정할 수 있습니다. AWS SAA 시험에서는 MFA를 사용해 보안을 강화할 수 있다는 점을 잘 이해하고 있어야 합니다.
- Least Privilege Principle (최소 권한 원칙): 사용자나 역할에게 필요한 최소한의 권한만 부여하는 것이 보안의 기본입니다. 시험에서는 특정 역할이나 사용자가 과도한 권한을 가지지 않도록 최소 권한 원칙을 지키는 것이 중요합니다.
4. IAM과 관련된 시험 출제 포인트
- 권한 설정 및 관리: IAM 사용자, 그룹, 역할에 대한 권한을 설정하는 방식. 특히, '루트 사용자'와 '일반 사용자'의 권한 차이, 루트 사용자로부터 권한을 위임하는 올바른 방법에 대해 묻는 문제가 나올 수 있습니다.
- IAM 역할을 사용해 다른 AWS 서비스 접근하기: 예를 들어 EC2 인스턴스에서 S3 버킷에 접근하려면 IAM 역할이 필요하다는 내용을 이해하는 것이 중요합니다.
- MFA와 보안: 다단계 인증을 통해 보안을 강화하는 방법이 자주 나옵니다. 이를 통해 AWS 계정의 무단 접근을 방지할 수 있습니다.
- Access Keys와 Secret Keys: 이 키를 통해 프로그램matic 접근을 할 수 있습니다. 일반적으로 AWS CLI나 SDK를 사용해 리소스에 접근할 때 필요하며, 키의 보안 및 관리 방법도 시험에 등장할 수 있습니다.
5. 자주 등장하는 IAM 실습
1. IAM 사용자 생성: 새로운 사용자를 만들고 S3 버킷에만 접근할 수 있도록 설정하기.
2. IAM 역할 설정: EC2 인스턴스가 S3에 접근할 수 있도록 IAM 역할을 생성하고 EC2에 할당하기.
3. 정책 작성: 특정 리소스에 대해 읽기/쓰기 권한을 가지도록 사용자 정의 정책을 작성하는 연습.
6. AWS SAA 시험에서 IAM 관련 팁
- 최소 권한 원칙 이해: 시험에서는 불필요하게 과도한 권한이 있는 구성에 대해 최소 권한으로 수정해야 하는 문제들이 종종 출제됩니다.
- 정책 구성 요소: IAM 정책은 버전, ID, 문서(Statement)로 구성되며, 각각의 내용이 어떻게 역할을 하는지 파악해두는 것이 좋습니다.
- AWS Organizations와 IAM 차이점: 여러 계정을 통합 관리할 때는 AWS Organizations, 개별 리소스 접근을 관리할 때는 IAM을 사용하는 방식에 대해 파악해 두세요.
'AWS' 카테고리의 다른 글
[AWS] EC2 (0) | 2024.11.15 |
---|---|
[AWS] CloudFront (0) | 2024.11.10 |
[AWS] AWS Organization (6) | 2024.11.09 |
[AWS] S3란? (12) | 2024.11.08 |