IAM(Identity and Access Management)

IAM 이란?

 

IAM은 "Identity and Access Management"의 약자로, "신원 및 접근 관리"라는 뜻입니다. 

이는 사용자의 신원을 확인하고, 해당 사용자가 AWS 서비스에 접근하고 이를 사용할 수 있는 권한을 관리하는 것을 의미합니다.

 

IAM 특징

  • IAM은 글로벌 서비스입니다.
  • 기본적으로 루트계정을 통해 생성됩니다.
  • IAM 사용자들은 여러 그룹에 속할수 있습니다.
  • IAM 사용자들을 그룹에 속할 필요는 없습니다.
  • IAM 사용자 그룹은 IAM 사용자만 포함할수 있습니다.
 
 

IAM - Permissions, Policy

  • IAM Policy: Json 형식이며, User나 Group의 permission이 기재되어있습니다.
  • AWS는 최소 권한을 부여합니다.
  • 그룹정책: IAM정책이 그룹을 통해서 IAM 사용자에게 연결
  • 인라인 정책: IAM정책이 IAM 사용자에게 직접 연결
  • IAM 정책은 시드, 효과, 원칙, 조치, 리소스, 조건으로 구성됩니다.

 

IAM Security

  • Password Policy
  • MFA(Multi Factor Authentication)

 

 

How can users access AWS?

  • AWS Management Console (protected by password + MFA)
  • AWS Command Line Interface (CLI): protected by access keys
  • AWS Software Developer Kit (SDK) - for code: protected by access keys

 

 

IAM 보안 도구

  • IAM Credentials Report (account-level)
  • IAM Access Advisor (user-level)
 
 

IAM 모범사례

  • One physical user = One AWS user
  • Don’t use the root account except for AWS account setup
  • AWS 계정 자격증명 공유하지 않기
  • 다단계 인증(MFA)의 사용을 강제하세요.
  • Create and use Roles for giving permissions to AWS services
  • Use Access Keys for Programmatic Access (CLI / SDK)
  • Audit permissions of your account using IAM Credentials Report & IAM Access Advisor
  • Never share IAM users & Access Keys
 
 

참고자료

[1] Udemy - AWS Certified Solutions Architect Associate 시험합격!