본문 바로가기

IT 엔지니어/CLOUD

AWS IAM

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 역할

  1. IAM 역할 생성
    • AWS 콘솔 → IAM → 역할(Roles) → EC2 선택 → AmazonS3ReadOnlyAccess 정책 추가
  2. EC2 인스턴스에 역할 할당
    • AWS 콘솔 → EC2 → 인스턴스 선택 → IAM 역할 할당
  3. 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