본문 바로가기

AWS

IAM 계정 설정

Intro.

root 계정은 아예 사용을 안 하는 것이 안전하다.

IAM user를 생성해서 권한을 제한해 사용하는 것이 일반적인 방법이다. 이러한 방법에 대해 알아보겠다.

 

 

1. IAM 구조

  • 이렇게 그룹으로 큰 카테고리를 나누고 해당하는 그룹의 권한을 설정하고 해당 그룹 내부에 IAM user를 생성한다.
  • 만약 해당 그룹 권한보다 더 높은 권한이 필요하다면, 개개인에게 조금 다른 권한을 줄 수도 있다.
  • 보통 그룹은 대문자와 복수형으로 만들고, 하위 IAM user는 소문자로 만든다.

2. Admins Group

  • 루트 계정 봉인 전에 어드민 작업을 위해 새 계정을 생성한다.
  • 어드민에 적합한 권한을 부여
  • 보통의 경우 AdministratorAccess 정책 부여

3. Developers Group

  • 보통의 경우 ReadOnlyAcces 를 준다.
  • 각 개인 계정에 쓰기 권한이 필요한 서비스가 있다면, 해당 계정에만 그 권한을 준다.

 

4. 루트 계정 봉인 절차

  1. 루트 계정과 연계된 모든 액세스 키를 삭제
  2. 길고 복잡한 패스워드를 작성해 안전한 패스워드 볼트에 저장
  3. 루트 계정에 다중 인증 기능을 활성화
  4. 이후, 일상적인 어드민 작업에서 루트 계정 사용을 자제한다.
  5. 그 이유는 루트 계정이 탈취되었을 때 복구가 매우 어렵다.

5. 정책 선택 시 권장 사항

  • 인라인 정책은 비추천
  • 왜냐하면 딱 한 계정만 해당 정책을 사용할 수 있으므로,
  • 관리형 정책의 사용을 추천한다.**

6. root 한 계정만 사용 시

  • AWS Organizations 사용 안해도 된다.
  • AWS Single Sign-On 사용 안해도 된다.

7. root 여러 계정 사용 시

  • AWS Organizations 사용해야 편하다.
  • AWS Single Sign-On 사용해야 편하다.

8. MFA(멀티 팩터 인증) 설정 할 것.

  • 2차 인증
  • admin 계정에 설정해주는 것이 안전하다.

9. root 권한 vs AdministratorAccess 권한 차이점

  • 둘다 모든 권한을 가졌다는 것은 동일하다.
  • 루트 계정만 가지고 있는 권한이 두 가지 있다.

1)전 계정에 대한 예산 관리 권한

2)특정 버킷에 대한 NFA Delete 권한

 

 

references

https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/id_groups.html

: IAM 사용자 그룹

 

https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/iam-ug.pdf#id_groups_create

: IAM 사용설명서

 

https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/best-practices.html

: IAM 모범 사례

 

https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/access_policies_managed-vs-inline.html

: 관리형 정책 vs 인라인 정책