1. 개요

글 제목만 거창하고 일단 IAM을 잘 사용하기 위한 방법을 논하려고 합니다.


2. IAM

  • 루트를 쓰지 말자. 계정의 루트는 소유자로 모든 자원에 대한 접근이 가능하다. 당연하지만 루트의 억세스 키를 발급받아 쓰거나 X.509 인증서를 통한 로그인도 없어야겠다.
  • 패스워드는 절대 어려운 것으로 설정하자.
  • MFA를 사용하자. 모바일, OTP 등등. 특히 루트 계정에는 반드시 MFA가 설정되어 있어야 한다. 점검하자.
  • 권한은 무조건 최소한만 부여한다. 필요한건만 add하자.
  • 권한을 조직 or 역할 등 group 단위로 관리하자.
  • 권한 공유는 role에 의해서만 하자.
  • role은 사람에만 쓸 수 있는 것이 아니다. EC2도 role 기반으로 관리하자.

3. STS (부록)

AWS는 Security Token Service라는 것을 제공한다. AWS 리소스에 대한 억세스를 제공하는데 임시 보안 자격 증명이다. IAM과 유사하지만 그 차이점은..

  • 효력이 단기적 (몇분 ~ 몇시간)
  • 동적으로 생성된다. 

어떨 때 사용할까? 또 이점은?

  • 장기 AWS 보안 자격 증명을 배포할 정도는 아닌 애플리케이션에
  • 사용자에 대한 AWS 보안 자격 증명 없이도 리소스에 대한 억세르릊 제공하고자 할 때
  • 어차피 수명이 제한되어 있어서 명시적으로 관리할 필요는 없음. 

# 업데이트

  • 2018년 7월 31일부터 STS 서비스가 Oregon 리전에서 AWS PrivateLink를 지원하게 됨
  • 따라서 VPC와 STS간 모든 데이터를 AWS 네트웍 내에서 라우팅할 수 있게 됨
  • 출처 : https://aws.amazon.com/ko/about-aws/whats-new/2018/07/aws-sts-support-for-privatelink-us-west-2/