【问题标题】:AWS CDK deploy using roleAWS CDK 使用角色部署
【发布时间】:2022-07-21 20:32:12
【问题描述】:

我需要通过发出此命令使用角色部署 CDK 应用程序

cdk -r arn:aws:iam::000000000000:role/fooRole deploy

但随后抛出错误

Assuming role failed: User: arn:aws:iam::000000000000:user/fooUser is not authorized to 
perform: sts:AssumeRole on resource: arn:aws:iam::000000000000:role/barRole

可以肯定的是,我尝试通过在 AWS IAM 策略模拟器中使用 arn:aws:iam::000000000000:role/fooRole 假设 arn:aws:iam::000000000000:role/barRole 角色来模拟它,它工作得很好。困扰我的一件事是错误表示 User 试图担任该角色,而不是 Role

这是为什么呢?或者我应该假设fooRole,更新AWS相关的环境变量然后部署?如果是这样,那么在cdk 上设置-r 选项有什么意义

作为附加信息,这里是barRole的信任关系

{
    "Version": "2008-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam:: 000000000000:root"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

我什至还尝试将AdministratorAccess AWS 托管策略附加到用于部署的fooRole

【问题讨论】:

    标签: amazon-web-services aws-cdk


    【解决方案1】:

    因此,您可以通过两种方式运行 cdk deploy 命令。

    1- 您正在使用 IAM 密钥从本地计算机的 CLI 运行此命令。在这种情况下,此角色必须可由所使用的 AWS 账户(IAM 用户)担任。

    2- 您正在从任何 AWS 服务(例如 EC2 实例上的 cicd 代理)运行此命令,那么应允许与该实例关联的角色担任此部署角色。

    提及您是如何运行此命令的,您可能会得到更好的答案。

    【讨论】:

    • 我已经编辑并丰富了我的问题。我使用 fooUser IAM User 作为我的默认凭据配置从本地计算机的 CLI 运行命令。你能帮忙解释一下如何让它工作吗?谢谢你
    猜你喜欢
    • 2020-05-03
    • 2021-12-29
    • 2020-09-19
    • 2020-05-08
    • 2019-11-12
    • 2020-11-23
    • 2021-04-08
    • 2020-10-07
    • 2020-08-23
    相关资源
    最近更新 更多