1

我在 AWS 中管理多个账户:我们作为客户拥有的每家公司都有自己的组织,并且它们附加了一些 AWS 资源。

目前,用户使用 Cognito 以用户名和电子邮件登录(我们的根帐户上有一个池)并获得 JWT 令牌。此令牌中的信息之一是客户账户中用户的 aws_access_id 和 AWS_SECRET_ACCESS_KEY。然后,当他们在我们的 api 中发出请求时,他们使用这个令牌,我可以向 aws api 发出请求。

这是一个糟糕的设计,因为令牌可以很容易地解码,然后任何人都可以获得他们帐户的 aws 凭证(它们没有被编码)。

现在,我不知道如何改善流程……保持 Cognito 会很好,但保护我的代币非常重要。你有什么建议?

编辑:我尝试使用身份池。使用身份池,您可以使用 cognito 连接电子邮件/密码,并接收授予特定角色访问权限的 aws 凭证。然后,此角色可以访问另一个帐户的资源。您“只”需要为每个帐户创建一个角色。我看到的问题是直接向我的客户提供访问、秘密、会话。有什么选择吗?

4

0 回答 0