AWS IAM (Identity and Access Management) 개요
1. AWS IAM이란?
AWS IAM(Identity and Access Management)은 AWS 서비스 및 리소스에 대한 접근을 안전하게 제어할 수 있도록 하는 서비스입니다.
사용자(User), 그룹(Group), 역할(Role), 정책(Policy) 등을 관리하여 권한을 세밀하게 조정할 수 있습니다.
2. AWS IAM의 주요 개념
1️⃣ 사용자(User)
- AWS 리소스에 접근할 수 있는 개별 사용자 계정
- 로그인 가능한 IAM 사용자는 콘솔 및 CLI, API에 접근 가능
- Multi-Factor Authentication(MFA) 설정 가능
2️⃣ 그룹(Group)
- 여러 사용자를 하나의 그룹으로 묶어 공통 권한을 적용
- 개별 사용자에게 권한을 할당하는 것보다 관리가 용이
3️⃣ 역할(Role)
- IAM 역할(Role)은 특정 AWS 서비스나 외부 사용자(예: 다른 AWS 계정, 애플리케이션) 에게 임시 권한을 부여하는 기능
- IAM 사용자는 역할을 할당받아 AWS 서비스에 접근 가능
- EC2, Lambda 등의 서비스에서 AWS API를 호출할 때 사용
4️⃣ 정책(Policy)
- JSON 형식으로 작성된 권한 부여 규칙
- 정책 유형:
- 관리형 정책(Managed Policy): AWS에서 제공하는 표준 정책
- 인라인 정책(Inline Policy): 특정 사용자, 그룹, 역할에 직접 연결되는 정책
3. IAM 정책(JSON 형식) 예제
IAM 정책은 JSON 형식으로 작성되며, 허용 또는 거부할 리소스 및 작업을 정의합니다.
✅ 특정 S3 버킷 읽기 권한 부여
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket/*"
}
]
}
👉 설명:
- Effect: Allow → 허용
- Action: s3:GetObject → S3 객체 읽기 권한 부여
- Resource: "arn:aws:s3:::my-bucket/*" → 특정 S3 버킷 내부 파일 접근 가능
📌 4. AWS IAM 역할(Role) 사용 예시
✅ EC2에서 S3에 접근하는 IAM 역할
- IAM 역할 생성
- AWS 콘솔 → IAM → 역할(Roles) → EC2 선택 → AmazonS3ReadOnlyAccess 정책 추가
- EC2 인스턴스에 역할 할당
- AWS 콘솔 → EC2 → 인스턴스 선택 → IAM 역할 할당
- EC2에서 S3 접근 테스트
aws s3 ls s3://my-bucket
📌 5. IAM 베스트 프랙티스 (Best Practices)
✅ 최소 권한 원칙(Principle of Least Privilege) 적용
✅ 루트 사용자(AWS Root Account) 사용 최소화
✅ MFA(다중 인증) 활성화
✅ IAM 역할(Role) 사용 권장 (특히 EC2, Lambda 등에서 API 호출 시)
✅ 사용자별 개별 IAM 계정 생성 (공유 계정 사용 X)
✅ CloudTrail을 활용한 액세스 로그 모니터링
📌 6. IAM 명령어 예제 (AWS CLI)
✅ IAM 사용자 생성
aws iam create-user --user-name dev-user
✅ IAM 그룹 생성 및 사용자 추가
aws iam create-group --group-name Developers
aws iam add-user-to-group --user-name dev-user --group-name Developers
✅ IAM 정책 추가
aws iam attach-group-policy --group-name Developers --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
✅ IAM 역할(Role) 생성
aws iam create-role --role-name MyS3Role --assume-role-policy-document file://trust-policy.json
📌 7. 결론
✅ AWS IAM은 AWS 리소스에 대한 액세스를 안전하게 관리하는 핵심 서비스
✅ 사용자(User), 그룹(Group), 역할(Role), 정책(Policy) 을 활용하여 권한을 세밀하게 조정 가능
✅ 최소 권한 원칙 적용 및 MFA 설정으로 보안 강화
✅ IAM 역할을 EC2, Lambda 등에 적용하여 AWS 서비스 간 연동 가능 🚀
'IT 엔지니어 > CLOUD' 카테고리의 다른 글
Vsphere (0) | 2025.05.05 |
---|---|
가상화 VMWARE (0) | 2025.05.05 |
Hypervisor (0) | 2025.05.04 |
가상화 (0) | 2025.05.03 |
IAM - 방어 체계 (0) | 2025.03.23 |