aws 금융 클라우드 진단홈카탈로그진단 항목 전체ap-northeast-2 · 3820-1174-9265
클라우드 관리체계 보안 취약점 평가기준 (퍼블릭 클라우드) / 6. 접근통제 / 6.1 계정 및 권한 관리
PISM-041관리자 계정의 액세스 키 삭제 여부
위험도 5기술적 보안IAM평가 구분: 스크립트
관리자 계정(root)의 액세스 키가 유출될 경우 프로그래밍 방식으로 접근하여 제약 없이 가상자원에 대한 제어가 가능해지는 위협이 존재하므로 관리자 계정의 액세스 키 삭제 여부를 점검합니다.
1. 점검 대상 확인
2. CLI 진단
3. 양호/취약 판정
4. 조치 · 재확인
방법 1AWS Management Console 경로
IAM → 자격 증명 보고서 → 보안 인증 보고서 다운로드 → 파일 내 <root_account> 행 확인
콘솔은 화면이 자주 바뀝니다. 실제 점검에서는 아래 CLI(방법 2) 로 증적을 남기는 편이 재현성이 높습니다.
방법 2AWS CLI 진단
아래 명령을 눌러 실행하거나, 직접 입력해 보세요. 응답은 실제 AWS CLI 출력 형식을 따릅니다.
$ aws sts get-caller-identity
{
"UserId": "AIDA4XQ7N2VZK3RJTPLWE",
"Account": "382011749265",
"Arn": "arn:aws:iam::382011749265:user/audit-readonly"
}
진단 계정으로 로그인되었습니다. 아래 명령을 실행해 점검을 시작하세요.
판정이 환경은 양호합니까, 취약합니까?
평가기준의 판단 근거는 명령 출력입니다. 먼저 위에서 명령을 실행해 출력을 확인하세요.
🛠️ 조치 방법
바로 지우지 마세요. 최근 사용 기록이 있으므로 ① 무엇이 쓰는지 CloudTrail 로 특정 → ② 전용 IAM 역할로 대체 → ③ 키 비활성화(관찰) → ④ 삭제 순서로 진행합니다.
# 1) 누가 root 키를 쓰는지 CloudTrail 에서 특정
$ aws cloudtrail lookup-events \
--lookup-attributes AttributeKey=Username,AttributeValue=root \
--start-time 2026-08-01T00:00:00Z \
--query "Events[*].{Time:EventTime,Name:EventName,Src:CloudTrailEvent}" \
--max-results 20
# → sourceIPAddress 10.40.7.62 (fin-batch-worker) 에서 s3:PutObject 호출 확인
# 2) 대체 자격증명 마련 — 인스턴스 프로파일(키 없는 역할)
$ aws iam create-role --role-name fin-batch-s3-writer \
--assume-role-policy-document '{"Version":"2012-10-17","Statement":[{
"Effect":"Allow","Principal":{"Service":"ec2.amazonaws.com"},
"Action":"sts:AssumeRole"}]}'
$ aws iam put-role-policy --role-name fin-batch-s3-writer \
--policy-name write-archive --policy-document '{"Version":"2012-10-17","Statement":[{
"Effect":"Allow","Action":["s3:PutObject"],
"Resource":"arn:aws:s3:::fin-core-txn-archive/*"}]}'
$ aws ec2 associate-iam-instance-profile \
--instance-id i-04e7b9c3d85a1f602 \
--iam-instance-profile Name=fin-batch-s3-writer
# 3) root 키 비활성화 — 먼저 끄고 며칠 관찰 (되돌리기 쉬움)
# ※ root 키 조작은 root 로 콘솔 로그인해야 한다 (IAM 사용자로는 불가)
# IAM → 보안 자격 증명 → 액세스 키 → 비활성화
# 4) 이상 없으면 삭제 + root MFA 등록 + 사용 알림 설정
📐 IaC 로 고정하기
콘솔에서 한 번 고쳐도 다음 배포에서 되돌아갑니다. 코드로 고정해야 재발하지 않습니다.
# root 키는 IaC 로 만들 수도 지울 수도 없다 — 콘솔 수작업이다.
# 대신 "다시 생기면 즉시 안다"를 코드로 만든다.
resource "aws_cloudwatch_event_rule" "root_activity" {
name = "detect-root-usage"
event_pattern = jsonencode({
"detail-type" = ["AWS API Call via CloudTrail"],
"detail" = { "userIdentity" = { "type" = ["Root"] } }
})
}
resource "aws_cloudwatch_event_target" "notify" {
rule = aws_cloudwatch_event_rule.root_activity.name
arn = aws_sns_topic.security_alert.arn
}
# 배치는 키가 아니라 역할로 (키 자체를 만들지 않는 것이 최선)
resource "aws_iam_instance_profile" "batch" {
role = aws_iam_role.batch_s3_writer.name
}
주의 — root 액세스 키는 IAM 사용자 권한으로는 지울 수 없습니다. root 자격증명으로 콘솔에 직접 로그인해야 하며, 이때 MFA 부터 등록하는 것이 순서입니다. 그리고 "안 쓰는 것 같으니 바로 지우자"는 위험합니다 — key1_last_used 가 비어 있어도 분기 배치·연말 정산 같은 저빈도 작업이 쓰고 있을 수 있습니다. 최소 한 달은 비활성화 상태로 관찰한 뒤 삭제하세요.
📋 평가항목 정보
평가항목 ID
PISM-041
구분
기술적 보안
통제분야
6. 접근통제
통제구분(대)
6.1 계정 및 권한 관리
평가항목
관리자 계정의 액세스 키 삭제 여부
위험도
5
평가 구분 (AWS)
스크립트
상세설명
관리자 계정(root)의 액세스 키가 유출될 경우 프로그래밍 방식으로 접근하여 제약 없이 가상자원에 대한 제어가 가능해지는 위협이 존재하므로 관리자 계정의 액세스 키 삭제 여부를 점검합니다.
평가에서는 화면 캡처보다 CLI 출력이 강한 증적입니다. 명령·실행시각·계정 ARN 이 함께 남기 때문입니다. 위 진단 탭의 출력을 그대로 보고서에 붙이면 됩니다.
🏦 금융 관점
root 액세스 키는 권한 분리 원칙의 정면 위반입니다. 금융회사는 시스템 접근 권한을 업무별로 최소화하고 상호 감시가 가능하도록 해야 하는데, root 키는 그 어떤 통제도 적용되지 않습니다. 평가에서 단일 항목으로 즉시 취약 판정되는 대표적인 지적 사항이며, 사고 시 "누가 했는지" 특정이 불가능해 책임 추적성까지 무너집니다.
「클라우드 관리체계 보안 취약점 평가기준(퍼블릭 클라우드)」의 평가항목을 교육용으로 재구성한 시뮬레이터입니다.
계정 ID·ARN·리소스 ID 는 형식만 실제와 같게 만든 가상 값이며, 어떤 AWS 환경에도 접속하지 않습니다.
실제 평가에서는 기관의 최신 평가기준 원문과 AWS 공식 문서를 따르십시오.