我正在使用无服务器构建一个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},上面的政策我会有我不应该访问请求此端点的权限。
是否有办法在策略中的资源中包含请求参数?
答案 0 :(得分:1)
没有办法将请求参数放入资源策略中。我不明白这是多么安全。该政策应仅在资源上声明明确允许的操作。
您可能必须枚举策略中的多个资源(允许使用数组)。