자격증/AWS DVA

AWS Certified Developer Associate 자격증 준비 - IAM편

lakedata 2025. 2. 20. 14:39

AWS Certified Developer Associate 자격증을 준비하면서, 알게 된 내용을 정리했습니다.
DVA-C02 강의 > udemy강의

IAM = Identity and Access Management 의 약자.

사용자 AWS 리소스에 대한 엑세스를 안전하게 제어하는데 도움이 되는 서비스이다,
IAM을 사용하면 AWS 사용자 및 그룹을 생성 및 관리하고 권한을 사용하여 AWS 리소스에 대한 엑세스 권한을 부여하거나 거부할 수 있다.

AWS 신원 및 액세스 관리(AWS IAM)

IAM: 사용자 및 그룹

  • IAM = 신원 및 액세스 관리, 글로벌 서비스
  • 루트 계정은 기본으로 생성되고, 공유하지 않습니다.
  • 사용자는 조직 내의 사용자이며 그룹화할 수 있습니다
  • 그룹에는 사용자만 포함되며 다른 그룹은 포함되지 않습니다
  • 사용자는 그룹에 속할 필요가 없으며 사용자는 여러 그룹에 속할 수 있습니다

IAM: Permissions
• 사용자 또는 그룹에 정책이라는 JSON 문서를 할당할 수 있습니다
• 이러한 정책은 사용자의 권한을 정의합니다
• AWS에서는 최소 권한 원칙을 적용합니다: 사용자가 필요로 하는 권한보다 더 많은 권한을 부여하지 마세요

IAM Policies Structure

Consists of
• Version:정책 언어 버전,always include“2012-10- 17”
• Id:정책 식별자(optional)
• Statement:one or more individual statements(required)
• Statements consists of
• Sid:statement 식별자(optional)
• Effect:statement 액세스를 허용하거나 거부하는지 여부 (Allow, Deny)
• Principal:이 정책이 적용된 account/user/role
• Action:이 정책에 따라 주문 거부가 허용됩니다
• Resource:작업이 적용된 리소스 목록
• Condition:이 정책이 시행되지 않는 경우의 조건 (optional)

IAM – Password Policy

• 강력한 비밀번호 = 계정에 대한 높은 보안
• AWS에서 비밀번호 정책을 설정할 수 있습니다:
• 최소 비밀번호 길이 설정
• 특정 문자 유형 필요: - 대문자 포함
• 소문자
• 숫자
• 영숫자가 아닌 문자
• 모든 IAM 사용자가 자신의 비밀번호를 변경할 수 있도록 허용
• 사용자에게 시간이 지나면 비밀번호를 변경하도록 요구합니다(비밀번호 만료)
• 비밀번호 재사용 방지

Multi Factor Authentications - MFA


• 사용자는 계정에 액세스할 수 있으며 AWS 계정의 구성을 변경하거나 리소스를 삭제할 수 있습니다
• 루트 계정 및 IAM 사용자를 보호하고자 합니다
• 알고 있는 MFA = 비밀번호 + 소유한 보안 장치

MFA의 주요 이점: 비밀번호를 도난당하거나 해킹한 경우 계정이 손상되지 않습니다.

MFA devices options in AWS


How can users access AWS?

• AWS에 액세스하려면 세 가지 옵션이 있습니다:
• AWS 관리 콘솔(비밀번호 + MFA로 보호됨)
• AWS 커맨드 라인 인터페이스(CLI): 액세스 키로 보호
• AWS 소프트웨어 개발자 키트(SDK) - 코드용: 액세스 키로 보호됨
• 액세스 키는 AWS 콘솔을 통해 생성됩니다
• 사용자가 직접 액세스 키를 관리합니다
• 액세스 키는 비밀번호처럼 비밀입니다. 공유하지 마세요 - 액세스 키 ID ~= 사용자 이름
• 비밀 액세스 키 ~= 비밀번호

IAM Roles for Services


• 일부 AWS 서비스는 사용자를 대신하여 작업을 수행해야 합니다
• 이를 위해 IAM 역할이 있는 AWS 서비스에 권한을 할당합니다
• 일반적인 역할:
• EC2 인스턴스 역할
• 람다 기능 역할
• 클라우드 형성을 위한 역할

IAM Security Tools

  • IAM Credentials Report (account-level)
    귀하의 계정의 모든 사용자와 다양한 자격 증명의 상태를 나열하는 보고서
  • IAM Access Advisor (user-level)
    액세스 어드바이저는 사용자에게 부여된 이러한 서비스 권한과 해당 서비스가 마지막으로 액세스된 시점을 표시합니다.
    이 정보를 사용하여 정책을 수정할 수 있습니다.

IAM Guidelines & Best Practices

AWS 계정 설정을 제외한 루트 계정 사용 금지
• 물리적 사용자 한 명 = AWS 사용자 한 명
• 그룹에 사용자 할당 및 그룹에 권한 할당
• 강력한 비밀번호 정책 만들기
• 다중 요인 인증(MFA) 사용 및 시행
• AWS 서비스에 대한 권한 부여를 위한 역할 만들기 및 사용
• 프로그램 액세스에 액세스 키 사용(CLI / SDK)
• IAM 자격 증명 보고서 및 IAM 액세스 어드바이저를 사용하여 계정의 감사 권한
• IAM 사용자 및 액세스 키 공유 금지

Shared Responsibility Model for IAM

AWS
인프라(글로벌 네트워크 보안)
• 구성 및 취약점 분석
• 규정 준수 검증

User
• 사용자, 그룹, 역할, 정책 관리 및 모니터링
• 모든 계정에서 MFA 사용
• 모든 키를 자주 돌립니다
• IAM 도구를 사용하여 적절한 권한 적용
• 액세스 패턴 분석 및 권한 검토

IAM Section- Summary

Users: 실제 사용자와 매핑되어 있으며 AWS 콘솔의 비밀번호를 가지고 있습니다
Groups: 사용자만 포함됩니다
Policies: 사용자 또는 그룹에 대한 권한을 요약한 JSON 문서
Roles: AWS 서비스의 EC2 인스턴스에 대한 역할
Security: MFA + 비밀번호 정책
AWS CLI: 명령줄을 사용하여 AWS 서비스 관리
AWS SDK: 프로그래밍 언어를 사용하여 AWS 서비스를 매핑합니다
Access Keys: CLI 또는 SDK를 사용하여 AWS에 액세스합니다
Audit: IAM 자격 증명 보고서 & IAM 액세스 어드바이저