amazon-web-services - AWSDescribeStacks 操作 - 我可以限制特定资源吗?

标签 amazon-web-services aws-cloudformation amazon-iam

我想创建一个允许 cloudformation:DescribeStacks 的策略,但仅限于描述特定堆栈而不是全部堆栈。我的偏好是限制具有特定标签的堆栈,如果不可能,则限制名称以特定前缀开头的堆栈。

根据https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudformation.html#awscloudformation-stack我认为这应该是可能的。然而我尝试的一切都不起作用,我得到了权限被拒绝的响应。

这是我尝试过的:

1 -

{
    "Effect": "Allow",
    "Action": [
        "cloudformation:DescribeStacks"
    ],
    "Resource": "*",
}

1 有效,返回所有堆栈。

2-

 {
    "Effect": "Allow",
    "Action": [
        "cloudformation:DescribeStacks"
    ],
    "Resource": "*",
    "Condition": {
        "StringLike": {
            "aws:ResourceTag/my-tag": "*"
        }
    }
}

2 出现以下错误:调用DescribeStacks 操作时发生错误 (AccessDenied):用户:arn:aws:iam::xxxx:user/yyyy 无权执行:cloudformation:DescribeStacks

3-

{
    "Effect": "Allow",
    "Action": [
        "cloudformation:DescribeStacks"
    ],
    "Resource": "my-specific-stack-id (ARN)" (tried also with just prefix and *)
}

3 - 得到与 2 相同的错误

4 -

{
    "Effect": "Allow",
    "Action": [
        "cloudformation:DescribeStacks"
    ],
    "Resource": "*",
    "Condition": {
        "ForAnyValue:StringLike": {
            "aws:TagKeys": "my-tag*"
        }
    }
}

4 也遇到与 2 和 3 相同的错误。

这是否可以做我想做的事情,或者DescribeStacks仅适用于“Resource”:“*”?如果是后者,文档会很困惑。

谢谢

最佳答案

遗憾的是,你不能这样做。来自您的link , DescribeStacks 不支持任何条件:

enter image description here

在同一个表中,aws:RequestTag/${TagKey} 仅适用于某些操作,例如 UpdateStack

更新

您拥有完整资源的政策正确:

"Resource": "arn:aws:cloudformation:eu-west-1:xxxxxxxxxxxx:stack/sandbox-noe3kx0sbw02bb/952c2af0-71d3-11eb-832b-06f0a0237781"

但是,要使用 DescribeStacks 操作,您必须指定堆栈名称sandbox-noe3kx0sbw02bb,例如

aws cloudformation describe-stacks  --stack-name sandbox-noe3kx0sbw02bb --region <region-of-stack>

无法使用没有堆栈名称的操作:

aws cloudformation describe-stacks --region <region-of-stack>

因为您没有描述所有堆栈的权限。您只能描述一个特定的堆栈。

关于amazon-web-services - AWSDescribeStacks 操作 - 我可以限制特定资源吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66333062/

相关文章:

database - AWS RDS 自动备份

amazon-web-services - 间歇性无法找到凭据

amazon-web-services - 如何在创建 postgres rds 时设置 log_line_prefix 的值

amazon-web-services - 使用 CloudFormation 创建 Secrets Manager 但保持值不可见

amazon-iam - 如何使用 Serverless 框架创建具有访问 key 和 secret key 的 IAM 用户?

node.js - SES : Accessing email body inside lambda function

amazon-web-services - Dynamodb 查询 - KeyConditionExpression 中的 OR 条件

amazon-s3 - 尝试使用以下配置创建 S3 存储桶时,继续遇到此错误 : Template validation error

amazon-web-services - 如何在 CloudFormation 模板中使用另一个 AWS 账户的 AssumeRole?

amazon-web-services - IAM 用户上 lambda ListFunctions 的 AWS AccessDeniedException