
🚀 2024년도 하반기 AWS SAA-C03 취득 도전기
AWS SAA 강의를 본격적으로 수강하면서 학습한 내용을 정리하고자 합니다.
꾸준히 진행해서 내년 1월말 자격증 시험 응시 예정입니다.
🛡️ IAM 사용자 및 그룹
- IAM (Identity and Access Management): 글로벌 서비스, 특정 리전에 종속 X
- Root 사용자: 회원가입 계정, 사용하면 안되고 User 만들어서 사용해야함
- User와 Group: N:N 관계
- User: Group이 없을 수도 있음
- Group: Group 안에 Group은 불가능, 오직 User만 참여
- 다중 소속: 하나의 User는 여러 Group에 소속될 수 있다.
- 권한 관리: User, Group 별 권한 관리 가능, 최소 권한의 원칙
📜 IAM 정책
IAM 정책은 AWS 리소스에 대한 접근을 제어하는 규칙 집합
📂 Group 정책 vs. Inline 정책
- Group 정책: Group 내부 User가 받는 정책.
- Inline 정책: 특정 사용자에게 직접 적용되는 정책.
📝 정책의 구조
IAM 정책은 JSON 형식으로 작성
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iam:GenerateCredentialReport",
"iam:GenerateServiceLastAccessedDetails",
"iam:Get*",
"iam:List*",
"iam:SimulateCustomPolicy",
"iam:SimulatePrincipalPolicy"
],
"Resource": "*"
}
]
}
- Version: 정책이 생성된 최신 날짜
- Statement: 정책의 핵심 내용, Effect, Action, Resource를 포함
🔐 IAM Password 정책과 MFA
보안 강화를 위해 IAM에서는 다양한 인증 방법과 패스워드 정책을 제공
🔑 Password 정책
- 최소 비밀번호 길이 설정
- 특정 문자 유형 요구: 대문자, 소문자, 숫자, 특수문자 혼합
- 패스워드 만료일자 제한
- 중복된 패스워드 재사용 금지
📱 MFA (Multi-Factor Authentication)
- 개념: 패스워드와 소유한 장치를 혼합한 인증 방식. 패스워드가 탈취되더라도 소유한 장치가 없으면 접근이 불가능하다.
- MFA 디바이스 옵션:
- Authenticator App: Google Authenticator, Authy 등 가상의 앱에서 토큰을 생성.
- Security Key: Universal 2Nd Factor (U2F) Security Key 사용.
- Hardware TOTP token: Hardware Key Fob MFA Device 등 사용.
Tip: 여러 MFA 옵션을 이해하고, 비즈니스 요구에 맞는 도구를 선택하는 것이 중요
🎭 IAM Role
IAM Role은 사용자와 유사하지만, 실제 사람이 사용하는 것이 아니라 AWS 서비스가 사용하도록 만들어진 개념
- 사용 목적: AWS 서비스가 다른 AWS API와 상호작용할 수 있도록 권한을 부여할 때 사용.
- 예시: EC2 인스턴스가 AWS API와 상호작용할 수 있도록 권한이 필요할 때 IAM Role을 사용.
🛠️ IAM Security Tools
AWS는 IAM 보안을 강화하기 위해 다양한 도구를 제공
- IAM Credentials Report (Account Level): IAM 자격 증명 보고서를 생성하여 계정 내 사용자와 자격 증명 상태를 확인. 예: MFA 미설정 직원을 찾아 보안 정책을 준수하도록 함.
- IAM Access Advisor (User-Level): 사용자에게 부여된 서비스 권한과 마지막으로 액세스한 시간을 확인. 예: 사용자의 사용 패턴을 분석하여 불필요한 권한을 제거하고 최소 권한의 원칙을 유지.
🖥️ AWS CLI
AWS CLI는 AWS 서비스와 상호 작용하기 위한 강력한 도구
🔑 AWS Access Key
- Access Key ID: Username 수준으로 이해.
- Secret Access Key: Password 수준으로 이해.
- 주의 사항: Access Key는 절대 공유 X
⚖️ AWS SDK와 CLI의 차이점
- AWS CLI: 터미널에서 직접 상호 작용하며 명령어 기반으로 작동.
- AWS SDK: 프로그래밍 언어에 맞게 AWS API에 접근할 수 있도록 지원.
📝 요약
- Root 계정 사용 자제: AWS Account Setup 외에는 Root 계정을 사용하지 않아야 한다.
- 1인 1계정 원칙: 한 명의 직원에게 여러 사용자를 부여해서는 안 된다.
- 그룹 레벨 보안 유지: 보안 수준을 그룹 단위로 관리.
- 강력한 패스워드 정책: 최소 비밀번호 길이 및 복잡성 유지.
- MFA 인증 사용: 추가 보안 계층을 위해 MFA 사용.
- AWS Role 사용: AWS 서비스에 권한 부여 시 Role 사용.
- Access Key 관리: CLI나 SDK 사용 시 필요한 Access Key는 절대 타인과 공유하지 않는다.
- 계정 권한 검토:
- Account Level: IAM Credentials Report 활용.
- User Level: IAM Access Advisor 활용.
📚 AWS IAM Summary
IAM의 주요 개념과 구성 요소를 요약합니다.
- Users: 실제 물리적 사용자와 매핑되어야 한다.
- Groups: 사용자를 그룹화하여 그룹 단위로 관리. 오직 사용자만 그룹에 포함될 수 있다.
- Policies: 그룹이나 사용자에 대한 권한 정책을 JSON으로 관리.
- Roles: EC2 인스턴스나 AWS 서비스를 위한 정책 개념.
- Security: MFA와 Password Policy를 적극적으로 사용.
- AWS CLI: CLI로 다양한 AWS 서비스에 접근 가능.
- AWS SDK: 프로그래밍 언어를 활용해 서비스 내에서 AWS API에 접근 가능.
- Access Keys: CLI 또는 SDK 사용 시 필요하며 절대 타인과 공유하지 않는다.
- Audit: IAM Credential Reports나 IAM Access Advisor를 통해 계정 및 사용자의 현황을 확인.
❌ 오답노트
- 해당 섹션 문제 풀이 결과: 8/9
- Version은 AWS IAM Policy 내 Statement에 포함되지 않는다.
💡 결론
AWS SAA-C03 자격증을 준비하기 전에 그냥 루트 계정을 사용했었는데, 정말 문제가 있는 방식이라는걸 깨달았고 어렴풋이 알던 권한과 역할 그룹에 대해서 상세하게 알 수 있었다. 보안의 핵심인 IAM을 잘 활용하자.
📚 Refference
'Study > Certificate' 카테고리의 다른 글
| [AWS SAA] EC2 인스턴스 스토리지 (0) | 2025.02.16 |
|---|---|
| [AWS SAA] EC2 - SAA Level (0) | 2024.12.12 |
| [AWS SAA] EC2 기초 정리 (0) | 2024.12.12 |
| [AWS] AWS Solution Architect Associate(SAA-C03) 시작 (3) | 2024.10.10 |