【发布时间】:2018-07-12 07:17:59
【问题描述】:
我正在尝试向我的存储桶添加存储桶策略,因为我的存储桶位于根 aws 账户中,并且我想限制根账户下的其他用户、角色等访问我的存储桶,特定 Cognito 用户除外在我的用户池中。
我不想同时使用身份池——我只想在我的存储桶策略中将 Cognito 用户称为主体。有没有办法在不使用身份池的情况下做到这一点?我找不到任何执行此操作的示例策略。
【问题讨论】:
-
运气好吗?你是怎么解决这个问题的?
-
经过进一步研究,我认为不可能将 Cognito 用户称为策略中的主体。当 Cognito 用户使用用户池进行身份验证时,他们在客户端的应用程序中进行身份验证,not 在 AWS 中,即 Cognito 用户无权访问 AWS 资源。由于 Cognito 用户不是 AWS 范围内已知的身份,因此您不能将用户称为委托人。您需要使用联合身份为用户提供您可以引用的 IAM 角色,该角色在 AWS 范围内被理解,因此可以在策略中引用。
-
这个问题有点老了,但我只是花了几天时间试图弄清楚如何让 Cognito 用户访问 AWS 服务,并认为我至少会确认,因为 AWS 文档严重缺乏: (身份池是必需的。原因可以通过摘要from this article 轻松解释,其中写道:“Cognito 用户池存储您的所有用户,然后插入您的 Cognito 身份池,这可以让您的用户访问您的 AWS 服务。 "
标签: amazon-web-services amazon-s3 amazon-cognito amazon-iam