问题标签 [pre-signed-url]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1478 浏览

amazon-s3 - S3 putObject 预签名 url 的签名无效

我正在使用 lambda 函数创建一个预签名的 url 以上传到 S3:

然后使用该网址,我尝试使用 httpie 进行 PUT 调用:

但是我得到:

lambda 以完整的 s3 访问执行角色运行,但权限不应该是这里的问题

更新:尝试上传没有内容类型标头的文件可以正常工作:

所以似乎问题出在内容类型上,但由于我没有指定它,我认为如果我上传 json 或其他任何东西,AWS 不会打扰

0 投票
0 回答
104 浏览

ios - iOS AWS SDK - 为什么只有预签名 URL 请求用于后台传输?

我真的很想获得多部分传输的所有好处,但这在后台传输中是不可能的,因为它们需要使用预签名 URL。文档说这是因为您必须为每个部分拥有单独的预签名 URL。

您知道为什么只能使用带有 iOS AWS 开发工具包的预签名 URL 来实现后台上传/下载吗?我猜这是背景 NSURLSessions 的限制。

您知道通过后台传输获得多部分优势的方法(使用 SDK)吗?

0 投票
1 回答
1111 浏览

aws-sdk - 如何使用 Ruby 的 aws-sdk 为 url 签名超过一周?

我一直在使用marcel/s3,直到我们最近不得不升级到aws-sdk(版本 2)。

我们注意到的一个变化是,我们现在不能对过期时间超过一周的 URL 进行签名,因为我们得到了一个例外:ArgumentError: expires_in value of #{X} exceeds one-week maximum.

我尝试覆盖ONE_WEEK 常量,这让我可以创建签名的 URL。问题是现在 curl 获得的 URL 我得到400响应,包括X-Amz-Expires must be less than a week (in seconds); that is, the given X-Amz-Expires must be less than 604800 seconds.

aws-sdk v2如何使用(我可以使用)在一个 URL 上签名超过一周marcel/s3?是否切换到aws-sdk v1替代方案来实现这一目标?

我注意到每个库生成的 URL 之间的区别:

  • marcel-s3: 使用AWSAccessKeyId,ExpiresSignature作为查询参数。
  • aws-sdk v2: 使用X-Amz-Algorithm, X-Amz-Credential, X-Amz-Date, X-Amz-Expires,X-Amz-SignedHeadersX-Amz-Signature作为查询参数。
0 投票
1 回答
322 浏览

amazon-s3 - 预签名的 url PUT 在后台执行 GET 请求?

使用 PUT 将图像/jpeg 上传到 s3 存储桶可以正常工作,但就在 put 之前,javascript 会抛出一个错误,指出它首先尝试使用该签名密钥 anT 请求进行 GET。当我在浏览器中检查网络时,它显示一个 OPTIONS 方法调用,状态为 200 OK,然后使用签名的 url 进行 PUT 调用,状态为 200 OK,没有 GET 调用。控制台仍然会引发 GET 错误。

任何见解将不胜感激。

0 投票
1 回答
560 浏览

odata - IdentityServer3 访问令牌验证和预签名 url

我有一个 Web API 2 OData v3 服务,它通过 IdentityServer Bearer Token Authentication / Access Token Validation 得到保护。客户端是一个 SPA 应用程序。我成功地使用 oidc-token-manager.js 库进行身份验证,并将 Authorization http 标头中的访问令牌传递给使用 XMLHttpRequest 的常规 odata crud 操作。

我的 odata 服务还支持用于上传和下载文件的流媒体。同样,对于上传文件,我可以使用 XMLHttpRequest 在 Authorization http 标头中传递访问令牌。

但是,要下载文件,我想使用带有 href 的锚标记(odata 文件下载 url 通常采用 /odata/myfiles(1)/$value 格式)。当用户单击链接时,它应该下载文件(odata 服务将内容处置附件标头添加到响应中)。

但是,无法在此 GET 请求的 Authorization 标头中添加访问令牌,因为它是由浏览器创建的。是否可以将访问令牌作为查询字符串添加到 href 中的 url(所谓的预签名 url)?这甚至是一个好(安全)的想法吗?在我在 Startup.cs 中使用 app.UseIdentityServerBearerTokenAuthentication 的服务器上,这是否能够在查询字符串中查找访问令牌以及 Authorization http 标头?

非常感谢

雷姆科

0 投票
5 回答
26396 浏览

javascript - 如何使用预签名的 url 将对象放入 amazon s3?

我正在尝试使用签名的 url 将图像上传到 s3 存储桶。以下是我的存储桶策略:

我正在从服务器生成签名的 url,如下所示:

我得到了网址。但是当我尝试放置一个对象时,我收到以下错误:

更新 1

这是 myuser 的政策:

更新 2 我只能在设置以下选项时上传。如果仅手动选择权限工作,我不明白存储桶策略的用途。

所有人的许可

更新 3

以下代码有效。现在唯一的问题是签名的网址

0 投票
0 回答
382 浏览

java - 如何从 s3Object 创建 GeneratePresignedUrlRequest?

我正在尝试使用 Java 和 AWS 进行加密。我正在尝试创建一个可以允许下载解密文件的 url。我正在使用客户端对称密钥。

http://docs.aws.amazon.com/AmazonS3/latest/dev/encrypt-client-side-symmetric-master-key.html

加密过程工作得很好。但我无法获得解密文件的 url。

现在,这正在工作

但我需要GeneratePresignedUrlRequest,然后我得到这样的网址:

我试图实例化一个新的GeneratePresignedUrlRequest. 然后我创建一个 url,但我可以通过这种方式访问​​加密文件。

我猜我需要用我s3Object的来创建解密文件的 url。我很感激任何帮助。

0 投票
0 回答
885 浏览

amazon-s3 - 如何使用 S3 预签名 url 指定服务器端加密?

这是一个 S3 问题,因此我将其发布在此处,而不是在 Salesforce stackexchange 中。

基本上,我的 Salesforce 代码会为 S3 生成预​​签名的 url。这些被前端用于上传和下载文件。

这是完美的工作。现在我们需要指定 SSE(服务器端加密)。根据文档,SSE-S3 不适用于预签名的 url。

http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html

所以我必须将 SSE 与客户生成的密钥一起使用。 http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html

这里的文字是这样说的: 创建预签名 URL 时,您必须在签名计算中使用 x-amz-server-side​-encryption​-customer-algorithm 指定算法。

这就是我计算签名的方式,并且在没有加密的情况下将文件上传和下载到存储桶中可以正常工作。

所以我的问题是如何在这个签名计算中添加“x-amz-server-side​-encryption​-customer-algorithm”。

提前致谢!

0 投票
1 回答
158 浏览

android - 由于某些 ssl 证书问题,使用签名 url 中断将媒体上传到云?

我正在尝试使用签名 URL 将视频文件上传到云存储。HTTP put 方法用于上传。当我尝试使用“HttpsUrl` 连接”进行连接时,它会返回一些错误,例如javax.net.ssl.SSLHandshakeException: Handshake failed。我该如何解决这个问题?这是我的代码:

堆栈跟踪是这样的

0 投票
2 回答
4473 浏览

amazon-web-services - 什么是“aws_security_token”用于

我想在 AWS S3 中使用预签名 URL。我注意到的是预签名的 URL 包括aws_access_key_idaws_security_token.

据我了解,这aws_security_token是 URL 的一部分,因为我使用的是临时安全凭证,并且需要正确签署 URL。

但是提供 URL 是否可以让我们说前端客户端下载图像?这aws_security_token是 URL 的一部分(未加密)。我担心安全性,我无法弄清楚令牌的用途是什么。以及攻击者可以用我aws_access_key_id的和aws_security_token.