☁ 뭉게뭉게 클라우드/🙀 rlch가 되기 위한 기초

[AWS] IAM

우주수첩 2022. 6. 29. 15:35
728x90

IAM이란?

  • 유저, 접근 레벨 및 권한에 대해 관리하는 시스템

 


# 특징

  1. 접근 키, 비밀 키 제공
  2. 매우 세밀한 접근 권한 부여 기능
  3. 비밀번호 수시 변경 요구
  4. Multi-Factor Autentication 기능

 

1. 접근 키, 비밀 키 제공

  • 우리가 AWS 계정을 만들게 되면 해당 계정은 Root 계정이 된다. 이 계정은 다른 User를 생성할 수 있다.
  • Root 유저 계정에서 User A를 생성하면 IAM은 A에 대한 접근 키와 비밀 키를 생성해준다.
  • 유저 A는 이 접근 키와 비밀 키를 가지고 AWS의 다양한 서비스들을 사용할 수 있게 된다.
    • 접근 키, 비밀 키를 AWS 접속시에 사용되는 비밀번호와 혼동하는 경우가 있는데 명확하게 다르다.
    • 접근 키와 비밀 키를 가지고 터미널에서 쓰이는 커맨드 라인 인터페이스, API 등을 통하여  AWS 서비스를 원격으로 사용 가능하다.

2. 매우 세밀한 접근 권한 부여 기능

 

이해를 돕기 위해 AWS 에서 제공하는 데이터베이스 서비스인 Dynamo DB를 예시로 들겠다.

 

Dynamo DB에서 테이블의 생성, 삭제, 복사와 같은 기능 권한이 존재한다.

어떠한 사용자에게 권한을 부여하고자 할 때 위의 모든 기능 권한을 부여할 수 있고 일부의 권한만 부여할 수도 있다.

 

그렇다면 언제 이런 제한적인 권한 부여가 필요할까?

어떠한 회사에서 프로그램 개발을 위해서 개발자를 채용하였을 때 

이 개발자에게 모든 권한을 부여하지 않고, 해당 개발자가 사용해야하는 권한만 부여한다.

즉, 불필요한 접근으로 정보의 손실을 예방하는 경우 등에 제한적인 권한 부여가 필요하다.

 


3. 비밀번호 수시 변경 요구

  • 보안적인 이유에서 한 달 혹은 분기 별로 비밀번호를 변경하도록 강요한다.

4. Multi-Factor Autentication 기능

  • AWS 로그인 시 페이스북이나 구글 등의 어카운트를 통해 다양한 사용자 인증을 요구함으로써 보안을 두텁게 한다.
    • 루트 유저는 MFA를 하도록 적극 권장한다.

 


 

# Root 유저가 생성할 수 있는 것

1. 그룹(Group) : 하나의 그룹은 한 명 이상의 유저가 존재할 수 있다.

2. 사용자 (User) 

3. 역할(Role) : 하나의 역할에 한 개 이상의 정책을 지정할 수 있다.

유저마다 다양한 역할을 부여함으로써 다양한 정책을 유저에게 지정 할 수 있다.

4. 정책(Policy) : Json 형태로 되어있는 문서로 세밀한 접근 권한을 일일히 설정하여 앞써 정책에 대한 권한을 설정할 수 있다.

 

+) 정책은 그룹, 역할에 추가할 수 있다.

+) 하나의 그룹 안에 다수의 유저가 존재 가능한다

            그룹의 역할 혹은 정책을 추가하게 된다면 해당 그룹 안에 있는 모든 유저들에게 변경사항이 적용된다.

 


# Universal

  • IAM은 universal하다. 즉, 지역 설정이 필요 없다.
  • 대부분의 서비스는 지역적인지라 지역마다 제공하는 데이터와 리소스가 다르다.
  • IAM은 유니버셜하게 사용하기 때문에 지역적인 제한이 필요하지 않다.

 

 

 

+ AWS 사용자 추가 시 Access type

  • 프로그래밍 방식 Access : 유저를 생성할 때 Access 키와 secret Access 키를 부여하는데 이들을 통하여 API와 CLI등 다양한 서비스에 접근 가능하다.
  • AWS 관리 콘솔 Access : 비밀번호를 부여한다.

 

+ 사용자를 추가한 후 AK와 SAK를 보여주는 창에서 닫기를 누르면 더 이상 SAK를 볼 수 없기 때문에

혹여 잊어버렸다면 사용자를 다시 생성하는 것을 추천한다.

아니면 csv 다운로드를 하여 안전한 곳에 저장하는 것 또한 방법이다.

 

 

 


 

 

흥치팡야 흥치팡야

728x90