amazon-web-services - CodeStar 触发的 CloudFormation 堆栈更新中的 lambda:GetAlias 警告
问题描述
我正在按照 AWS CodeStar 文档中的无服务器项目教程使用 Python 3.7 Lambda 模板创建的基本项目来探索 CodeStar:
https://docs.aws.amazon.com/codestar/latest/userguide/sam-tutorial.html
我的构建和部署成功。但是,在我的 CloudFormation 事件日志中看到警告:
IAM 用户不允许 CloudFormation 调用 lambda:GetAlias,这可能会导致为 CodeDeploy 部署制定具有陈旧 CurrentVersion 的 appspec 文件。请修复它以避免任何可能的 CodeDeploy 部署失败。
我只是使用 CodeStar 控制台自动创建的 AWS 资源。
我该怎么做才能解决此警告?
细节
CodePipeline 中的 CodeDeploy 步骤通过更新名为的 CloudFormation 堆栈来部署 lambda 函数:awscodestar-<codestar project name>-lambda
。
当我查看此堆栈的事件日志时,我注意到上述资源名为HelloWorldAliaslive
解决方案
要解决此问题,请将lambda:GetAlias
权限添加到与名为 IAM 角色关联的内联策略CodeStarWorker-<project>-CloudFormation
- 打开 CodeStar 的 AWS 控制台
- 单击左侧导航栏中的项目
- 找到项目资源部分。AWS IAM 资源之一将具有名称
CodeStarWorker-<project>-CloudFormation
。单击表的ARN列中的链接以在 IAM 中打开角色。 - 找到名为CodeStarWorkerCloudFormationRolePolicy的内联策略,然后单击编辑按钮。
- 将
"lambda:GetAlias"
操作添加到此策略。
该策略由 CodeStar 自动创建。在我的帐户中,该政策包括几个Statement
s。我选择将动作添加"lambda:GetAlias"
到已经有"lambda:CreateAlias"
动作的语句中。
进行此更改后,警告不再出现在我的 CloudFormation 事件日志中。
推荐阅读
- python - 在 Pandas DataFrame 中将对象转换为浮点数或字符串
- python - 将 BeautifulSoup/Python 循环导出到 CSV 或 txt 文件
- django - Django Rest 框架在斜线中包含具有所有功能的 ManyToMany 属性
- php - 如何从 WooCommerce 中的尺寸名称获取图像尺寸详细信息?
- elasticsearch - 如何使用单个 ES 为多个应用程序创建多个节点
- java - <*> 符号在 json swagger 中代表什么?
- python - 无法在 jupyter 和 pycharm 中加载 cvs 文件。如何加载文件?
- javascript - 如何在javascript中获取数据之前显示加载对话框
- r - 仅根据 R 中的名称值减去特定行
- java - 以 QR 码编码的链接 - 有没有办法进行编码,以便无论操作系统当前语言如何,结果都是相同的?