AWS IAM 완벽 가이드! Identity 기반 권한 관리와 Cloud Security Architecture 이해하기

Cloud 환경에서는 서버와 데이터가 물리적으로 분리되어 있기 때문에 누가 어떤 Resource에 접근할 수 있는지 관리하는 것이 매우 중요합니다.

AWS에서는 이를 위해 IAM(Identity and Access Management) 서비스를 제공합니다.

IAM은 AWS Resource에 대한 인증(Authentication)과 권한(Authorization)을 관리하는 핵심 Security 서비스입니다.

예:

사용자 로그인

Identity 확인

Permission 검사

AWS Resource 접근

IAM을 제대로 설계하지 않으면 불필요한 권한 노출과 보안 위험이 발생할 수 있습니다.

구성 요소역할
User사용자 Identity
Group사용자 집합 관리
Role서비스 권한 부여
Policy권한 규칙 정의
PermissionResource 접근 제어

AWS IAM 구조를 이해하면 Cloud Security와 Enterprise Infrastructure 권한 관리의 기반을 만들 수 있습니다.

AWS IAM이란?

IAM(Identity and Access Management)은 AWS Resource 접근 권한을 관리하는 서비스입니다.

관리 대상:

  • 사용자
  • Application
  • Server
  • Cloud Service
  • External System

누가 무엇을 할 수 있는지를 제어합니다.

AWS IAM Authentication과 Authorization

IAM은 두 가지 핵심 기능을 제공합니다.

Authentication

“누구인가?”를 확인하는 과정입니다.

예:

사용자 로그인

Identity 확인

Authorization

“무엇을 할 수 있는가?”를 확인하는 과정입니다.

예:

EC2 생성 가능

S3 삭제 불가

권한 정책으로 관리합니다.

AWS IAM 기본 구조

전체 구조:

Identity

↓

IAM Policy

↓

Permission

↓

AWS Resource

Identity와 Resource 사이의 접근 관계를 관리합니다.

AWS IAM User란?

IAM User는 AWS에 접근하는 개별 Identity입니다.

사용 대상:

  • 개발자
  • 관리자
  • Application User

예:

Developer User

EC2 조회 권한

S3 접근 권한

사용자별 권한을 설정합니다.

AWS IAM Group이란?

Group은 여러 IAM User를 묶어서 관리하는 기능입니다.

예:

Developer Group

├── User A

├── User B

└── User C

공통 권한을 쉽게 관리할 수 있습니다.

AWS IAM Role이란?

IAM Role은 가장 중요한 AWS Security 개념 중 하나입니다.

Role은 특정 사용자나 AWS Service에게 임시 권한을 제공합니다.

예:

EC2 Instance

IAM Role 부여

S3 접근

Access Key를 서버 내부에 저장하지 않아도 됩니다.

AWS IAM Policy란?

Policy는 권한 규칙을 정의하는 JSON 문서입니다.

구조:

{
 "Effect": "Allow",
 "Action": "s3:GetObject",
 "Resource": "*"
}

어떤 작업을 허용하거나 차단할지 정의합니다.

AWS IAM Policy 구성 요소

주요 요소:

요소설명
EffectAllow 또는 Deny
Action수행 가능한 작업
Resource대상 Resource
Condition조건 설정

정밀한 권한 제어가 가능합니다.

AWS IAM Managed Policy와 Inline Policy

Managed Policy

AWS 또는 사용자가 생성하고 여러 Identity에 연결 가능

Inline Policy

특정 Identity에만 적용

운영 방식에 따라 선택합니다.

AWS IAM Least Privilege 원칙

최소 권한 원칙은 Cloud Security의 핵심입니다.

잘못된 예:

Admin 권한 전체 제공

불필요한 접근 가능

올바른 방식:

필요한 작업만 허용

권한 최소화

보안 위험을 줄입니다.

AWS IAM과 EC2 연결

EC2는 Access Key를 직접 저장하면 안 됩니다.

권장 방식:

EC2

IAM Role

AWS API 접근

Credential 관리가 안전해집니다.

AWS IAM과 Kubernetes 연결

앞에서 작성한 Kubernetes와 연결하면:

AWS IAM

↓

EKS Authentication

↓

Kubernetes RBAC

↓

Pod Permission

Cloud Identity와 Kubernetes 권한을 연결할 수 있습니다.

AWS IAM과 EKS 구조

Amazon EKS에서는 IAM과 Kubernetes RBAC를 함께 사용합니다.

구조:

User

IAM Authentication

Kubernetes RBAC

Cluster Resource 접근

Enterprise Kubernetes 환경에서 중요한 구조입니다.

AWS IAM MFA 보안

MFA(Multi Factor Authentication)는 추가 인증 방식입니다.

구성:

Password

OTP

접근 허용

관리자 계정에서는 필수적으로 사용하는 것이 권장됩니다.

AWS IAM Access Key 관리

Access Key는 Application이 AWS API를 사용할 때 사용합니다.

주의:

  • Git 저장 금지
  • 공유 금지
  • 주기적 Rotation
  • 불필요 Key 삭제

Credential 보안이 중요합니다.

AWS IAM Security Best Practice

권장:

  • Root Account 사용 최소화
  • MFA 활성화
  • IAM Role 사용
  • Least Privilege 적용
  • Access Key Rotation
  • CloudTrail 기록

안전한 Cloud 환경을 구축합니다.

AWS IAM 장애 분석

사용자 확인:

aws iam list-users

Policy 확인:

aws iam list-policies

Role 확인:

aws iam list-roles

확인:

  • Permission Denied
  • Policy 오류
  • Role 연결 문제
  • Trust Relationship

AWS IAM 장점

장점설명
보안 강화접근 제어
권한 관리사용자별 설정
자동화 지원Service Role 활용
감사 대응접근 기록 관리

IAM은 AWS Security Architecture의 가장 기본이 되는 서비스입니다.

자주 묻는 질문

IAM User와 IAM Role 차이는 무엇인가요?

User는 사람이나 Identity를 위한 계정이고 Role은 서비스나 사용자에게 임시 권한을 제공하는 방식입니다.

Root Account를 사용하면 안 되나요?

가능하지만 보안상 일반 작업에는 사용하지 않는 것이 권장됩니다.

Kubernetes와 AWS IAM은 함께 사용할 수 있나요?

가능합니다.

EKS 환경에서는 AWS IAM과 Kubernetes RBAC를 함께 사용하여 권한을 관리합니다.

마무리

AWS IAM은 Identity와 Permission을 관리하여 Cloud Resource 접근을 제어하는 핵심 Security 서비스입니다.

구성 요소역할
User사용자 관리
Group권한 그룹화
Role서비스 권한
Policy권한 규칙
MFA추가 인증

AWS IAM 구조를 이해하면 EC2, S3, EKS, DevOps 환경에서 안전한 Enterprise Cloud Security Architecture를 설계할 수 있습니다.

댓글 남기기