当前位置: 首页 > 知识库问答 >
问题:

值为“bucket-owner-full-control”的S3:X-AMZ-ACL/是什么意思?

方宁
2023-03-14

我一直在bucket策略示例中看到这种情况,但我不知道它是什么

"Condition": {
    "StringEquals": {
        "s3:x-amz-acl": "bucket-owner-full-control"
    }

这是否意味着用户必须添加一个具有“bucket-owner-full-control”值的标头“s3:x-amz-acl”?这是强制执行实际的acl还是任意的?它可以是任何头和字符串,或者S3:X-AMZ-ACL和bucket-owner-full-control有什么意义吗?

共有1个答案

段干靖
2023-03-14

此策略代码段要求请求包含屏蔽ACL的规范,使用标头X-AMZ-ACL(不区分大小写),值bucket-owner-full-control

对此条件的约束通常用于确保对象的所有者(始终是上传用户,不一定是bucket的所有者)不能创建bucket所有者无法读取的对象(“完全控制”是一个不幸的用词不当,因为bucket所有者已经可以删除外部对象,尽管如此,不能进一步委派对对象的权限)。

但这不是武断的。

它不是一个任意的头匹配,尽管这种功能有时可能很方便。大多数其他HTTP头不受策略条件的限制,您不能使用,例如s3:x-random-http-header条件。

有一些全局条件键,如AWS:securetransport可用于拒绝不使用HTTPS的请求,以及AWS:useragent可根据HTTPuser-agent标头进行计算,但请注意文档中的警告,这“不应用于防止未经授权的各方发出直接的AWS请求”,因为它很容易被用户代理伪造。否则,允许/拒绝与头相关的请求的选项就不多了。

与condition键不同,值字符串bucket-owner-full-control实际上不会在策略中进行验证,因为它只是一个字符串,但是如果不指定有效值,它将永远不会匹配。

 类似资料:
  • 我不能以这种方式设置acl:(同时拥有公共读取和所有者完全控制) 这里的解决方案是什么?

  • 我在读Hashmap。 HashMap的实例有两个影响其性能的参数:初始容量和负载因子。容量是哈希表中的桶数。 如果Hashmap中有10个键值对。假设Hashcode是不同的。 每个遗嘱都在一个桶里,对吗?或者一个bucket可以有多个键值对? 因为在英语中的意思是一个很大的东西,其中有许多对象可以驻留。

  • 我是XAML的新手。我想知道所有的x:和:x都是关于什么的。关于XAML的教程没有解释这一点(或者我还没有读够)。 例如: 这几行中的x是什么意思? 窗口x:Class=“WpfTutorialSamples.WPF_Application.ResourceSample” xmlns:x=“http://schemas.microsoft.com/winfx/2006/xaml“sys:字符串 x

  • Add/Delete bucket acl related api supported by FDS Version: 1.0.0 /{bucketname} PUT Summary: 修改Bucket的ACL Description: 只有Bucket的拥有者才能执行这个操作 Parameters Name Located in Description Required Schema bucke

  • Get bucket acl related api supported by FDS Version: 1.0.0 /{bucketname} GET Summary: 获取Bucket的ACL列表 Description: 必须有Bucket的READ权限才能执行该操作 Parameters Name Located in Description Required Schema bucketn

  • 描述 该操作用于获取Bucket的ACL。只有Bucket owner可以获取Bucket的ACL。 Restful 接口 参考 SDK 接口 Java SDK: getBucketAcl C++ SDK: getBucketAcl Php SDK: getBucketAcl python SDK: get_bucket_acl