설명
광범위한 iam:CreateAccessKey 권한이 있으면 그룹 구성원이 다른 IAM 사용자의 액세스 키를 만들고 그 자격 증명을 사용할 수 있습니다. 고권한 사용자가 대상이면 권한 상승으로 이어질 수 있습니다.
잠재적 영향
발급된 키로 대상 사용자에게 허용된 데이터와 서비스에 접근할 수 있습니다.
해결 방법
불필요한 키 생성 권한은 제거하세요. 필요한 관리 권한은 승인된 사용자로 범위를 제한하고, 가능한 경우 장기 키 대신 임시 자격 증명을 사용하세요.
예시
예시는 키 생성 권한을 제거하고 같은 그룹에 EC2 조회 권한만 남깁니다. 기존에 발급된 키를 폐기하는 변경은 아닙니다.
변경 전
hcl
resource "aws_iam_group" "example" {
name = "cosmic"
}
resource "aws_iam_group_policy" "example" {
name = "test_inline_policy"
group = aws_iam_group.example.name
policy = jsonencode({
Version = "2012-10-17"
Statement = [
{
Action = [
"iam:CreateAccessKey",
]
Effect = "Allow"
Resource = "*"
},
]
})
}
변경 후
hcl
resource "aws_iam_group" "example" {
name = "cosmic"
}
resource "aws_iam_group_policy" "example" {
name = "inline_policy_run_instances"
group = aws_iam_group.example.name
policy = jsonencode({
Version = "2012-10-17"
Statement = [
{
Action = [
"ec2:Describe*",
]
Effect = "Allow"
Resource = "*"
},
]
})
}