如何解决创建aws_api_gateway_account资源将返回AccessDeniedException
在我的Terraform脚本中,我具有以下资源-
resource "aws_api_gateway_account" "demo" {
cloudwatch_role_arn = var.apigw_cloudwatch_role_arn
}
在Apply阶段,我看到以下错误-
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
要摆脱此错误,是否需要将特定权限附加到角色上?
解决方法
遇到与@bdev03 相同的问题,我花了 2 天的时间才确定缺少的权限是“iam:PassRole”,如果 terraform 能够指出这一点,那就太好了,希望对您有所帮助。
,我尚未测试,但我认为该角色需要下面显示的内容。在源代码中查看更多上下文:https://docs.aws.amazon.com/apigateway/latest/developerguide/stages.html
的“启用CloudWatch Logs”部分对于常见的应用场景,IAM角色可以附加 AmazonAPIGatewayPushToCloudWatchLogs的托管策略,其中包含 以下访问策略声明:
{ “ Version”:“ 2012-10-17”, “声明”:[ { “效果”:“允许”, “动作”:[ “ logs:CreateLogGroup”, “ logs:CreateLogStream”, “ logs:DescribeLogGroups”, “ logs:DescribeLogStreams”, “ logs:PutLogEvents”, “ logs:GetLogEvents”, “日志:FilterLogEvents” ], “资源”:“ *” } ]}
IAM角色还必须包含以下信任关系 声明:
{“版本”:“ 2012-10-17”,“声明”:[ { “ Sid”:“”, “效果”:“允许”, “校长”:{ “服务”:“ apigateway.amazonaws.com” }, “动作”:“ sts:AssumeRole” }]}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。