AWS IAM

박나진·2024년 9월 8일

AWS

목록 보기
2/14

IAM이란?

  • IAM (Identity and Access Management): AWS 서비스 및 리소스에 대한 액세스를 안전하게 관리하는 서비스
    • 사용자 및 그룹 관리: 권한 부여 및 액세스 제어
    • 리소스 공유: 다른 AWS 계정과 리소스를 공유 가능
    • 정책 설정: 사용자, 그룹, 역할의 권한을 JSON 형식의 정책 문서로 설정

IAM의 구성

  1. 사용자 (User): AWS를 사용하는 실제 사람 또는 애플리케이션
  2. 그룹 (Group): 여러 사용자를 묶어서 동일한 권한을 부여
  3. 정책 (Policy): 사용자가 무엇을 할 수 있는지 결정하는 JSON 형식의 문서
  4. 역할 (Role): AWS 리소스에 부여된 권한으로 서비스나 다른 사용자에게 역할을 부여 가능

IAM 인증과 권한 검증 흐름

  1. 사용자가 리소스에 액세스 요청 시, 해당 사용자가 부여받은 정책을 검증
  2. 정책이 승인된 경우, 리소스에 액세스 가능
  3. 그룹이나 역할을 통해서도 권한을 획득할 수 있음

IAM 자격 증명 보고서

  • IAM 사용자와 키, MFA 장치 등의 상태를 보여주는 보고서
  • 콘솔, CLI, API에서 생성 가능

IAM 사용자의 종류

  1. 루트 사용자 (Root User)

    • AWS 계정을 처음 생성할 때 자동으로 만들어지는 사용자
    • 계정과 관련된 모든 권한을 가짐 (결제 관리 포함)
    • 관리 목적으로만 사용 권장 (일반 작업에는 사용하지 않음)
    • MFA(다단계 인증) 설정을 권장
    • 보안 상 탈취되면 계정 전체에 큰 위험이 발생
  2. IAM 사용자 (IAM User)

    • 루트 사용자를 통해 생성된 사용자
    • 특정한 권한과 역할을 부여받아 AWS 리소스 및 서비스 사용
    • 실제 사람 또는 애플리케이션이 될 수 있음
    • 콘솔 로그인 여부 설정 가능 (콘솔 로그인 사용 여부를 결정)
    • 엑세스 키와 시크릿 엑세스 키를 통해 API 호출 가능
    • 빌링(결제 관리)은 별도로 설정하지 않으면 불가능

IAM 모범 사용 사례

  1. 루트 사용자 사용 지양: 관리 작업만 수행, 실제 작업은 IAM 사용자로
  2. 불필요한 사용자 생성 금지: 최소 권한만 부여
  3. MFA 활성화: 루트 사용자 및 관리자 사용자에게 필수
  4. 액세스 키 대신 역할 활용: 보안을 강화하기 위해
  5. 정기적인 IAM 상태 점검: 자격 증명 보고서를 활용
profile
백엔드 개발자

0개의 댓글