Amazon web services IAM中的角色是什么?

Amazon web services IAM中的角色是什么?,amazon-web-services,amazon-iam,amazon-ecs,Amazon Web Services,Amazon Iam,Amazon Ecs,我很好奇角色在ECS中的工作方式。因此,正如我从文档中所读到的,角色在AWS中使用身份验证,然后使用其(角色)权限进行授权,然后使用API执行一些操作。正当但我也从文档中读到,每个主体(假设我的EC2实例或由其管理的任务上的ECS容器代理)都必须使用某种标识 这是否意味着角色是一个身份和主体,可以通过某种方式将身份验证为AWS并允许我的任务进行API调用 如果是这样的话,那么当临时安全凭据有限的生存期到期时,我的任务将如何进行API调用?他们使用角色,角色使用TSC,TSC的生命周期有限-任务进

我很好奇角色在ECS中的工作方式。因此,正如我从文档中所读到的,角色在AWS中使用身份验证,然后使用其(角色)权限进行授权,然后使用API执行一些操作。正当但我也从文档中读到,每个主体(假设我的EC2实例或由其管理的任务上的ECS容器代理)都必须使用某种标识

这是否意味着角色是一个身份主体,可以通过某种方式将身份验证为AWS并允许我的任务进行API调用


如果是这样的话,那么当临时安全凭据有限的生存期到期时,我的任务将如何进行API调用?他们使用角色,角色使用TSC,TSC的生命周期有限-任务进行API调用的时间有限,对吗?

这里似乎有无限的回归,但没有,因为EC2服务本身(不是您的实例——AWS基础设施)是一个主体

由于该主体列在IAM角色信任策略中(因此允许其调用AssumeRole),EC2可以向STS发出临时实例角色凭据的初始请求,然后将其提供给实例上运行的代码,通过169.254.x.x不可扩展地址上的内部HTTP端点,该地址只能由实例访问。任务凭据使用与实例角色凭据类似的机制,由服务本身引导并使用HTTP访问。。。因此,在这两种情况下,信任链中的第一个原则都是一个“隐藏的”玩家,您不管理它(您不为它管理任何凭证,并且在实例中没有为它存储任何内容)

通过使用来记录IAM和STS事件,您可以观察到在后台发生的这些事情

获得的每一组临时凭据都有一个有限的生存期,但每次获取凭据时,都会为新的凭据集提供一个新的、更晚的过期时间(或者如果前一个凭据集仍有足够的生存期,则返回该凭据集)。SDK会自动处理此更新,因此任务生存期可能远长于凭据生存期,因为新的临时凭据始终可用


您的代码所要做的就是请求临时凭据,根据代码本身实际运行的位置(特定容器/实例),无需进一步验证即可访问这些凭据。

非常感谢!现在我正在努力练习使用这些东西,你能帮我吗D