繁体   English   中英

无法使用 IAM 策略限制对 lambda 中的 API 端点的访问

[英]Unable to restrict access to an API endpoint in lambda using IAM policy

我想构建一个 IAM 策略,明确允许为特定的 API 调用 lambda function 并拒绝为 rest 调用。

我的 API:/api/v1/type/{type_id}/orders。

我想创建一个策略,将在角色后面附加到一组特定类型的实例。 示例可以是 type_a。

因此,我制定了以下政策:

{

  "Effect": "Allow",
  "Action": [
                "lambda:InvokeFunction",
                "execute-api:Invoke",
                "execute-api:ManageConnections"
            ],
  "Resource": [
                "arn:aws:lambda:us-west-2:XXXXXXX:function:function-name",
                "arn:aws:execute-api:us-west-2:xxxxxx:pkxxxx8/*/GET/api/*/type/sai-iam-type_a/orders"
            ]
        }

附加上述政策后,我仍然能够访问 /api/v1/type/type_a/orders 和 /api/v1/type/type_b/orders API。

有没有办法可以拒绝除 /api/v1/type/type_a/orders 之外的所有其他内容?

您需要 api 上的资源策略来拒绝调用您想要的 api 之外的其他 api,例如...

{

  "Effect": "Deny",
  "Action": [
                "execute-api:Invoke"
            ],
  "NotResource": [
                "arn:aws:execute-api:us-west-2:xxxxxx:pkxxxx8/*/GET/api/*/type/sai-iam-type_a/orders"
            ]
        }  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM