javascript - 如何显示非公开 s3 存储桶中的对象

标签 javascript amazon-web-services security amazon-s3 vue.js

我正在尝试显示非公开 S3 存储桶中的对象。为此,我必须向 AWS 提供访问 key 和 key 。

我有这个 fiddle (没有按键),但当我输入正确的按键时它不起作用:http://jsfiddle.net/jsp3wzbu/

<section ng-app data-ng-controller="myCtrl">
    <img  ng-src="{{s3url}}" id="myimg">
</section>

另外,安全性是如何处理的?我不想将访问/ secret key 存储在我的客户端代码中,因为用户会看到它。我的服务器代码将这些 key 保存在环境变量中,我担心如果我与客户端 JS 代码共享它们,那么它们就会被暴露。还有其他方法可以让我在浏览器上显示 S3 对象吗? ....服务器可以提供 base64 json 形式的图像并由客户端代码渲染它吗?

最佳答案

您可以采用多种方法来实现这一目标。

  • 使用 S3 签名网址。
  • 使用 AWS STS 从后端生成临时访问凭证。
  • 使用 AWS Cognito 联合身份生成临时访问凭证。
  • 使用 CloudFront 签名网址或 Cookie。

注意:不建议向客户端存储或发送永久 IAM 凭证。

关于javascript - 如何显示非公开 s3 存储桶中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47248649/

相关文章:

amazon-web-services - NGINX Ingress 因下载大文件而超时

php - 保护 PHP 表单和 MySQL 数据库

amazon-web-services - 为什么我在创建预算警报时收到无效的 SNS 主题 ARN

javascript - 以编程方式更改 FusionTablesLayer 的颜色

php 中的 Javascript 字符串不起作用

javascript - 如果用户按浏览器的后退按钮到达上一个页面..那么页面应该显示一条消息,如 ASP.NET 中的 "web page expired"

amazon-web-services - Cognito用户池: How to refresh Access Token using Refresh Token

c# - 如何在 SQL Server 连接字符串中隐藏用户 ID/密码?

java - Java Web Start 部署中的应用程序逻辑在哪里?

javascript - 如何创建构造函数在 javascript 中创建构造函数?