【问题标题】:lambda:GetAlias warning in CloudFormation stack update triggered by CodeStarCodeStar 触发的 CloudFormation 堆栈更新中的 lambda:GetAlias 警告
【发布时间】:2020-03-19 15:24:28
【问题描述】:

我正在按照 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 步骤通过更新名为 awscodestar-<codestar project name>-lambda 的 CloudFormation 堆栈来部署 lambda 函数。

当我查看此堆栈的事件日志时,我注意到上面针对名为 HelloWorldAliaslive 的资源的警告

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation aws-code-deploy aws-codestar


    【解决方案1】:

    要解决此问题,请将 lambda:GetAlias 权限添加到与名为 CodeStarWorker-<project>-CloudFormation 的 IAM 角色关联的内联策略中

    1. 打开 CodeStar 的 AWS 控制台
    2. 点击左侧导航栏中的项目
    3. 找到项目资源部分。 AWS IAM 资源之一的名称为CodeStarWorker-<project>-CloudFormation。单击表的 ARN 列中的链接以在 IAM 中打开角色。
    4. 找到名为CodeStarWorkerCloudFormationRolePolicy 的内联策略并单击编辑 按钮。
    5. 将"lambda:GetAlias" 操作添加到此策略。

    此政策由 CodeStar 自动创建。在我的帐户中,该政策包括几个Statements。我选择将"lambda:GetAlias" 操作添加到已经有"lambda:CreateAlias" 操作的语句中。

    进行此更改后,该警告不再出现在我的 CloudFormation 事件日志中。

    【讨论】:

      猜你喜欢
      • 2021-06-27
      • 2020-02-02
      • 2021-08-01
      • 2014-02-24
      • 2018-12-15
      • 2018-06-03
      • 1970-01-01
      • 2020-03-10
      • 2022-06-10
      相关资源
      最近更新 更多