gpt4 book ai didi

amazon-web-services - AWS Amplify - 配置的安全性

转载 作者:行者123 更新时间:2023-12-03 22:07:59 27 4
gpt4 key购买 nike

在下面来自 amplify 的示例中,我们必须提供一些配置以允许 Javascript 客户端连接到 Cognito。我的假设是可以在客户端上以明文形式保存这些数据。

但是,在某些文章中,建议情况并非如此,我在官方 AWS 站点和放大站点上都没有找到关于这方面被认为是最佳实践的任何内容。

如果仅进行 JS(即不涉及后端)身份验证,在客户端处理此配置的最佳方法是什么?

import Amplify from 'aws-amplify';

Amplify.configure({
Auth: {
// REQUIRED - Amazon Cognito Identity Pool ID
identityPoolId: 'XX-XXXX-X:XXXXXXXX-XXXX-1234-abcd-1234567890ab',
// REQUIRED - Amazon Cognito Region
region: 'XX-XXXX-X',
// OPTIONAL - Amazon Cognito User Pool ID
userPoolId: 'XX-XXXX-X_abcd1234',
// OPTIONAL - Amazon Cognito Web Client ID
userPoolWebClientId: 'XX-XXXX-X_abcd1234',
}
});

最佳答案

在您的客户端配置中使用它完全没问题。事实上它是必不可少的。

ID 中没有 secret 信息,它们只是引用。暴露你的 API 端点没有什么不同,它必须完成。

您的客户端必须连接到您的 Cognito 实例。您可能会想出一些复杂的方法,通过在运行时将属性从在线商店中拉出来隐藏这些属性,但您的客户端最终仍会公开这些属性。此外,您的用户此时不会通过身份验证,因此您甚至无法保护在线商店。

此外,您的属性并不是真正可变的。它只需要一个暴露属性的实例(例如,开发人员发布它们,或者只是告诉某人)并且它们将不可逆转地丢失。试图隐藏它们是一场失败的游戏。

我建议创建一个后端服务只是为了掩盖客户端与 Cognito 的交互是一种反模式。

AWS 提供了许多开箱即用的安全功能,包括因密码使用不当而锁定帐户,以及阻止来自在短时间内进行过多调用的 IP 的调用。我相信 AWS 服务也支持 DDOS 保护(请参阅 CloudFront)。如果有人拿走你的属性(property)并试图通过账户暴力破解或 DDOS 攻击你,他们将很难实现任何目标。

关于amazon-web-services - AWS Amplify - 配置的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56178635/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com