如何在 Openstack Swift 容器中禁用对象列表

How to disable object lists in Openstack Swift container

我们正在使用 Openstack 对象存储 (SWIFT) 来存储大文件
当我们使用浏览器导航到容器时,它列出了所有属于的对象。
文档位于:https://developer.openstack.org/api-ref/object-storage/?expanded=#show-container-details-and-list-objects
我们不希望客户可以通过安全浏览此列表文件 我们怎样才能禁用它?

可能您的容器具有 header "X-Container-Read" 值:

.r:*,.rlistings

其中:
.r:* => public 阅读
.rlistings => public 列表

您应该删除 public 列表 conf,更新 header "X-Container-Read"。

使用 curl,它会是这样的:

curl -X POST -H 'X-Auth-Token: <token-id>'  -H 'X-Container-Read: .r:*' <AdminURL>/<container>

使用 python-swiftclient,此语法应该有效:

swift post --read-acl .r:* container

顺便说一句,请记住设置环境变量或在命令行上告知您的凭据以正确使用 python-swiftclient。

PS: 不会删除阅读权限,只删除列表权限