nem*_*ver 5 mysql lambda amazon-web-services amazon-rds amazon-cognito
我是 AWS 新手,我确实需要这方面的帮助。我有一个现有的 RDS 架构,其中包含用户表,还有我自己的使用 JWT 的用户身份验证算法/系统。一切都很好,直到我开始将文件上传到 S3。我在上传到S3时发现了这一点。我们不能传递额外的参数,只能传递 body、key、contentType 和哪个存储桶。我想传递额外的参数,例如当前登录用户的访问令牌(用于用户验证安全)、user_id、照片标题和标题。但这是不可能的。
我应该怎么办?我应该使用 AWS Cognito 用户池而不是使用 RDS 用户吗?如果我使用 Cognito 用户池,是否可以执行 SQL 查询,例如连接 Cognito 用户和另一个 RDS 表?我很困惑。如果我听起来像个白痴,我很抱歉。但我确实需要一些帮助。
我希望有人可以。我真的很感激。预先非常感谢您。
我假设您的上传逻辑位于 Lambda 中。在这种情况下,您只需在 Lambda 函数中进行上传授权即可。通过将 IAM 策略附加到 Lambda 使用的 IAM 角色,允许 Lambda 函数将数据上传到 S3。
如果您直接从客户端上传到 S3,那么您可以在没有身份验证/授权的情况下执行此操作,也可以使用联合身份。在这种情况下,您可以将所有用户导出到 Cognito 用户池(并使它们保持同步),或者创建您自己的身份提供程序并为 Cognito 身份池注册您的用户。
最干净但可能也是最难的方法是保持身份验证,通过 OpenID、SAML 或您自己的方法与 Cognito 身份池集成(请参阅http://docs.aws.amazon.com/cognito/latest/developerguide/developer -authenticated-identities.html)。
仅当 a) 您的身份验证确实很好并且 b) 您已验证 Cognito 身份池中的用户确实满足您的要求/业务规则时,您才应该采用这种方式。
| 归档时间: |
|
| 查看次数: |
4472 次 |
| 最近记录: |