IAM - ID 및 액세스 관리 (Identity and Access Management)
AWS IAM은 사용자, 그룹, 역할을 관리하고 AWS 리소스에 대한 접근 권한을 제어하는 글로벌 서비스입니다.
1. IAM의 핵심 구성 요소
Principal (주체)
AWS 리소스에 접근하는 엔터티를 Principal(주체)이라고 합니다.
- User: 개별 사용자 계정. (예: 개발자)
- Role: AWS 서비스나 계정에 권한을 부여하기 위한 역할.
- Federated User: 외부 인증 제공자(예: Google, Facebook)를 통해 인증된 사용자.
- Application: 애플리케이션 또는 시스템이 AWS 리소스에 접근.
2. IAM 요청 흐름
Request (요청)
- 사용자가 작업(Action)을 수행하려고 AWS 리소스에 요청을 보냄.
- 요청의 예:
- EC2 인스턴스 시작
- S3 버킷 생성
Authorization (권한 부여)
AWS는 정책(Policy)을 확인하여 요청을 허용(Allow)하거나 거부(Deny)합니다.
IAM 정책 유형:
- Identity-based Policies: 사용자, 그룹, 역할에 적용.
- JSON 형식으로 작성되며 허용 또는 거부 조건을 정의.
- Resource-based Policies: 리소스 자체에 접근 권한을 부여.
- 예: S3 버킷에 다른 계정 사용자 접근 허용.
IAM 정책 예시
IAM 정책의 기본 구조는 다음과 같습니다:
json
코드 복사
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::example_bucket"
}
]
}
- Effect: 허용(Allow) 또는 거부(Deny).
- Action: 수행할 수 있는 작업.
- Resource: 접근 대상 리소스.
- Condition: 특정 조건에서만 정책 적용.
3. IAM의 실행 흐름과 구조
아래 IAM 다이어그램을 보면 전체적인 흐름이 이해됩니다.

설명:
- Principal: 사용자가 AWS 리소스에 접근 요청을 보냅니다.
- Request: AWS는 사용자의 요청에 대한 작업과 리소스를 확인합니다.
- Authorization: IAM 정책(Identity-based, Resource-based)을 평가하여 요청을 허용 또는 거부합니다.
- Actions: 요청이 승인되면 작업이 수행됩니다 (예: EC2 인스턴스 시작, S3 버킷 생성).
- Resources: 대상 리소스에 작업이 적용됩니다.
4. IAM의 보안 모범 사례
- 루트 계정 사용 금지
- 루트 계정은 최초 계정 설정에만 사용하고 이후엔 사용 금지.
- MFA 활성화
- 다중 인증(Multi-Factor Authentication)을 설정하여 계정 보안을 강화.
- 권한 최소화
- 최소 권한 원칙(Least Privilege): 사용자에게 필요한 최소한의 권한만 부여.
- IAM 정책 사용
- 사용자 대신 IAM 역할(Role)을 부여하여 다른 AWS 서비스에 안전하게 접근.
- 모니터링과 감사
- IAM Credential Reports와 Access Advisor를 통해 사용자 권한과 접근 기록을 주기적으로 점검.
5. IAM 접근 방법
- AWS Management Console: 웹 기반 인터페이스.
- AWS CLI (Command Line Interface): 명령어를 통해 리소스 제어.
- AWS SDK: 프로그래밍 언어를 이용해 AWS 리소스 관리.
'AWS' 카테고리의 다른 글
| Elastic Load Balancing (ELB) & Auto Scaling Groups (ASG) 정리 (1) | 2024.12.20 |
|---|---|
| EC2 인스턴스 스토리지 섹션 (0) | 2024.12.20 |
| EC2 인스턴스 및 보안 그룹에 대해 알아보자. (2) | 2024.12.19 |
| [AWS] 클라우드 컴퓨팅(Cloud Computing) (8) | 2024.12.16 |