- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想创建一个所谓的“预签名”URL,用于将特定对象 (PUT) 上传到 Amazon S3 存储桶。
到目前为止一切顺利。我正在使用 python 库 boto创建一个包含所有必要内容(过期、签名等)的 URL。网址如下所示:
https://<bucketname>.s3.amazonaws.com/<key>?Signature=<sig>&Expires=<expires>&AWSAccessKeyId=<my key id>&x-amz-acl=public-read
注意最后一个参数。
至少,据我所知,这限制了使用此 URL 的任何人将对象上传到特定存储桶中的特定键,并且还限制了将在对象上设置为“公共(public)读取”的固定 ACL。
虽然我最后的陈述是完全不正确的。
事实证明,如果您使用此 URL,则可以使用 x-amz-acl header(与查询字符串参数相对)执行以下操作具有相同的名称,您必须设置才能成功进行签名检查):
看来是这样
x-amz-acl=public-read
在查询字符串中,您可以设置 x-amz-acl
标题为 authenticated-read
而不是公开可读的对象,而是获取一个只能由经过身份验证的用户读取的对象。x-amz-acl QS 参数和同名 header 之间的真实 关系是什么?有没有办法限制对象的权限,即通过 PUT
上传请求所谓的“预签名”URL?
最佳答案
据我了解(我在这里可能是错的), header x-amz-acl
优先于查询字符串参数——它们的作用相同。在签名检查期间仅考虑查询字符串参数的原因仅仅是因为 header 不是策略签名检查的一部分。
This page可能对你有帮助;在创建直接上传到 S3 的表单时,它对我帮助很大。
关于python - 预签名 URL 和 x-amz-acl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13895775/
我正在尝试修改一个对象的 ACL,而不创建另一个对象。我不希望删除或覆盖当前的 ACL。每当我使用 object.setACL() 时,它都会覆盖当前的 ACL。 有没有办法保存修改后的ACL而不覆盖
我正在尝试修改一个对象的 ACL,而不创建另一个对象。我不希望删除或覆盖当前的 ACL。每当我使用 object.setACL() 时,它都会覆盖当前的 ACL。 有没有办法保存修改后的ACL而不覆盖
我在客户端和服务器之间有一个代理服务器。 我使用 XDR 读取和修改它们之间的 NFS 消息 例如,如果我想编辑文件大小并获取属性回复我使用结构和函数 GETATTR3res bool_t xdr_G
我正在考虑 RabbitMQ 在创建多用户聊天系统方面的用处。人们可以在不同的房间里聊天,一些是公共(public)的,一些是私有(private)的,还有私有(private)的。是否有可能实现私有
无法让属于“用户”组的用户访问(至少阅读)项目。我已经阅读并尝试了我在互联网上找到的几个例子,似乎没有一个工作。 我现在需要的是:允许属于“用户”组的任何用户读取名为 MYPROJECT 的项目。我有
我正在使用 mosquitto 1.4.5 版本。 我正在尝试让一个单独的插件对 mosquitto 代理的主题订阅进行 ACL 检查,并使用提供的 header 进行发布。 只是为了测试 auth
大家好,这可能是一个愚蠢的问题,但我真的对 ACL、RBAC、DAC、MAC 感到困惑...... 以具有以下用户类型的在线大学管理系统为例: 管理员 房车 教职工 学生 他们每个人都有不同的访问权限
我是环回的新手。我已经为所有用户 ($everyone) 创建了拒绝权限的 ACL。但是我可以通过 swagger 访问所有 API。有人可以解释一下吗?以下是我的 ACL。谢谢。 "acls": [
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 7 年前。 Improve
我们的应用程序使用一个组件,该组件需要我们的可执行文件所在目录中的许可证文件,它恰好是一个 .NET WinForms 应用程序,但我认为这对这个问题无关紧要。当安装在一些 XP Pro 机器上时(目
我正在使用 Web Deploy 将 Web 应用程序部署到我的主机。当使用 Publish 命令从 Visual Studio 运行时,它工作正常。当我尝试使用 MSBuild 的 web 部署进行
我刚刚开始使用 Grails,并且正在尝试配置 spring-security-acl 插件。我一直在关注official plugin tutorial但是在尝试运行我的应用程序时无法通过引导阶段(
谁能建议一种可扩展的设计模式来实现对照片和相册的访问控制,每个都有单独的隐私设置(即所有者、组成员、公开)? 我正在使用 CakePHP,我在 ACL 组件上阅读的示例似乎控制对 Controller
我一直在关注this guide加载我的菜单配置,我认为这是加载菜单的非常好的和干净的方式。 我的问题很简单,有没有办法以与配置数组和某种工厂相同的方式加载 ACL 配置? 如果没有,我如何加载 AC
New-Item -Type Directory -Path "C:\MyFolder" $Acl = Get-Acl "C:\MyFolder" $Ar = New-Object System.Se
在 android 中,我在后端使用 Parse 和 back4app.com,每当我在返回保存回调中使用 myParseobject.saveInBackground() 时,我都会收到错误消息,指
我有一个正在将数据帧写入 ADLS Gen2 存储中的文件的数据 block 笔记本。 它创建一个临时文件夹,输出文件,然后将该文件复制到一个永久文件夹。由于某种原因,该文件没有正确继承 ACL。它创
我陷入了两难的境地。我正在使用 spring-security-acl 及其 jdbc 实现。问题是,我在其他查询中使用 JPA 存储库 (Spring-data-jpa)。我认为,这没问题,因为 J
我有代码可以在“line vty”上查找“access-class”的名称 之后我能够找到 ACL,但随后我想检查 ACL 的每一行以验证“拒绝”和“允许”语句是否具有“log”关键字。如果条目上没有
我正在使用 Cloudera 的 Hadoop CDH 发行版,并且最近从 CDH3 升级到了 CDH4。 在 CDH3 中,我曾经能够将用户名添加到 hadoop-policy.xml 中,用于:
我是一名优秀的程序员,十分优秀!