【问题标题】:Creating an aws_api_gateway_account resource returns AccessDeniedException创建 aws_api_gateway_account 资源返回 AccessDeniedException
【发布时间】:2021-01-07 23:38:09
【问题描述】:

在我的 terraform 脚本中,我有以下资源 -

resource "aws_api_gateway_account" "demo" {
  cloudwatch_role_arn = var.apigw_cloudwatch_role_arn
}

在应用阶段,我看到以下错误 -

2020/09/21 20:20:48 [ERROR] <root>: eval: *terraform.EvalApplyPost, err: Updating API Gateway Account failed: AccessDeniedException: 
    status code: 403, request id: abb0662e-ead2-4d95-b987-7d889088a5ef

是否需要为角色附加特定权限才能消除此错误?

【问题讨论】:

    标签: terraform aws-api-gateway terraform-provider-aws


    【解决方案1】:

    遇到与@bdev03 相同的问题,我花了 2 天时间才确定缺少的权限是“iam:PassRole”,如果 terraform 能够指出这一点,那就太好了,希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      我没有测试过,但我相信这个角色需要下面显示的内容。在源代码中查看更多上下文:https://docs.aws.amazon.com/apigateway/latest/developerguide/stages.html 上的“启用 CloudWatch Logs”部分

      对于常见的应用场景,IAM 角色可以附加 AmazonAPIGatewayPushToCloudWatchLogs 的托管策略,其中包含 以下访问策略声明:

      { “版本”:“2012-10-17”, “陈述”: [ { “效果”:“允许”, “行动”: [ “日志:创建日志组”, "日志:CreateLogStream", “日志:DescribeLogGroups”, “日志:DescribeLogStreams”, “日志:PutLogEvents”, “日志:GetLogEvents”, “日志:FilterLogEvents” ], “资源”:“*” } ] }

      IAM 角色还必须包含以下信任关系 声明:

      { “版本”:“2012-10-17”,“声明”:[ { “席德”:“”, “效果”:“允许”, “主要的”: { “服务”:“apigateway.amazonaws.com” }, “动作”:“sts:AssumeRole” } ] }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-10-16
        • 2012-11-09
        • 2014-04-18
        • 1970-01-01
        • 1970-01-01
        • 2019-07-15
        • 2019-05-11
        • 2022-07-05
        相关资源
        最近更新 更多