0

使用sam deploy,其中sam deploy是 的包装器aws 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类型资源?

4

1 回答 1

1

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

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

arn:aws:sts::123456789012:假定角色/会计角色/玛丽

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

于 2019-07-29T23:57:08.043 回答