Ole*_*Ole 2 javascript amazon-s3 amazon-web-services single-page-application
根据我对如何设置对亚马逊 s3 存储桶的安全访问的回顾,我们首先生成一个 IAM 用户,然后绑定一个安全策略,允许对该用户进行 s3 访问。之后我们可以为存储桶生成 API 密钥,该密钥可以对存储桶访问请求进行身份验证。目前我的理解是这样的,如有遗漏还请指正。
我假设 API 密钥应该仅在服务器端(The Secret Access Key)。换句话说,将它们直接放在网络应用程序中不安全吗?因此,我们首先必须将数据发送到我们的服务器,然后我们可以使用 API 密钥将其发送到存储桶?
有什么方法可以确保从 Web 应用程序直接访问亚马逊 s3 存储桶的安全吗?
根据与 @CaesarKabalan 的讨论,听起来允许这样做的方法是:
1) 创建一个 IAM 用户,该用户可以创建可通过 Amazon Cognito 进行身份验证的身份 - 让我们将此步骤分配的凭证称为 Cognito 凭证。
2) 用户使用 Google 等登录 Web 应用程序
3) Web 应用程序向 Web 应用程序的服务器(可能是 lambda 函数)发出请求,以使用 Amazon Cognito 注册用户
4) Web 应用程序现在直接从 Amazon Cognito 获取用户的凭证,并使用这些凭证将数据发送到 s3 存储桶。
我认为这就是我们在概念上的处境。现在是时候进行测试了!
从你的问题来看,我不确定你的应用程序的哪些部分在AWS中,也不确定你的安全策略,但你基本上有三个选择:
很高兴回答任何更多问题或澄清。
| 归档时间: |
|
| 查看次数: |
3094 次 |
| 最近记录: |