Json 防止所有用户删除特定的cloudformation堆栈

Json 防止所有用户删除特定的cloudformation堆栈,json,security,amazon-web-services,amazon-cloudformation,Json,Security,Amazon Web Services,Amazon Cloudformation,我有以下IAM政策: { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "cloudformation:UpdateStack", "cloudformation:DeleteStack" ], "Resour

我有以下IAM政策:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "cloudformation:UpdateStack",
                "cloudformation:DeleteStack"
            ],
            "Resource": "MystackARN"
        }
    ]
}
我将其连接到我的用户以进行测试,然后尝试删除cloudformation堆栈,然后出现以下错误:

Failed to delete stack: User: arn:aws:iam::accountId:user/me is not authorized to perform: cloudformation:DeleteStack on resource: arn:aws:cloudformation:eu-west-1:stackARN
我希望除我之外的所有用户在尝试删除策略中指定的堆栈时都出现此错误

是否有任何方法可以使用AWS CLI将此策略添加到除我(堆栈所有者)之外的所有用户

或:

是否有任何方法可以从除我(堆栈所有者)之外的所有用户中删除权限
DeleteStack

我试过这个:

aws iam attach-user-policy --policy-arn arn:aws:iam::AccountId:policy/cfn-policy --user-name arn:aws:iam::AccountId:user/*

但它不起作用。

实现这一点的一个简单方法是:

  • 创建IAM组并将拒绝策略附加到该组
  • 将除您自己以外的所有用户添加到组中

  • 这将是AWS推荐的方法。

    我已应用此策略来保护堆栈。它工作得很好。但我有一个问题,当我添加一个新的AWS用户时会发生什么?该用户将能够删除/更新堆栈。是否有任何解决方法?将用户添加到正确的组中。默认情况下,IAM用户没有任何权限,因此责任在您身上