【问题标题】:aws:sts user for Stack creation - aws cli用于创建堆栈的 aws:sts 用户 - aws cli
【发布时间】:2019-12-07 06:35:11
【问题描述】:

使用sam deploy,其中sam deployaws cloudformation deploy 的包装器,我们从EC2 运行以下命令来创建堆栈:

aws cloudformation deploy --template-file cfntemplate.yml --stack-name somestack-test --region us-east-1

在堆栈创建过程中,我们看到如下(如下所示):


用户是:arn:aws:sts::${AccountId}:assumed-role/Autodeploy/i-0000000cc4Autodeploy 是分配给 EC2 的角色名称。该用户在堆栈创建完成后消失。



assumed-role 在其 arn 中表示什么?

Autodeploy/i-0000000cc4 在它的 arn 中表示什么?

aws:sts 类型资源是什么?

【问题讨论】:

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


    【解决方案1】:

    您的问题的信息可以在 IAM 文档参考部分IAM Identifiers [1]中找到。

    扮演“Accounting-Role”角色的某人的活动会话,角色会话名称为“Mary”:

    arn:aws:sts::123456789012:assumed-role/Accounting-Role/Mary

    aws:sts 部分表示资源是安全令牌服务 (STS) [2] 的一部分。 assumed-role 部分表示您是通过会话上下文进行身份验证的,该会话上下文很可能是通过调用 aws sts assume-role --role-arn "arn:aws:iam::123456789012:role/Accounting-Role" --role-session-name "Mary" [3] 之类的东西建立的。

    在您的情况下:Autodeploy 是角色名称,i-0000000cc4 是角色会话名称。

    正如 cli 参考 [3] 所述,会话上下文 意味着您不是通过长期凭证进行身份验证,而是通过临时凭证进行身份验证:

    默认情况下,AssumeRole 创建的临时安全凭证会持续一小时。但是,您可以使用可选的 DurationSeconds 参数来指定会话的持续时间。

    参考文献

    [1]https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html
    [2]https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html
    [3]https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html

    【讨论】:

    • 这是用户类型吗?谁在创造它?在 sam deploy 创建的堆栈存在之前,该用户是否存在?该用户的生命周期是多少?
    • 在您的 IAM 控制台中搜索“Autodeploy”角色。有这样的角色吗?我不知道 SAM CLI 实用程序的内部实现。也许他们在部署后删除了角色,我不知道。通常,假定角色不是用户类型。它是一种角色类型,请参阅:docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html:“IAM 角色类似于 IAM 用户,因为它是一个 AWS 身份,具有确定身份在 AWS 中可以做什么和不可以做什么的权限策略”。
    • 如何为这样的动态用户分配角色策略?
    • 您可以尝试使用 SAM 模板的资源部分并定义“AWS::IAM::Policy”类型的资源。对“角色”属性使用角色名称“Autodeploy”。如果这不起作用,我想你应该在他们的 GitHub 上询问 SAM CLI 开发人员,因为这往往是一个非常特定于 SAM 的问题。
    • 哦,伙计,您为什么要更改问题的整个范围? =(不酷
    猜你喜欢
    • 2022-01-14
    • 2023-02-03
    • 2022-01-16
    • 2021-05-24
    • 2019-03-23
    • 2015-02-05
    • 2020-03-02
    • 1970-01-01
    • 2020-04-09
    相关资源
    最近更新 更多