IAM 보안 모범 사례
IAM 보안 모범 사례 (Security Best Practices)
IAM은 유연해서 실수하기도 쉬워요. AWS가 공식으로 제시하는 보안 모범 사례를 따르면 계정 보안을 크게 튼튼하게 유지할 수 있어요.
출처: https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html
핵심 모범 사례를 몇 가지 짚어볼게요.
- 사람 사용자는 임시 자격증명으로 접근: 사람(사용자)은 장기 액세스 키 대신, 아이덴티티 제공자(IdP)로 **연합(federation)**되어 IAM 역할을 맡아 임시 자격증명을 쓰게 해요. 중앙 관리가 필요하면 AWS IAM Identity Center 사용을 권장해요.
- 워크로드는 IAM 역할 + 임시 자격증명: EC2 인스턴스 같은 워크로드에 장기 키를 두지 말고 IAM 역할을 맡겨 임시 자격증명을 쓰게 해요. SAML(
AssumeRoleWithSAML)이나 JWT(AssumeRoleWithWebIdentity), IAM Roles Anywhere(X.509)를 쓸 수 있어요. - MFA 요구: IAM 사용자나 root 사용자를 꼭 써야 하는 시나리오엔 다단계 인증(MFA)을 요구해요. 가능하면 passkey·보안 키처럼 피싱에 강한 MFA를 권장해요.
- root 사용자 자격증명 보호: root 자격증명은 민감한 개인정보처럼 보호하고, 일상 사용을 피해요.
- 최소 권한(least privilege) 적용: 정책으로 필요한 작업만, 필요한 리소스에, 특정 조건에서만 허용해요. 시작은 AWS 관리형 정책으로 하되, 사용 사례에 맞는 고객 관리형 정책으로 점차 줄여가요.
- IAM Access Analyzer 활용: 액세스 활동을 분석해 최소 권한 정책을 생성·검증하고, 공개·계정 간 접근을 미리 확인해요.
- 사용하지 않는 항목 정리:
last accessed information(마지막 접근 정보)로 안 쓰는 사용자·역할·권한·자격증명을 찾아 제거해요. - 정책 조건(condition) 사용: 예를 들어 모든 요청이 TLS로 전송되도록 하거나, 특정 서비스를 통해서만 작업을 허용하도록 조건을 걸어요.
- 다중 계정 가드레일: AWS Organizations의 **서비스 제어 정책(SCP)**으로 모든 principal의 최대 권한을 가드레일로 통제해요. SCP는 권한을 부여하지 않고 최대 한도를 제한해요.
이 사례의 공통 주제는 "장기 자격증명 줄이기 + 최소 권한 + 지속적 검토"예요. 인간·머신 모두 임시 자격증명을 쓰고, 꼭 필요한 만큼만 권한을 주고, 주기적으로 정리하는 습관이 AWS 계정 보안의 기본이에요.
더 알아보기
- IAM Identity Center: What is AWS IAM Identity Center
- 서비스 제어 정책: Service control policies (SCPs)
- IAM Access Analyzer: What is IAM Access Analyzer?