

03. AWS Identity and Access Management(IAM)AWS/AWS Cloud Pratitioner 자격증2025. 2. 11. 09:05
Table of Contents
AWS에서 보안과 접근 제어를 담당하는 핵심 서비스인 IAM(Identity and Access Management)에 대해 정리해 보겠습니다.
IAM은 AWS 계정 내 리소스에 대한 액세스를 안전하게 관리할 수 있도록 해주는 서비스로, 자격증 대비뿐만 아니라 실무에서도 필수적으로 이해해야 할 개념입니다.
IAM이란?
IAM은 AWS 사용자가 특정 리소스에 접근할 수 있도록 권한을 부여하고 관리하는 서비스입니다. IAM을 활용하면 사용자, 그룹, 역할(Role), 정책(Policy)을 정의하여 AWS 리소스 접근을 세밀하게 제어할 수 있습니다.
주요 특징
- 개별 사용자 또는 그룹을 생성하고 접근 권한을 설정
- 정책 기반으로 세밀한 권한 관리 가능
- MFA(Multi-Factor Authentication)를 통한 보안 강화
- 로그 및 모니터링 기능 제공
- AWS 서비스 및 애플리케이션에 안전한 권한 위임 가능
IAM 주요 개념
IAM 사용자(User)
- AWS 계정 내에서 개별적으로 인증받는 사용자
- 기본적으로 어떠한 권한도 부여되지 않으며, 명시적으로 정책을 추가해야 접근 가능
- AWS 리소스에 대한 접근 권한을 부여할 수 있으며, 보안 강화를 위해 MFA 설정 가능
IAM 그룹(Group)
- 여러 IAM 사용자를 묶어서 권한을 일괄적으로 관리하는 개념
- 사용자에게 개별적으로 정책을 할당하는 대신, 그룹에 정책을 적용하여 관리 단순화
- IAM 사용자는 여러 개의 그룹에 속할 수 있으며, 그룹 내 권한을 상속받음
IAM 정책(Policy)
- AWS 리소스 접근 권한을 정의하는 JSON 형식의 문서
- 사용자, 그룹, 역할 등에 적용되어 권한을 제한하거나 허용하는 역할 수행
- 기본 원칙: 명시적으로 허용되지 않으면 모든 요청이 기본적으로 거부됨
정책의 주요 요소
- Effect: Allow(허용) 또는 Deny(거부)
- Principal: 정책이 적용되는 대상(사용자, 그룹, 역할 등)
- Action: AWS 서비스에서 수행할 수 있는 작업(API 호출)
- Resource: 정책이 적용될 특정 리소스
- Condition: 특정 조건을 만족할 경우에만 정책 적용
IAM 역할(Role)
- 특정 권한을 부여할 수 있는 자격 증명으로, 특정 사용자가 아닌 AWS 서비스나 애플리케이션에서 활용 가능
- IAM 역할에는 비밀번호나 액세스 키가 없으며, 대신 AWS Security Token Service(STS)를 통해 임시 보안 자격 증명 사용
- EC2, Lambda 등의 AWS 서비스가 다른 서비스에 접근할 수 있도록 권한 위임 가능
IAM과 보안 관리
IAM 보안 자격 증명
1. 비밀번호 (Password)
- AWS 관리 콘솔 로그인 시 필요한 기본 인증 정보
- 보안 강화를 위해 IAM 비밀번호 정책 적용 가능
- 일반적인 비밀번호 정책 요구 사항:
- 최소 8~128자 길이
- 대문자, 소문자, 숫자 및 특수문자 조합
- 비밀번호 만료 정책 적용 가능
2. MFA (Multi-Factor Authentication)
- IAM 사용자의 로그인 시 추가 보안 계층을 제공하는 인증 방법
- 가상 MFA 디바이스(예: Google Authenticator) 또는 하드웨어 MFA 장치 사용 가능
- 루트 계정 및 IAM 사용자에 대해 활성화 가능
3. 액세스 키 (Access Key)
- 프로그래밍 방식(API, CLI, SDK)으로 AWS 리소스에 접근할 때 사용하는 키 쌍
- Access Key ID와 Secret Access Key로 구성되며, 생성 후 보안 유지 필수
- 장기적인 액세스 키 사용을 지양하고 IAM 역할을 통한 임시 자격 증명 사용 권장
AWS 리소스 접근 방식
1. 콘솔 (AWS Management Console)
- 웹 기반의 그래픽 사용자 인터페이스(GUI)를 통해 AWS 서비스 및 리소스 관리 가능
- IAM 사용자는 할당된 권한 내에서만 서비스 접근 가능
2. CLI (Command Line Interface)
- AWS 리소스를 터미널에서 명령어로 관리 가능
- AWS CLI를 설치하여 EC2 인스턴스 생성, S3 버킷 관리 등의 작업 수행 가능
- IAM 사용자의 액세스 키를 설정하여 인증 필요
3. SDK (Software Development Kit)
- AWS 리소스와 프로그래밍 방식으로 상호 작용할 수 있도록 지원하는 개발 도구
- Python(Boto3), Java, JavaScript 등의 SDK를 활용하여 AWS API 호출 가능
- 액세스 키 기반 인증을 사용하지만, 보안을 위해 IAM 역할 활용 권장
IAM 모니터링 및 감사
IAM Access Reports
- AWS 리소스에 대한 접근 이력을 추적하고 검토하는 기능
- 비밀번호 및 액세스 키 사용 상태, MFA 설정 여부 등을 포함한 자격 증명 보고서 생성 가능
- 최소 4시간 간격으로 업데이트되며 보안 감사에 활용 가능
IAM Best Practices (권장 사항)
- 루트 계정 사용 최소화: 루트 계정은 보안 위험이 크므로 별도 IAM 사용자를 생성하여 운영
- 강력한 비밀번호 정책 적용: 비밀번호 복잡도와 주기적인 변경 정책 설정
- MFA 활성화: IAM 사용자 및 루트 계정에 MFA 적용하여 보안 강화
- IAM 역할(Role) 활용: 장기 액세스 키 대신 임시 보안 자격 증명을 사용하는 역할 기반 접근 제어 적용
- 권한 최소화 원칙(Least Privilege): 필요한 권한만 부여하고 과도한 접근 권한 부여 방지
- IAM 자격 증명 공유 금지: IAM 사용자 및 액세스 키를 다른 사용자와 공유하지 않도록 관리
- 액세스 키 로테이션: 주기적으로 액세스 키를 교체하여 보안 유지
- AWS 리소스 접근 로깅 활성화: AWS CloudTrail을 활용하여 IAM 이벤트 모니터링
IAM은 AWS의 보안과 접근 제어를 담당하는 핵심 서비스로, 사용자의 권한을 세밀하게 관리하고 AWS 리소스를 안전하게 보호하는 역할을 합니다.
728x90
'AWS > AWS Cloud Pratitioner 자격증' 카테고리의 다른 글
02. AWS 클라우드의 개요 (0) | 2025.02.09 |
---|---|
01. AWS Cloud Pratitioner 자격증 가이드 (0) | 2025.02.07 |

@ourkofe's story :: ourkofe
데이터 분석을 공부하고 카페를 열심히 돌아다니는 이야기
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!