AWS IAM政策适用于所有人,但您自己

我目前有这个政策(HCL)

data "aws_caller_identity" "current" {} data "aws_iam_policy_document" "admin_policy_doc" { statement { sid = "DenyAccessToModifySelf" effect = "Deny" actions = [ "iam:AddUserToGroup", "iam:AttachUserPolicy" ] resources = [ "arn:aws:iam::${data.aws_caller_identity.current.account_id}:user/&{aws:username}", ] } statement { sid = "AllowIAMControl" effect = "Allow" actions = ["iam:*"] resources = ["*"] } } 

这旨在让pipe理员能够更新其他人的权限,而无需更新自己的权限以符合职责分离和最小特权。 看来,使用AddUserToGroup权限问题的资源是组而不是用户。 因此,如果用户有这个权限,用户仍然可以将自己添加到更多特权组中。

我也尝试使用这样的条件:

 { "Sid": "DenyAccessToAddSelfToGroup", "Effect": "Deny", "Action": [ "iam:AddUserToGroup" ], "Resource": "*", "Condition": { "StringEquals": { "aws:username": [ "${aws:username}" ] } } } 

但没有骰子。 这只是一个全局条件,不允许将所有用户添加到组中,这不是我想要的。 有没有人想出了这个解决scheme?