관리 메뉴

ARTIFEX ;)

AWS : IAM에 대하여 본문

# Cloud/AWS

AWS : IAM에 대하여

Artifex_Ethan_ 2024. 4. 2. 19:31
반응형

IAM

AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스이다.

IAM을 사용하면 사용자가 액세스할 수 있는 AWS 리소스를 제어하는 권한을 중앙에서 관리할 수 있다.
IAM을 사용하여 리소스를 사용하도록 인증(로그인) 및 권한 부여(권한 있음)된 대상을 제어할 수 있다.
IAM을 사용하면 AWS 서비스와 리소스에 대한 엑세스를 비교적 안전하게 관리할 수 있다.

IAM 크게 4가지로 분류될 수 있다.

  1. 사용자(User)
  2. 그룹(Group)
  3. 정책(Policy)
  4. 역할(Role)

IAM은 사용자를 생성하고 그룹에 배치하기에 글로벌 서비스에 해당한다.
이는 오직 계정을 생성할 때만 사용되어야 하며, 그 이후에는 루트 계정을 더 이상 사용해서도, 공유해서도 안된다.
사용자 계정을 생성해야 한다 IAM에서 사용자 계정을 생성할 때 하나의 사용자는 조직 내 한사람에 해당된다.
필요하다면 사용자들을 그룹으로 묶을 수도 있다.

Example

A, B, C, D, E 사용자가 존재할 시
A,B : Develops Group.   C, D : Operations Group

위 처럼 그룹으로 만들 수 있다. 
이 때 그룹에는 사용자만 배치할 수 있다. (그룹 내 다른 그룹 포함 불가)

아무 그룹에도 속하지 않은 E의 경우도 AWS에서는 설정할 수 있다.
또한 한 사용자가 다수의 그룹에 속할 수도 있다.

사용자와 그룹을 생성하는 이유 : AWS 계정 사용을 허용하기 위함. 그리고 허용을 위해선 Pemissions(권한)을 부여해야 함.
이를 위해 사용자 or 그룹에게 정책, IAM 정책이라 불리는 Json 문서를 지정할 수 있다.

가장 주의해야 할 점

  1. Region별 서비스가 아닌 글로벌 서비스로 계정 생성 시 AWS 서비스 전체에 적용된다는 것이다.
  2. 실제 작업은 Root가 아닌 사용자에서! (불필요한 사용자 막 만들지 말자)
  3. 최대한 그룹과 정책을 이용하여 사용자 관리
  4. 최소한의 권한만으로 사용.
  5. MFA 다중인증 활성화
  6. Access Key 대신, Role 활용
  7. IAM 자격증명보고서를 통한 계정 상태 주기적인 검토**
  • 자격증명보고서는 4Hour 1회 Download 가능. 4시간만 유효

기능

IAM은 아래와 같은 기능들을 제공한다.

AWS 계정에 대한 공유 액세스
: 암호나 액세스 키를 공유하지 않고도 AWS 계정의 리소스를 관리하고 사용할 수 있는 권한을 다른 사람에게 부여할 수 있다.

세분화된 권한
: 소스에 따라 여러 사람에게 다양한 권한을 부여할 수 있다.

Amazon EC2에서 실행되는 애플리케이션을 위한 보안 AWS 리소스 액세스
: C2 인스턴스에서 실행되는 애플리케이션의 경우 IAM 기능을 사용하여 자격 증명을 안전하게 제공할 수 있다. 이러한 자격 증명은 애플리케이션에 다른 AWS 리소스에 액세스할 수 있는 권한을 제공한다.

멀티 팩터 인증(MFA)
: 보안 강화를 위해 계정과 개별 사용자에게 2팩터 인증을 추가할 수 있다. MFA를 사용할 경우 계정 소유자나 사용자가 계정 작업을 위해 암호나 액세스 키뿐만 아니라 특별히 구성된 디바이스의 코드도 제공해야 한다.

아이덴티티 페더레이션
: 기업 네트워크나 인터넷 자격 증명 공급자와 같은 다른 곳에 이미 암호가 있는 사용자에게 AWS 계정에 대한 임시 액세스 권한을 부여할 수 있다.

...etc


IAM에 ACCESS

아래 방법 중 하나를 통해 AWS Identity and Access Management로 작업할 수 있다.

  • AWS Management Console
  • AWS 명령줄 도구
  • AWS SDK
  • IAM 쿼리 API

IAM의 구성

사용자가 특정 서비스를 사용하고 싶어할 경우, IAM은 사용자 → 그룹 → 역할 순 로직으로 권한을 검증한다.

반응형