説明
iam:CreateLoginProfileでは、ログインプロファイルがまだないIAMユーザーにコンソールパスワードを設定できます。グループのメンバーが高い権限を持つユーザーにこの操作を行えると、新たなアクセス経路を作るおそれがあります。
想定される影響
他のサインイン制御が許す場合、対象ユーザーの権限でコンソールにアクセスできる可能性があります。
対処方法
ログインプロファイルを管理しないグループから、この権限を削除してください。必要な場合は対象ユーザーを限定し、アカウント管理専用の権限として扱ってください。
例
以下は、同じグループのログインプロファイル作成権限をEC2の情報取得権限に置き換える例です。MFAなど、対象ユーザーの他のサインイン制御も維持してください。
変更前
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:CreateLoginProfile",
]
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 = "*"
},
]
})
}