Amazon web services API网关启用日志的ARN角色错误

Amazon web services API网关启用日志的ARN角色错误,amazon-web-services,aws-api-gateway,amazon-iam,amazon-cloudwatch,Amazon Web Services,Aws Api Gateway,Amazon Iam,Amazon Cloudwatch,我无法通过提供新的IAM角色在AWS API网关中启用对CloudWatch日志的写访问 我检查了几本教程,检查了所有内容。甚至将管理员访问策略附加到我的IAM角色,并检查身份提供程序apigateway.amazonaws.com是否为受信任的实体 但如果我尝试在API网关中启用日志时仍然失败: 角色ARN没有设置为API网关所需的权限 我今天遇到了这个问题,因为我试图设置一个我已经授予这些权限的用户。通过执行“创建角色”向导并选择创建具有正确权限的IAM arn的API网关服务,解决了此问题

我无法通过提供新的IAM角色在AWS API网关中启用对CloudWatch日志的写访问

我检查了几本教程,检查了所有内容。甚至将管理员访问策略附加到我的IAM角色,并检查身份提供程序apigateway.amazonaws.com是否为受信任的实体

但如果我尝试在API网关中启用日志时仍然失败:

角色ARN没有设置为API网关所需的权限


我今天遇到了这个问题,因为我试图设置一个我已经授予这些权限的用户。通过执行“创建角色”向导并选择创建具有正确权限的IAM arn的API网关服务,解决了此问题

Select your use case
API Gateway
Allows API Gateway to push logs to CloudWatch Logs.

在经历了很多挫折之后,我听从了亚历克斯的建议,然后放弃了一段时间


最终,IAM“stuff”传播和“enable logs”请求完全成功。

对于我来说,以下
AWS
配置修复了此问题

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

{
 "Version": "2012-10-17",
 "Statement": [
 {
    "Effect": "Allow",
    "Principal": {
    "Service": ["apigateway.amazonaws.com","lambda.amazonaws.com"]
    },
    "Action": "sts:AssumeRole"
  }
 ]
}
使用以下内容编辑了策略

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

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

如果您希望为您的角色拥有最少的权限,这是要添加的最小权限集

CloudWatchRolePolicy: 
    Type: 'AWS::IAM::ManagedPolicy'
    Properties:
      ManagedPolicyName: MyAPIGatewayRolePolicy
      PolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Sid: AllowWriteMetricsFromCloudWatch
            Effect: Allow
            Action:
            - "logs:CreateLogGroup"
            - "logs:CreateLogStream"
            - "logs:DescribeLogGroups"
            - "logs:DescribeLogStreams"
            - "logs:PutLogEvents"
            - "logs:GetLogEvents"
            - "logs:FilterLogEvents"
            Resource: "*" # This should be scoped too

什么是API网关的角色?可能是Lambda的角色?向API网关提供角色的用户的策略是什么?它需要
iam:passRole
权限。