AWS

[AWS] AWS IAM

댕주 2024. 11. 9. 16:36

AWS IAM(Identity and Access Management)

  • IAM은 AWS에서 보안을 관리하는 핵심 서비스다. AWS의 모든 서비스와 리소스에 대해 사용자의 권한을 세밀하게 설정할 수 있어, 보안성과 관리 효율이 크게 향상된다

IAM의 주요 개념

  1. 사용자(User)
    IAM 사용자(User)는 AWS에 접근하는 개별 엔티티로, 실제 사용자나 애플리케이션이 될 수 있다. 예를 들어 개발자, 운영자, 혹은 애플리케이션에 각각의 사용자를 생성할 수 있다. 사용자마다 고유의 인증 정보(엑세스 키, 암호)를 할당해 AWS 리소스에 접근하게 할 수 있다.

  2. 그룹(Group)
    그룹은 사용자를 모아 동일한 권한을 부여하기 위해 사용된다. 여러 사용자가 동일한 역할을 수행한다면, 개별적으로 권한을 설정하는 대신 그룹에 권한을 부여하고 사용자를 추가하면 훨씬 효율적이다.
    예를 들어, 모든 개발자가 동일한 권한을 가져야 한다면 '개발자' 그룹을 만들고, 필요한 권한을 설정한 후 모든 개발자를 그룹에 추가할 수 있다.

  3. 역할(Role)
    역할(Role)은 AWS 서비스나 외부 계정이 특정 권한을 가진 사용자처럼 행동할 수 있도록 하는 권한 세트다. 역할은 사용자와 달리 고정된 인증 정보가 없고, 대신 일시적인 자격 증명을 통해 AWS 리소스에 접근하게 된다.
    예를 들어, EC2 인스턴스가 S3 버킷에 접근해야 할 때 역할을 부여하여 자격 증명을 관리할 수 있다.

  4. 정책(Policy)
    정책은 AWS 리소스에 대한 권한을 정의하는 문서이다. JSON 형식으로 작성되며, 특정 작업에 대한 허용(Allow)과 거부(Deny)권한을 지정할 수 있다.
    예를 들어, S3 버킷의 읽기 권한을 부여하는 정책을 생성해 사용자나 역할에 할당할 수 있다.

IAM의 주요 기능

  • 세부 권한 설정: IAM 정책을 통해 특정 사용자에게 S3 읽기 권한만 주거나, EC2 인스턴스를 시작할 수 있는 권한만 주는 등 매우 구체적인 권한을 부여할 수 있다.
  • 다중 요소 인증(MFA): 사용자의 보안을 강화하기 위해 MFA를 설정하여 로그인 시 추가적인 보안 단계를 적용할 수 있다.
  • 리소스 기반 정책: S3, Lambda 등 특정 AWS 서비스에 직접 정책을 연결하여 해당 리소스에 대한 접근 권한을 관리할 수 있다.

IAM의 사용 예시

  1. 개발자 그룹 생성: 개발자 그룹을 만들어 공통적으로 필요한 리소스에 접근할 수 있도록 권한을 설정한 후 모든 개발자를 이 그룹에 추가한다
  2. 역할을 통한 서비스 간 통신: EC2 인스턴스에 S3 버킷에 접근할 수 있는 역할을 부여하여 애플리케이션이 S3 데이터를 안전하게 가져올 수 있도록 한다.
  3. 최소 권한 원칙 적용: 각 사용자에게 꼭 필요한 권한만 부여하여 보안을 강화한다.
    예를 들어, 읽기 전용 역할을 만든 뒤 이를 관리자 외의 사용자에게 부여한다

'AWS' 카테고리의 다른 글

[AWS] AWS란 무엇일까?  (0) 2024.11.09