API网关的ARN角色以启用日志错误

Ily*_*sin 8 amazon-web-services amazon-iam amazon-cloudwatch aws-api-gateway

我无法通过提供新的IAM角色来启用对AWS API Gateway中CloudWatch日志的写访问权限。

我检查了几个教程,检查了所有内容。甚至将AdministratorAccess策略附加到我的IAM角色,并检查它The identity provider(s) apigateway.amazonaws.com是受信任的实体。

但是,如果在尝试在API Gateway中启用日志时仍然失败:

角色ARN的权限未设置为API网关

Ale*_*ton 11

今天,我在尝试建立一个我已授予这些权限的用户时遇到了这个问题。通过“创建角色”向导并选择API网关服务来解决此问题,该服务创建了具有正确权限的IAM arn。

Select your use case
API Gateway
Allows API Gateway to push logs to CloudWatch Logs.
Run Code Online (Sandbox Code Playgroud)


Ren*_* B. 7

对我来说,以下AWS配置解决了这个问题。

使用以下配置编辑角色中的“信任关系” :

{
 "Version": "2012-10-17",
 "Statement": [
 {
    "Effect": "Allow",
    "Principal": {
    "Service": ["apigateway.amazonaws.com","lambda.amazonaws.com"]
    },
    "Action": "sts:AssumeRole"
  }
 ]
}
Run Code Online (Sandbox Code Playgroud)

编辑政策如下:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "logs:*"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

以下是策略配置的更详细说明:策略说明


Tom*_*Tom 2

  1. 转到 IAM 并创建或选择现有角色
  2. 将 AWS 托管策略 AmazonAPIGatewayPushToCloudWatchLogs 附加到其中,复制角色的 ARN
  3. 转到 API Gateway > 设置并粘贴 ARN,然后点击保存
  4. 选择您的 API > 阶段 > 选择一个阶段 > 日志/跟踪选项卡
  5. 根据需要选择“启用 CloudWatch Logs”和/或“记录完整请求/响应数据”,然后点击“保存更改”。