在IAM中扮演什么角色?

时间:2018-08-12 05:25:26

标签: amazon-web-services amazon-iam amazon-ecs

我很好奇Task Roles在ECS中角色是如何总体上和特定地工作的。因此,正如我从文档中看到的那样,角色使用Temporary Security Credentials在AWS中进行验证,然后使用其(角色)权限进行授权,然后使用API​​进行一些操作。对?但是我还从文档中了解到,每个主要(例如,我在我的EC2实例或由其管理的任务上的ECS容器代理)都必须authenticated使用某些身份

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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

获得的每组临时凭证都有一个有限的生存期,但是每次获取凭证时,都会为新的凭证集提供新的,更晚的到期时间(或者如果仍具有大量生命,则返回先前的凭证集)剩下)。 SDK会自动处理此更新,因此任务的生存期可能远远超过凭据的生存期,因为始终有新的临时凭据可用。

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

相关问题