带有请求参数的AWS Custom Authorizer

时间:2016-12-14 14:57:47

标签: amazon-web-services aws-lambda aws-api-gateway amazon-cognito serverless-framework

我正在使用无服务器构建一个rest API。我已经构建了一个自定义授权程序来检索自定义策略,一切正常,直到我遇到检索带有请求参数的策略,例如:base / As / {aId} / Bs / {bId}

我现在正在检索的政策示例:

{
"principalId": "some id",
"policyDocument": {
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "allow",
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:{region}:{apiId}/{stage}/GET/As/*"
        }
    ]
}

所以我的问题是上述政策应该只是检索一个特定的" A",但是当我想打电话给某些" B"只有通过" A"才能访问,我需要调用一个端点,如base / As / {aId} / Bs / {bId},上面的政策我会有我不应该访问请求此端点的权限。

是否有办法在策略中的资源中包含请求参数?

1 个答案:

答案 0 :(得分:1)

没有办法将请求参数放入资源策略中。我不明白这是多么安全。该政策应仅在资源上声明明确允许的操作。

您可能必须枚举策略中的多个资源(允许使用数组)。