微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

验证 APIGW 正在缓存 Lambda 授权方响应

如何解决验证 APIGW 正在缓存 Lambda 授权方响应

我目前正在通过 APIGW 运行 API,端点受 Lambda 授权程序保护。为了提高性能,我在 APIGW 中为 Authorizer 生成的 Policy 启用了缓存。

但是,我不确定如何有效地测试缓存是否正常工作。是否有一些我可以使用的标准调用系列,或者某种方法来明确检查策略是否被缓存?

SAM 模板的一部分:

      EndpointConfiguration: 
        Type: PRIVATE
        VPCEndpointIds: !Ref VPCEndpoints
      Auth:
        DefaultAuthorizer: DefAuthorizer
        Authorizers:
          DefAuthorizer:
            FunctionPayloadType: TOKEN 
            FunctionInvokeRole: !Sub arn:aws:iam::${AWS::AccountId}:role/RoleName
            FunctionArn: !ImportValue AuthorizerArn
            Identity:
              Headers:
                - Authorization
              ReauthorizeEvery: 3600

解决方法

我们可以检查两件事:

  1. 客户授权方 Lambda 在使用缓存中的策略时根本不会被调用。
  2. 您可以为 cloudwatch 启用 Api 网关阶段日志。你会看到日志记录的不同。 当它被缓存时,你只会看到一个条目Using valid authorizer policy for principal

当它没有被缓存时,你应该看到额外的内容

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。