没有参数驱动器访问子路径定义

发布于 2025-01-21 19:09:46 字数 1267 浏览 0 评论 0原文

我有以下策略,可以在/network/testnet/*中的任何参数上都可以正常工作,

{
    "Statement": [
        {
            "Action": [
                "ssm:DescribeParameters"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "ssm:GetParameters",
                "ssm:GetParameter",
                "ssm:GetParametersByPath"
            ],
            "Resource": "arn:aws:ssm:eu-central-1:xx:parameter/network/*",
            "Effect": "Allow"
        }
    ]
}

但是一旦我想将资源限制在arn:aws:aws:aws:ssm:eu-Central -1:xx:参数/网络/testnet/*它不再允许访问/network/network/testnet/*中的任何参数。

然后,我的lambda函数特别是我使用以下错误

"errorType": "Runtime.UnhandledPromiseRejection",
    "errorMessage": "AccessDeniedException: User: arn:aws:sts::xxx:assumed-role/dsome-app/some-function is not authorized to perform: ssm:GetParametersByPath on resource: arn:aws:ssm:eu-central-1:xxx:parameter/network/testnet because no identity-based policy allows the ssm:GetParametersByPath action",

,我使用云形式并定义这样的访问

Policies:
      - SSMParameterReadPolicy:
          ParameterName: "network/testnet/*"

是不允许的子路径的限制,还是我缺少什么?

I have the following policy in place which works fine on any parameter within /network/testnet/*

{
    "Statement": [
        {
            "Action": [
                "ssm:DescribeParameters"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "ssm:GetParameters",
                "ssm:GetParameter",
                "ssm:GetParametersByPath"
            ],
            "Resource": "arn:aws:ssm:eu-central-1:xx:parameter/network/*",
            "Effect": "Allow"
        }
    ]
}

but as soon as I want to restrict the resource to arn:aws:ssm:eu-central-1:xx:parameter/network/testnet/* it does no longer allow access to any of the parameters within /network/testnet/*.

My lambda function then gets the following error

"errorType": "Runtime.UnhandledPromiseRejection",
    "errorMessage": "AccessDeniedException: User: arn:aws:sts::xxx:assumed-role/dsome-app/some-function is not authorized to perform: ssm:GetParametersByPath on resource: arn:aws:ssm:eu-central-1:xxx:parameter/network/testnet because no identity-based policy allows the ssm:GetParametersByPath action",

Specifically I use CloudFormation and define access like that

Policies:
      - SSMParameterReadPolicy:
          ParameterName: "network/testnet/*"

Are restriction to sub paths not allowed or what am I missing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

孤单情人 2025-01-28 19:09:46

您应该能够执行dynamoose.model('example_user',架构,{“ create”:false}),以摆脱创建表 https://dynamoosejs.com/guide/model/

You should be able to do dynamoose.model('example_user', schema, {"create": false}) to get away from the need to create a table https://dynamoosejs.com/guide/Model/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文