首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >签名的URL,用于在桶中列出和下载对象

签名的URL,用于在桶中列出和下载对象
EN

Stack Overflow用户
提问于 2021-04-23 02:59:29
回答 2查看 506关注 0票数 0

我试图给予未经身份验证的访问权限(时间限制),以列出和下载对象的谷歌存储桶,并发现签名的URL可以做到这一点。但是有符号的URL对于单个对象是好的,它们在文档https://cloud.google.com/storage/docs/access-control/signed-urls#considerations中已经提到过了。

在使用签名URL时,请记住以下几点: 签名URL只能用于通过XML端点访问云存储资源。 通常可以为任何XML请求创建有符号URL;但是,Node.js云存储客户端库目前只能为单个对象创建签名URL。例如,它不能用于在桶中列出对象的签名URL。

在Node.js、Python或任何其他客户端库中,或者通过手动创建签名urls,我可以与用户共享链接,以便用户浏览存储桶并下载所需的对象,有什么方法吗?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2021-04-23 05:56:54

简单的回答不是。

但我可以解释原因。事实上,您必须理解为什么签名的URL是伟大和有用的。

我举一个例子。您有一个1Tb文件,请求者希望下载它。你有两个解决方案

  • 在服务器上本地下载文件,然后让用户从服务器下载文件。
  • 让用户直接从原始位置(云存储)下载文件。

在第一种解决方案中,用户已经在服务器上进行了身份验证,很容易让他们安全地下载文件。但是,在用户下载文件之前,您需要一个巨大的临时存储空间来临时存储该文件。

在第二种解决方案中,没有存储问题(因此也适用于无服务器解决方案、云运行、云函数和App ),但是您需要委派下载文件的授权:这是签名URL的目的。

现在,回到您的用例:您希望委派文件列表功能。为什么?因为你有存储问题?性能问题?还是为了方便?

因为这个解决方案没有解决任何问题,所以它还没有实现。因此,您需要直接从服务器提供文件列表,然后使用签名的URL将下载委托给用户,用户已经选择了他们想要的文件。

编辑1

您需要有一个谷歌身份(用户帐户或服务帐户),由IAM服务授权,以访问您的桶信息。

但是,如果您有一个非google管理的身份令牌,您可以使用它的一个新功能。你可以使用工作负载标识池.

其想法如下:

  • 配置提供程序,以便从您拥有的标识令牌中提取正确的数据。
  • 将标识令牌声明和服务帐户之间的映射配置为模拟
  • 模拟服务帐户,从它生成访问令牌,然后使用该令牌访问服务帐户上授予的所有API。

我没有找到可以使用的功能,但它的工作原理很好,符合您的要求!

票数 1
EN

Stack Overflow用户

发布于 2021-04-23 09:51:16

您不能为此使用签名URL。您可以在存储桶上给用户帐户真正的权限,但是可以使用有条件IAM政策使其成为临时的,就像在这个例子中一样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67228783

复制
相关文章
在Linux中,如何列出和删除 Iptables 防火墙规则?
当涉及到网络安全时,防火墙是一个至关重要的组成部分。Iptables 是一种常用的防火墙解决方案,可以帮助管理员保护他们的系统免受恶意攻击。本文将详细介绍如何列出和删除 Iptables 防火墙规则,以帮助您更好地管理系统的安全性。
网络技术联盟站
2023/06/17
1.8K0
在Linux中,如何列出和删除 Iptables 防火墙规则?
S3对象存储获取预签名URL | Golang
最近学习使用对象存储,自然要学习一下 Amazon S3,同时最近学了一下Golang,简单记录一下学习使用 AWS SDK for Go V2 生成文件预签名URL,
ZGGSONG
2022/09/09
2.4K1
S3对象存储获取预签名URL | Golang
最近学习使用对象存储,自然要学习一下 Amazon S3,同时最近学了一下Golang,简单记录一下学习使用 AWS SDK for Go V2 生成文件预签名URL,
ZGGSONG
2022/07/21
3.2K0
java中的UrlReWriter(url重写)_源码下载
==============================================
Hongten
2018/09/13
2.1K0
java中的UrlReWriter(url重写)_源码下载
在 Kubernetes 中检查镜像签名
之前连续写了几篇 Shell Operator 的东西,后来又写了一篇 cosign 的介绍,细心的读者可能会猜到,最终我的目的就是会用 Shell Operator 结合 cosign 来检查镜像的签名,以此保障镜像的完整性——是的,这个过程相当容易。
崔秀龙
2021/04/25
1.2K0
腾讯.对象储存C#这一个就够了
Asp.Net Core 5.0/6.0对象储存扩展包,支持Minio自建对象储存、腾讯云COS、。支持OSS常规操作,比如储存桶创建,删除、对象上传、下载、生成签名URL等。支持.NET 5/6,也推荐升级至.NET 5/6.
郑子铭
2022/03/22
4.1K0
腾讯.对象储存C#这一个就够了
java解析url的链接和参数_java根据url下载图片
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/193286.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
2.1K0
在 Kubernetes 中检查镜像签名
之前连续写了几篇 Shell Operator 的东西,后来又写了一篇 cosign 的介绍,细心的读者可能会猜到,最终我的目的就是会用 Shell Operator 结合 cosign 来检查镜像的签名,以此保障镜像的完整性——是的,这个过程相当容易。
CNCF
2021/05/07
9310
使用VBA在工作表中列出所有定义的名称
有时候,工作簿中可能有大量的命名区域。然而,如果名称太多,虽然有名称管理器,可能名称的命名也有清晰的含义,但查阅起来仍然不是很方便,特别是想要知道名称引用的区域时,如果经常要打开名称管理器查找命名区域,会非常麻烦,也浪费时间。
fanjy
2022/11/16
6.6K0
在HTML网页中巧用URL
首先,先放出一个地址给大家测试 http://cnbruce.com/test/htmlpro/?name=cnbruce&email=cnbruce@126.com 1,时下流行的(可能是吧,因为最
Java架构师必看
2021/03/22
1.7K0
url中的 #、?的作用和意义
https://blog.csdn.net/weixin_43582101/article/details/90416944
李玺
2021/11/22
5.5K0
url中的 #、?的作用和意义
使用ACL,轻松管理对存储桶和对象的访问!
访问控制与权限管理是腾讯云对象存储 COS 最实用的功能之一,经过开发者的总结沉淀,已积累了非常多的最佳实践。读完本篇,您将了解到如何通过ACL,对存储桶和对象进行访问权限设置。
云存储
2020/05/26
2.2K0
使用ACL,轻松管理对存储桶和对象的访问!
对象存储签名生成
import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.security.MessageDigest; public class Authorization { private static final Charset UTF8 = StandardC
_12291_721
2021/04/27
3.6K0
encodeURIComponent()函数在url传参中的作用和使用方法
在使用 URL 传参的时候,如果参数中有空格等特殊字符,浏览器可能只会读取到空格面前的内容,导部分致数据丢失。
德顺
2020/10/30
11.4K0
java中的签名和证书那些事
数字签名,简单来说就是通过提供 可鉴别 的 数字信息 验证 自身身份 的一种方式。一套 数字签名 通常定义两种互补的运算,一个用于 签名,另一个用于 验证。分别由 发送者 持有能够 代表自己身份 的 私钥 (私钥不可泄露),由 接受者 持有与私钥对应的 公钥 ,能够在 接受 到来自发送者信息时用于 验证 其身份。签名 最根本的用途是要能够唯一 证明发送方的身份,防止 中间人攻击、CSRF跨域身份伪造。基于这一点在诸如 设备认证、用户认证、第三方认证 等认证体系中都会使用到签名算法。
山行AI
2019/06/28
1.6K0
URL 中的 headers 和参数探究
最近在工作中碰到一个这样的问题,在做 Postman 请求的时候,Postman 返回的提示要求输入一个 token 来验证身份。开始我将这个 token 放在请求参数(request parameters)中,Postman 仍然提示我没有加入 token。后来经过同事提醒才知道,原来这个 token 需要放入标头(headers)中,这样才顺利完成了 Postman 的请求。那为什么这个 token 需要放入 headers 中,在链接(URL)中什么时候应该使用 headers 的参数什么时候又应该使用 URL 的请求参数呢?下面让我们一起带着问题来继续阅读。
airmelt
2022/12/02
3.3K0
微信设置 在浏览器中打开 用于下载app单页
文章时间:2019年2月14日 00:18:24 解决问题:在微信内置浏览器中,点击下载,弹出提示框,提示在浏览器中打开 第一步 判断微信的ua var ua = navigator.userAgent; var isWeixin = !!/MicroMessenger/i.test(ua); 第二步 引入默认的隐藏层 <a href="http://nooss.cn/test.apk" id="JdownApp">点击下载APP</a> <a href="http://nooss.cn/test
华创信息技术
2019/11/08
1.7K0
在CRI运行中验证容器镜像签名
Kubernetes社区自v1.24版本开始对其基于容器镜像的工件进行签名。随着v1.26版本中相应增强功能从alpha版本升级为beta版本,引入了对二进制工件的签名。其他项目也采用了这种方法,为其发布提供了镜像签名。这意味着它们可以在自己的CI/CD流水线中创建签名,例如使用GitHub Actions,或者依靠Kubernetes镜像推广流程通过向k/k8s.io存储库提交拉取请求来自动签名镜像。使用此流程的要求是项目必须是kubernetes或kubernetes-sigs GitHub组织的一部分,以便利用社区基础设施将镜像推送到暂存存储桶中。
灵雀云
2023/08/09
4560
在CRI运行中验证容器镜像签名
在URL中实现简易的WebAPI验签
简易的 API url 签名验证中间件,通过简单的url参数验证请求是否合法。思路是按照微信公众平台的验证消息的确来自微信服务器[1]的方式来实现的。
桑榆肖物
2022/11/18
1.1K0
在URL中实现简易的WebAPI验签
点击加载更多

相似问题

通过签名URI在S3桶中列出对象版本

10

在aws桶中列出对象

25

签名的CloudFront URL用于S3桶

11

列出桶目录中的对象

11

用于下载和上载的Boto3预签名URL

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文