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 시험합격!