【问题标题】:Deploying AWS SAM function with least privileges以最低权限部署 AWS SAM 功能
【发布时间】:2020-12-20 03:20:12
【问题描述】:

对于像https://github.com/TractorZoom/sam-cli-action 这样的 SAM CI/CD 凭据,我如何创建/指定具有最少权限的密钥/秘密?即不是我的 PowerUser 帐户的 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY,但仍足以部署和更新应用程序?

当我执行sam deploy 时,它说它正在创建一个 IAM 角色,但在检查时它只是一个 arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole,它只允许写入日志 AFAICT。

那么如何创建具有最少权限的“部署角色”或者我缺少什么?

【问题讨论】:

    标签: amazon-web-services amazon-iam aws-sam


    【解决方案1】:

    您可以创建具有最低权限策略的 IAM 角色,并允许您的用户担任该角色,然后将临时凭证注入您的 CI/CD 文件。更多信息here

    更好的是,如果您有一个执行管道的实例,您可以将 IAM 角色附加到它。我使用 Gitlab 跑步者,这就是我一直追求的。在这种情况下,您可以跳过定义凭据,因为实例会处理这些。

    无论哪种情况,IAM 角色都是先决条件,最好是独立部署。

    【讨论】:

    • 那么工作流程将是承担角色、部署、失败、添加权限、部署等并以这种方式创建策略?
    • 通常您对角色需要访问的内容有所了解,并最初将其写下来,然后循环几次并进行微调。例如,您可以允许角色创建/管理具有特定前缀的 lambda,对于 DynamoDB 表等也是如此。总有一个你无法预料,所以几次迭代是司空见惯的。
    猜你喜欢
    • 2019-02-12
    • 2021-11-03
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-09
    • 2019-06-01
    • 1970-01-01
    相关资源
    最近更新 更多