AWS Cognito客户端应用程序中的凭证安全

时间:2018-07-20 11:16:37

标签: amazon-web-services webpack amazon-cognito

我正在使用AWS Cognito服务进行用户管理,按照AWS的教程,我正在使用Webpack。我定义的所有数据和函数都在entry.js中,然后运行npm run build,创建一个文件名my-app.js,必须将其作为JavaScript包含在html文件中。

现在的问题是我有UserPool IDClient IDIdentityPool ID以及一些出于安全目的无法与客户端共享的信息。

my-app.js必须包含在HTML文件中,因此要公开凭据,是否可以隐藏我的凭据或任何其他人可以建议的其他方式?我是新来的。

2 个答案:

答案 0 :(得分:1)

使用AWS Cognito API时,您必须提供UserPoolId,ClientId和IdentityPoolId-它们都是各种方法中必填的字段。因此,您将不得不在客户端的某处获取该信息。如果需要,可以尝试对其进行混淆,但这可能不值得。

从安全角度看,您关心什么?官方的AWS文档基本上暗示可以在客户端嵌入这些值。我还没有从Amazon看到过任何描述与尝试隐藏/保护用户/身份池ID有关的最佳实践的信息。即使攻击者拥有UserPoolId和ClientId,他们仍然需要用户名/密码才能访问您的服务。

答案 1 :(得分:0)

您可以检查最近启动的“ AWS秘密管理器”服务。 到目前为止,我还没有使用过,但是您可以分享您的经验。

通读介绍似乎可以解决您的用例。

https://aws.amazon.com/secrets-manager/