컴퓨터과학챕터 2약 2분

Ch2. IAM — AWS 보안의 핵심, Identity and Access Management

O
OIYO 편집부기여자
2/8

IAM이란?

**AWS Identity and Access Management(IAM)**은 AWS 리소스에 대한 접근을 안전하게 제어하는 서비스입니다. “누가(Who) 무엇을(What) 할 수 있는가”를 정의합니다.

핵심 특징: 글로벌 서비스, 무료, 루트 계정은 일상 업무에 절대 사용 금지.


IAM 핵심 구성요소

사용자 (User)

AWS에 접근하는 사람이나 애플리케이션. 최대 5,000명/계정.

그룹 (Group)

사용자들의 집합. 그룹에 정책을 붙이면 멤버 전체에 적용.

역할 (Role)

AWS 서비스나 외부 엔티티가 임시로 사용하는 권한 집합.

주요 사용 사례: EC2가 S3에 접근, Lambda가 DynamoDB 접근, 교차 계정 접근.

역할 vs 액세스 키: EC2에서 S3에 접근할 때 액세스 키를 코드에 직접 넣지 마세요! IAM 역할을 EC2에 부여하세요. 역할은 임시 자격증명을 자동 갱신하며 키 노출 위험이 없습니다. AWS 모범 사례입니다.

정책 (Policy)

권한을 정의하는 JSON 문서:

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

최소 권한 원칙

Principle of Least Privilege: 업무에 필요한 최소한의 권한만 부여합니다. 시험에서 항상 옳은 선택지입니다.


MFA (다중 인증)

루트 계정과 권한 있는 사용자에게 필수 적용.

  • 가상 MFA: Google Authenticator, Authy
  • 하드웨어 MFA: YubiKey
  • U2F: FIDO2 보안 키

STS와 임시 자격증명

**AWS Security Token Service(STS)**는 임시 보안 자격증명을 발급합니다(최대 12시간). AssumeRole로 교차 계정 접근 구현.


IAM 모범 사례

  1. 루트 계정에 MFA 활성화
  2. 루트 계정은 초기 설정에만 사용
  3. 최소 권한 원칙 적용
  4. 그룹으로 권한 관리
  5. 서비스간 접근은 역할 사용

핵심 개념 카드

사용자/그룹/역할/정책 ★★★★★ : 사용자=사람, 그룹=묶음, 역할=서비스/임시권한, 정책=JSON 권한 정의.

최소 권한 원칙 ★★★★★ : AWS 보안의 기본. 시험에서 항상 옳은 선택.

명시적 Deny 우선 ★★★★★ : Deny vs Allow 충돌 시 Deny가 항상 이깁니다.


실전 퀴즈

Q1. EC2 인스턴스에서 S3에 파일을 업로드할 때 가장 안전한 방법은?

EC2에 S3 쓰기 권한을 가진 IAM 역할을 부여합니다. 액세스 키를 코드나 환경변수에 넣으면 키 노출 위험이 있습니다. 역할은 자동으로 임시 자격증명을 갱신하므로 더 안전합니다.

Q2. 사용자가 S3 읽기 Allow 정책과 S3 전체 Deny 정책을 동시에 가지면 어떻게 되는가?

Deny가 우선합니다. 명시적 Deny는 어떤 Allow도 override합니다. 해당 사용자는 S3 읽기도 할 수 없습니다.

O

OIYO 편집부

편집부

OIYO 편집부는 경제·법률·생활·자기이해 주제를 1차 자료와 공개 통계로 검증해 정리합니다. 모든 글은 출처 표기와 정기 점검을 거쳐 실용성과 정확성을 함께 유지합니다.