【问题标题】:prevent all users from deleting a specific cloudformation stack防止所有用户删除特定的 cloudformation 堆栈
【发布时间】:2023-03-22 02:39:01
【问题描述】:

我有这个 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/*

但是没有用。

【问题讨论】:

    标签: json security amazon-web-services amazon-cloudformation policy


    【解决方案1】:

    实现此目的的一个简单方法是:

    1. 创建一个 IAM 组并将您的拒绝策略附加到它
    2. 将除您自己以外的所有用户添加到组中

    这将是 AWS 推荐的方式。

    【讨论】:

    • 我已应用此策略来保护堆栈。它工作得很好。但是我有一个问题,当我添加一个新的 AWS 用户时会发生什么?该用户将能够删除/更新堆栈。有什么解决办法吗?
    • 将用户添加到正确的组。默认情况下,IAM 用户没有任何权限,因此责任在于您
    猜你喜欢
    • 2014-04-22
    • 2021-03-15
    • 2019-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-15
    • 2018-11-23
    • 1970-01-01
    相关资源
    最近更新 更多