微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

aws cli cloudformation lambda 无效输入错误

如何解决aws cli cloudformation lambda 无效输入错误

我正在尝试使用此示例修改 java 中的 lambda 函数示例:

https://github.com/awsdocs/aws-lambda-developer-guide/tree/main/sample-apps/s3-java

但在此过程中,我开始收到随机错误,因此我开始删除堆栈和剩余资源,并在没有锁定的情况下再次托盘。所以我决定重新下载示例,但错误不会消失。

即使尝试过 aws-nuke,但在尝试部署示例时仍然存在以下错误

{
        "StackId": "arn:aws:cloudformation:us-east-2:XXXXX:stack/s3-java/XXX","EventId": "functionRole-CREATE_Failed-2021-03-26T22:38:14.278Z","StackName": "s3-java","LogicalResourceId": "functionRole","PhysicalResourceId": "s3-java-functionRole-13JFU76O57RLT","ResourceType": "AWS::IAM::Role","Timestamp": "2021-03-26T22:38:14.278000+00:00","ResourceStatus": "CREATE_Failed","ResourceStatusReason": "ARN AWSLambdaReadOnlyAccess is not valid. (Service: AmazonIdentityManagement; Status Code: 400; Error Code: InvalidInput; Request ID:XXXXXXX; Proxy: null)","ResourceProperties": "{\"ManagedPolicyArns\":[\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\",\"arn:aws:iam::aws:policy/AWSXraywriteonlyAccess\",\"AWSLambdaReadOnlyAccess\",\"arn:aws:iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole\",\"arn:aws:iam::aws:policy/AmazonS3FullAccess\"],\"AssumeRolePolicyDocument\":{\"Version\":\"2012-10-17\",\"Statement\":[{\"Action\":[\"sts:AssumeRole\"],\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"lambda.amazonaws.com\"]}}]},\"Tags\":[{\"Value\":\"SAM\",\"Key\":\"lambda:createdBy\"}]}"
    }

当我转到 IAM 策略时,没有称为 AWSLambdaReadOnlyAccess 的策略。我该如何解决这个问题?

解决方法

2021 年 3 月 1 日之后,AWS 托管策略 AWSLambdaReadOnlyAccess 和 AWSLambdaFullAccess 将被弃用,并且不能再附加到新的 IAM 用户。有关策略弃用的更多信息,请参阅 IAM 用户指南中的弃用 AWS 托管策略。 [1]

AWSLambda_ReadOnlyAccess 的亚马逊资源名称是 arn:aws:iam::aws:policy/AWSLambda_ReadOnlyAccess。 您必须指定完整的 ARN。 由于您在模板中使用 AWS::Serverless::Function,放置 AWSLambda_ReadOnlyAccess 应该可以解决此问题。我不知道 aws-nuke 是否也删除了 AWS Managed Policies,但需要注意的是

[1] https://docs.aws.amazon.com/lambda/latest/dg/security_iam_troubleshoot.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。