Cloud_AWS IAM 서비스

AWS IAM이란?

AWS Identity and Access Management(IAM)는 AWS 서비스와 리소스에 대한 보안 및 접근 관리를 제공하는 서비스다. IAM을 사용하면 사용자 인증(Authentication)권한 부여(Authorization)를 통해

AWS 리소스에 대한 접근을 세밀하게 제어 가능하다.


IAM의 주요 구성 요소

1. AWS 계정 루트 사용자

  • AWS 계정을 처음 만들 때 생성되는 최고 관리자 계정
  • 모든 AWS 서비스와 리소스에 대한 무제한 권한
  • 보안상 루트 사용자 사용을 최소화하고 IAM 사용자 또는 역할을 활용하는 것이 권장

2. IAM 사용자

  • AWS 계정 내에서 생성된 개별 사용자 계정
  • 각 IAM 사용자는 고유한 자격 증명(비밀번호 또는 액세스 키)을 갖음
  • 부여된 권한(Permissions)에 따라 특정 AWS 리소스를 사용

3. IAM 그룹

  • IAM 사용자의 집합으로, 동일한 권한을 공유
  • 그룹에 권한을 설정하면 해당 그룹에 속한 모든 사용자에게 적용되므로, 여러 사용자의 권한을 쉽게 관리 가능
  • 예: 개발자 그룹, 데이터관리 그룹 등
    IAM 그룹 예시

4. IAM 역할(Role)

  • 특정 권한을 가진 임시 자격 증명(Temporary Credentials)을 제공하는 IAM 자격 증명
  • 비밀번호나 액세스 키가 없으며, 대신 역할을 부여받은 엔터티(사용자, 서비스, 애플리케이션 등)에게 임시 보안 자격 증명을 제공
  • 주로 AWS 서비스 간의 권한 위임이나 외부 사용자의 제한적 접근 허용에 사용
  • 예: EC2 인스턴스에서 S3에 접근할 수 있도록 역할을 부여할 수 있음.

5. 보안 주체(Principal)

  • AWS에 요청을 보내는 주체로, IAM 사용자, IAM 역할, 루트 사용자 등이 포함
  • 보안 주체는 AWS 리소스를 사용하려면 인증(Authentication)과 권한 부여(Authorization)를 거쳐야 함

IAM 동작 방식

인증(Authentication)

  • IAM 사용자는 비밀번호 또는 액세스 키를 사용하여 AWS에 로그인하고 인증을 받음
  • IAM 역할을 사용하는 경우, 임시 자격 증명을 부여받아 인증 가능

권한 부여(Authorization)

  • 인증이 완료되면, IAM 정책(Policy)에 따라 해당 사용자가 어떤 AWS 리소스에 접근할 수 있는지 결정
  • IAM 정책에는 명시적으로 허용된 권한만 실행 가능하며, 기본적으로 모든 액세스는 거부