aws:sts用户以创建堆栈-aws cli

时间:2019-07-29 22:10:39

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

使用sam deploy(其中sam deployaws cloudformation deploy的包装),我们在EC2的命令下面运行以创建堆栈:

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

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

enter image description here


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



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

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

什么是aws:sts类型的资源?

1 个答案:

答案 0 :(得分:1)

您的问题的信息可以在IAM文档参考部分 IAM标识符 [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