AWS-IAM(Identity and Access Management)
2026. 2. 8. 17:34

AWS IAM이란? (Identity and Access Management)

IAM은 AWS에서 “누가(Who) 어떤 리소스에(What) 어떤 권한으로(How)” 접근할 수 있는지를 제어하는 보안의 핵심 서비스다.
AWS를 제대로 쓴다고 하면 IAM을 이해했는지부터 본다고 해도 과언이 아니다.

1) IAM이 왜 중요한가 (왜 나왔나)

AWS는:

  • 콘솔
  • CLI
  • API

모두 권한이 있으면 무엇이든 할 수 있는 환경이다.

즉,

  • 권한 관리가 허술하면
    → S3 전체 삭제
    → EC2 종료
    → 비용 폭탄
    → 보안 사고

그래서 AWS는 모든 접근을 IAM으로 통제하도록 설계했다.

🔑 핵심 원칙
“권한 없으면 아무것도 못 한다”

2) IAM 한 줄 정의

IAM은 AWS 리소스에 대한 접근을 사용자·역할·정책 기반으로 제어하는 인증/인가 서비스이다.

  • 인증(Authentication): 너 누구냐?
  • 인가(Authorization): 너 뭐까지 해도 되냐?

3) IAM의 핵심 구성 요소

(1) User (IAM 사용자)

  • 사람(개발자, 운영자) 을 위한 계정
  • 콘솔 로그인 / Access Key 사용 가능

❌ 실무에서는:

  • EC2에 IAM User Access Key를 박아두는 건 안티패턴

(2) Group (그룹)

  • 여러 User를 묶어서 권한 관리
  • 예:
    • DevGroup
    • OpsGroup
    • ReadOnlyGroup

실무 팁:
“User에 직접 정책 붙이지 말고 Group으로 관리”

(3) Role (역할) 

  • AWS 리소스가 AWS 리소스에 접근할 때 사용하는 권한
  • Access Key 없이 동작
  • 임시 자격증명(STS) 사용

대표 예시

  • EC2 → S3 접근
  • Lambda → DynamoDB 접근
  • EKS Pod → S3 접근
[EC2]
  └─ IAM Role (S3 접근 권한)

 

🔥 실무 핵심
“사람은 User, 서버는 Role”

(4) Policy (정책)

  • 권한을 정의하는 문서 (JSON)
  • Allow / Deny 기반

기본 구조

{
  "Effect": "Allow",
  "Action": "s3:GetObject",
  "Resource": "arn:aws:s3:::my-bucket/*"
}

 

  • Effect: 허용 / 거부
  • Action: 어떤 행동
  • Resource: 어떤 리소스

4) IAM Policy 종류

(1) Managed Policy

  • AWS가 제공 (예: AmazonS3ReadOnlyAccess)
  • 빠르지만 권한이 넓음

(2) Inline Policy

  • 특정 User/Role에 직접 붙임
  • 재사용성 ❌

(3) Customer Managed Policy ⭐

  • 실무에서 가장 권장
  • 재사용 가능 + 최소 권한 설계 가능

5) IAM 권한 평가 로직 (중요)

AWS는 권한을 이렇게 판단함:

  1. 명시적 Deny → 무조건 거부
  2. Allow가 있으면 허용
  3. 아무것도 없으면 기본 Deny

👉 “Deny가 Allow보다 항상 우선”

6) 실무 IAM 설계 예시

EC2가 S3에 업로드해야 할 때 ❌ 잘못된 방식

  • IAM User 생성
  • Access Key 발급
  • EC2에 키 저장

✅ 올바른 방식

S3UploadRole
  └─ s3:PutObject 권한

EC2
  └─ S3UploadRole 연결
  • 키 관리 ❌
  • 보안 사고 위험 ↓

7) IAM 보안 베스트 프랙티스 ⭐

(1) Root 계정

  • MFA 필수
  • 일상 사용 ❌

(2) 최소 권한 원칙 (Least Privilege)

  • 필요한 권한만 부여
  • * 남발 금지

(3) MFA

  • 콘솔 접근 User는 필수

(4) Access Key 관리

  • 정기적 로테이션
  • 가능하면 사용 자체를 줄이기 (Role 사용)

8) IAM + 다른 AWS 서비스 연계

EC2 + IAM

  • Role 기반 접근
  • S3, CloudWatch, SSM 접근

S3 + IAM

  • Bucket Policy + IAM Policy 조합

ALB / RDS

  • 직접 IAM 사용 X
  • 간접적으로 서비스 접근 제어에 영향

 

'Infra&Cloud > AWS' 카테고리의 다른 글

AWS-EC2(Elastic Compute Cloud)  (0) 2026.02.09
AWS-S3(Amazon Simple Storage Service)  (0) 2026.02.08
AWS-ALB(Application Load Balancer)  (0) 2026.02.08
AWS-RDS(Relational Database Service)  (0) 2026.02.08
AWS-SG(Security Group)  (0) 2026.02.08