带有请求参数的 AWS 自定义授权方
AWS Custom Authorizer with request parameters
我正在使用无服务器构建休息 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",但是当我想调用一些只能通过 "A" 访问的 "B" 时,我'将需要调用像 base/As/{aId}/Bs/{bId} 这样的端点,使用上述策略我将有权访问请求此端点,而我不应该这样做。
有没有办法在策略中的资源中包含请求参数?
无法将请求参数放入资源策略中。我不明白这怎么可能是安全的。该政策应该只说明 明确允许 对资源的操作。
您可能需要在策略中枚举多个资源(允许数组)。
我正在使用无服务器构建休息 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",但是当我想调用一些只能通过 "A" 访问的 "B" 时,我'将需要调用像 base/As/{aId}/Bs/{bId} 这样的端点,使用上述策略我将有权访问请求此端点,而我不应该这样做。
有没有办法在策略中的资源中包含请求参数?
无法将请求参数放入资源策略中。我不明白这怎么可能是安全的。该政策应该只说明 明确允许 对资源的操作。
您可能需要在策略中枚举多个资源(允许数组)。