설명
IAM 사용자의 접근 키는 장기 자격 증명입니다. 불필요한 키가 활성화되어 있으면 유출·오용 위험이 늘어납니다. 활성 상태만으로 키가 유출되었다는 뜻은 아니며, 접근 키 ID만으로 요청을 인증할 수는 없습니다. API 요청에는 대응하는 비밀 접근 키도 필요합니다.
사람의 접근은 페더레이션과 임시 자격 증명을, 워크로드는 역할을 우선 사용하세요. 장기 키가 필요한 경우 소유자와 용도, 사용 기록 및 권한을 관리해야 합니다. 루트 사용자 접근 키는 대안이 아닙니다.
잠재적 영향
- 활성 키와 비밀 접근 키가 함께 유출되면 사용자에게 허용된 작업이 악용될 수 있습니다.
- 미사용 키가 남아 있으면 관리가 어려워지고, 의존 작업을 확인하지 않은 비활성화는 서비스 중단을 일으킬 수 있습니다.
해결 방법
- 키의 실제 소유자와 사용 기록을 확인하고 필요한 자동화를 역할 또는 임시 자격 증명으로 전환하세요.
- 대체 인증을 시험한 뒤 불필요한 키를 비활성화하고, 정상 동작을 확인한 후 삭제하세요. 유출이 의심되는 자격 증명은 교체·폐기하고 사용 기록을 조사하세요.
- 남겨야 하는 키는 최소 권한으로 제한하고 저장소·로그·코드에 비밀 접근 키가 노출되지 않도록 관리하세요.
예시
현재 IAM 사용자 키 관리 모듈로 같은 키의 상태를 변경하는 예시입니다. 변수에는 실제 IAM 사용자와 그 사용자에게 속한 키 ID를 제공하고, 모듈 실행용 AWS 인증은 별도로 구성하세요.
변경 전
yaml
- name: Enable a selected IAM user access key
amazon.aws.iam_access_key:
user_name: "{{ iam_user_name }}"
id: "{{ access_key_id }}"
state: present
active: true
지정한 키를 활성화합니다. 실제 업무에 필요한 키인지 확인해야 합니다.
변경 후
yaml
- name: Disable a selected IAM user access key
amazon.aws.iam_access_key:
user_name: "{{ iam_user_name }}"
id: "{{ access_key_id }}"
state: present
active: false
같은 키를 삭제하지 않고 비활성화합니다. 의존 작업의 정상 동작과 실제 키 상태를 확인하세요.