使用角色管理用户的 AWS 账户
Using roles to manage user's AWS account
我想设置一个 Web 服务,它将代表用户(在他自己的 AWS 账户上)管理少量资源。
所以基本上,用户登录后,他会为我的服务提供适当的权限来访问他的帐户。我注意到类似的服务 (https://www.dashbird.io/),它指导您如何创建适当的角色,但我不确定如何实际使用该角色。如何代表他登录(没有令牌和密码)。
我正在使用 node.js,但其他示例也会有所帮助。
谢谢。
您的应用程序需要有效凭证才能访问客户 AWS 账户中的资源。这些凭据可以通过多种方式提供,但最有可能是:
- 您客户帐户中 IAM 用户 的凭据,或
- 您客户帐户中的一个 IAM 角色,他们已将其配置为允许您承担
IAM 用户
这是最简单的方法。您的客户将创建一个 IAM 用户 并为其提供适当的权限。然后他们会为您的应用程序提供与用户关联的访问密钥和秘密密钥。
您的应用程序将在与 AWS 服务建立会话时使用这些凭证。
IAM 角色
您的客户将创建一个 IAM 角色 并为其提供适当的权限。与 IAM 用户不同,IAM 角色没有凭证。相反,AWS 用户承担角色。然后,他们会获得临时凭证,可用于在该账户中使用 AWS 服务。
可以把它想象成消防员——如果办公楼发生火灾,有人会暂时承担消防员的角色,告诉人们该怎么做。发生火灾时,他们拥有权威,因为他们承担了这个角色。但是当没有火的时候,他们没有权力告诉你该怎么做。
客户需要将角色配置为信任您的帐户或您帐户中的用户。然后他们会给你角色的 ARN(亚马逊资源名称)。然后,您的应用程序使用您自己帐户中的 IAM 用户来调用 AssumeRole()
。如果该 IAM 用户(或您的整个帐户)是可信的,那么您将收到用于访问您客户帐户的凭据。
参见:
我想设置一个 Web 服务,它将代表用户(在他自己的 AWS 账户上)管理少量资源。
所以基本上,用户登录后,他会为我的服务提供适当的权限来访问他的帐户。我注意到类似的服务 (https://www.dashbird.io/),它指导您如何创建适当的角色,但我不确定如何实际使用该角色。如何代表他登录(没有令牌和密码)。
我正在使用 node.js,但其他示例也会有所帮助。
谢谢。
您的应用程序需要有效凭证才能访问客户 AWS 账户中的资源。这些凭据可以通过多种方式提供,但最有可能是:
- 您客户帐户中 IAM 用户 的凭据,或
- 您客户帐户中的一个 IAM 角色,他们已将其配置为允许您承担
IAM 用户
这是最简单的方法。您的客户将创建一个 IAM 用户 并为其提供适当的权限。然后他们会为您的应用程序提供与用户关联的访问密钥和秘密密钥。
您的应用程序将在与 AWS 服务建立会话时使用这些凭证。
IAM 角色
您的客户将创建一个 IAM 角色 并为其提供适当的权限。与 IAM 用户不同,IAM 角色没有凭证。相反,AWS 用户承担角色。然后,他们会获得临时凭证,可用于在该账户中使用 AWS 服务。
可以把它想象成消防员——如果办公楼发生火灾,有人会暂时承担消防员的角色,告诉人们该怎么做。发生火灾时,他们拥有权威,因为他们承担了这个角色。但是当没有火的时候,他们没有权力告诉你该怎么做。
客户需要将角色配置为信任您的帐户或您帐户中的用户。然后他们会给你角色的 ARN(亚马逊资源名称)。然后,您的应用程序使用您自己帐户中的 IAM 用户来调用 AssumeRole()
。如果该 IAM 用户(或您的整个帐户)是可信的,那么您将收到用于访问您客户帐户的凭据。
参见: