我正在按照 AWS CodeStar 文档中的无服务器项目教程,使用通过 Python 3.7 Lambda 模板创建的基本项目来探索 CodeStar:
https://docs.aws.amazon.com/codestar/latest/userguide/sam-tutorial.html
我的构建和部署成功。但是,我在 CloudFormation 事件日志中看到一条警告:
The IAM user doesn't allow CloudFormation to call lambda:GetAlias, this could result in formulating a appspec file with stale CurrentVersion for CodeDeploy deployment. Please fix it to avoid any possible CodeDeploy deployment failures.
我只是使用 CodeStar 控制台自动创建的 AWS 资源。
我该如何解决此警告?
详细信息
CodePipeline 中的 CodeDeploy 步骤通过更新名为 awscodestar-<codestar project name>-lambda
的 CloudFormation 堆栈来部署 lambda 函数。 .
当我查看此堆栈的事件日志时,我注意到名为 HelloWorldAliaslive
的资源的上述警告
最佳答案
要解决此问题,请添加 lambda:GetAlias
与名为 CodeStarWorker-<project>-CloudFormation
的 IAM 角色关联的内联策略的权限
- 打开 CodeStar 的 AWS 控制台
- 点击左侧导航栏中的项目
- 找到项目资源部分。 AWS IAM 资源之一的名称为
CodeStarWorker-<project>-CloudFormation
。单击表的 ARN 列中的链接以在 IAM 中打开该角色。 - 找到名为 CodeStarWorkerCloudFormationRolePolicy 的内联策略,然后单击编辑按钮。
- 添加
"lambda:GetAlias"
对此政策采取行动。
此策略由 CodeStar 自动创建。在我的账户中,该政策包括几个Statement
s。我选择添加"lambda:GetAlias"
对已有的语句采取行动 "lambda:CreateAlias"
行动。
进行此更改后,警告不再出现在我的 CloudFormation 事件日志中。
关于amazon-web-services - lambda :GetAlias warning in CloudFormation stack update triggered by CodeStar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59013149/