説明
IAM グループに広い iam:PutGroupPolicy 権限を付与すると、メンバーがグループのインラインポリシーを追加または上書きできます。自身が所属するグループに強い権限を付与すると、権限昇格につながるおそれがあります。
グループポリシーは、メンバーである IAM ユーザーに適用されます。ユーザーのアクセス許可の境界、組織ポリシー、明示的な拒否も実際のアクセスを制限します。
想定される影響
- 一度のポリシー変更で、複数のメンバーに不要な管理権限が付与される可能性があります。
- 未承認の変更により、グループ単位のアクセス制御が弱まるおそれがあります。
対処方法
一般のグループに不要な iam:PutGroupPolicy を削除してください。必要な場合は専用の管理ロールと承認手続きを使い、Resource を対象グループ ARN に限定してください。変更内容を確認して CloudTrail で監視し、正常な管理操作が機能し、未承認の変更が阻止されることを確認してください。
例
同じグループとインラインポリシーで、許可する操作だけを減らす比較です。
変更前
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:PutGroupPolicy",
]
Effect = "Allow"
Resource = "*"
},
]
})
}
メンバーに、グループ全体のインラインポリシーを追加・更新する権限を付与します。
変更後
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 = [
"ec2:Describe*",
]
Effect = "Allow"
Resource = "*"
},
]
})
}
この許可文には EC2 の参照操作だけを残します。他のポリシーに同じ変更権限が残っていないかと、実際に必要な参照範囲も確認してください。