Study/Certificate / / 2024. 12. 10. 12:38

[AWS SAA] IAM & AWS CLI 정리

🚀 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