使用角色来管理用户的AWS账户

时间:2018-01-07 23:19:54

标签: node.js amazon-web-services credentials

我想设置一个Web服务,代表用户管理一些资源(在他自己的AWS账户上)。

所以基本上,在用户登录后,他将为我的服务提供访问其帐户的适当权限。我注意到了类似的服务(https://www.dashbird.io/),它指导您如何创建适当的角色,但我不确定如何实际使用该角色。如何代表他登录(没有令牌或密码)。

我使用node.js,但其他示例也会有所帮助。

感谢。

1 个答案:

答案 0 :(得分:2)

您的应用程序将需要有效凭据才能访问客户的AWS账户中的资源。可以通过各种方式提供这些凭证,但它们很可能是:

  • 客户帐户中 IAM用户的凭据,或
  • 客户帐户中的 IAM角色,他们已将其配置为允许您承担

IAM用户

这是最简单的方法。您的客户将创建 IAM用户并为其提供适当的权限。然后,他们将为您的应用程序提供与用户关联的访问密钥和密钥。

在与AWS服务建立会话时,您的应用程序将使用这些凭据。

IAM角色

您的客户将创建 IAM角色并为其提供适当的权限。与IAM用户不同,IAM角色没有凭据。相反, AWS用户假定角色。然后为它们提供临时凭证,可用于在该帐户中使用AWS服务。

将其想象成一名消防守望者 - 如果办公楼发生火灾,有人会暂时担任消防员的角色,告诉人们该做什么。当发生火灾时,他们有权威,因为他们承担了这个角色。但是当没有火灾时,他们没有权力告诉你该怎么做。

客户需要将角色配置为信任您的帐户或帐户中的用户。然后,他们将为您提供角色的ARN(亚马逊资源名称)。然后,您的应用程序会在您自己的帐户中使用IAM用户来致电AssumeRole()。如果该IAM用户(或您的整个帐户)受信任,那么您将收到用于访问客户帐户的凭据。

请参阅: