簡體   English   中英

AWS API Gateway 自定義授權方日志

[英]AWS API Gateway Custom Authorizer log

如何從 API Gateway 中的自定義授權 lambda 函數獲取日志記錄? 我不想為 API 啟用日志記錄。 我需要從授權 lambda 函數進行日志記錄。 我使用 python lambda 函數並在代碼中打印。 我想查看Cloud Watch日志中的打印結果。 但是在雲手表中看不到日志。 我也沒有收到錯誤。 我錯過了什么?
Lambda 具有執行角色role/service-role/MyLambdaRole 此角色具有寫入雲監視的策略。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "logs:CreateLogGroup",
            "Resource": "arn:aws:logs:us-east-1:123456:*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:123456:log-group:MyCustomAuthorizer:*"
            ]
        }
    ]
}

我還通過將 CloudWatchLogsFullAccess 策略添加到角色/服務角色/MyLambdaRole角色進行了測試。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "logs:*"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}

我從 API Gateway 中刪除了 lambda 函數、IAM 角色、自定義授權方。 使用相同的設置重新創建上述所有內容並發布 API。 它按預期開始工作和記錄。 我不知道是什么阻止了早先登錄到雲監視日志。 詭異的!!

當我設置我的授權方時,我為自定義標頭設置了 Lambda 事件有效負載,但我忽略了在瀏覽器會話中設置該標頭。 根據https://docs.aws.amazon.com/apigateway/latest/developerguide/configure-api-gateway-lambda-authorization-with-console.html的文檔,第 9b 節,API 網關將拋出 401 Unauthorized甚至沒有執行 Lambda 函數的錯誤。 所以這就是問題的根源。

nodejs Lambda 也有同樣的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM