설명
AWS 계정 루트 사용자의 액세스 키는 매우 강한 권한을 가지므로 생성하거나 유지하지 않아야 합니다. 자동화에는 최소 권한 역할의 임시 자격 증명을 우선 사용하세요.
CloudFormation의 AWS::IAM::AccessKey에서 UserName은 IAM 사용자 이름입니다. Root라는 IAM 사용자도 계정 루트 사용자는 아니며 이름만으로 권한을 판단할 수 없습니다. 실제 소유자, 키 상태와 연결된 정책을 확인하세요.
잠재적 영향
- 실제 루트 키가 유출되면 계정의 데이터·리소스와 보안 설정에 광범위한 피해가 발생할 수 있습니다.
- 일반 IAM 사용자 키도 유효한 동안 그 사용자에게 허용된 작업에 악용될 수 있습니다.
해결 방법
- 자동화의 장기 키 의존성을 확인하고 최소 권한 역할의 임시 자격 증명으로 전환하세요.
- 불필요한 키는 사용 중인 시스템을 확인해 비활성화하고 정상 동작을 검증한 뒤 삭제하세요. 노출된 루트 키는 즉시 폐기하고 계정 활동을 조사하세요.
- 루트 계정 보호와 MFA를 유지하되, MFA가 유출된 장기 액세스 키를 자동으로 무효화하지는 않는다는 점을 고려하세요.
예시
아래 예시는 Root라는 기존 IAM 사용자의 키입니다. 계정 루트 키를 생성하거나 관리하는 예시가 아닙니다. 실제 사용자와 키를 확인한 뒤 적용하세요.
변경 전
yaml
Resources:
CFNKeys:
Type: AWS::IAM::AccessKey
Properties:
UserName: Root
Status를 생략한 새 키는 기본적으로 활성화됩니다. 이름이 Root여도 권한은 해당 IAM 사용자의 정책에 따라 결정됩니다.
변경 후
yaml
Resources:
CFNKeys:
Type: AWS::IAM::AccessKey
Properties:
UserName: Root
Status: Inactive
같은 IAM 사용자 키를 비활성화합니다. 단순히 다른 사용자 이름으로 바꾸는 것과 달리 이 키의 API 사용을 중지하며, 사용처를 이전한 뒤에는 불필요한 키를 삭제하세요.