iam:UpdateLoginProfile 권한이 과도한 IAM 사용자

다른 사용자의 콘솔 비밀번호 변경 권한을 제한하세요.

설명

광범위한 iam:UpdateLoginProfile 권한이 있으면 다른 IAM 사용자의 콘솔 비밀번호를 변경할 수 있습니다. 대상이 고권한 사용자이고 다른 로그인 통제가 허용하면, 그 계정에 접근해 더 강한 권한을 이용할 수 있습니다. 비밀번호 변경 권한 자체가 MFA를 해제하지는 않습니다.

잠재적 영향

  • 계정 사용 방해: 비밀번호가 바뀌면 정상 사용자의 콘솔 접근에 지장이 생길 수 있습니다.
  • 권한 악용: 로그인에 성공한 주체가 대상 사용자에게 허용된 작업을 수행할 수 있습니다.

해결 방법

비밀번호 관리가 필요 없는 사용자에게서 iam:UpdateLoginProfile 권한을 제거하세요. 필요한 관리 권한은 승인된 대상 사용자로 제한하고, 비밀번호 변경 이벤트와 MFA 등 로그인 통제를 점검하세요.

예시

변경 후 정책은 같은 사용자에게 EC2 조회 권한만 부여합니다. 다른 정책의 비밀번호 변경 권한도 제거하거나 제한하고, 이미 변경된 비밀번호와 계정 상태는 별도로 확인하세요.

변경 전

hcl
resource "aws_iam_user" "example" {
  name = "cosmic"
}

resource "aws_iam_user_policy" "example" {
  name = "test_inline_policy"
  user = aws_iam_user.example.name

  policy = jsonencode({
    Version = "2012-10-17"
    Statement = [
      {
        Action = [
          "iam:UpdateLoginProfile",
        ]
        Effect   = "Allow"
        Resource = "*"
      },
    ]
  })
}

변경 후

hcl
resource "aws_iam_user" "example" {
  name = "cosmic"
}

resource "aws_iam_user_policy" "example" {
  name = "inline_policy_read_only"
  user = aws_iam_user.example.name

  policy = jsonencode({
    Version = "2012-10-17"
    Statement = [
      {
        Action = [
          "ec2:Describe*",
        ]
        Effect   = "Allow"
        Resource = "*"
      },
    ]
  })
}

참조