公开容器访问(Public Container) 要求:请将 Alice 的一个容器设置为公开访问(读取)容器,任意用户,如相同租户(Project)或不 同租户的用户,无需 Token 即可访问 Alice 此公开容器的对象列表,并可下载对象。 参考操作: 1. 权限设置操作:swift post PublicContainer --read-acl ".r:*,.rlistings" 请设计实验,完成如下验证操作。 1. 使用 Alice 的凭据创建容器 PublicContainer,上传任意文件,并完成容器公开访问(读取)设置。 2. 验证 Bob 可用显示 Alice 公开的容器中的对象列表。 3. 验证 Bob 可用从 Alice 公开的容器中下载对象。
时间: 2024-03-01 13:53:16 浏览: 8
好的,我理解您的要求了。以下是实验步骤:
1. 使用 Alice 的凭据创建容器 PublicContainer,上传任意文件,并完成容器公开访问(读取)设置。
首先,您需要使用 Alice 的凭据登录到 Swift 对象存储服务中,并创建名为 PublicContainer 的容器。您可以在控制台或使用命令行工具完成此操作。假设您使用的是命令行工具,那么您可以按照以下步骤进行:
```
# 登录到 Swift 对象存储服务
swift auth
# 创建名为 PublicContainer 的容器
swift post PublicContainer
# 上传文件到 PublicContainer 中
swift upload PublicContainer file.txt
# 完成容器公开访问(读取)设置
swift post PublicContainer --read-acl ".r:*,.rlistings"
```
在上面的命令中,`swift post PublicContainer --read-acl ".r:*,.rlistings"` 表示将容器 PublicContainer 的读取权限设置为公开,任何用户都可以读取容器中的对象列表,并可以下载对象。
2. 验证 Bob 可以显示 Alice 公开的容器中的对象列表。
现在,您可以使用其他用户 Bob 的凭据登录到 Swift 对象存储服务中,并尝试显示 Alice 公开的容器 PublicContainer 中的对象列表。您可以使用控制台或命令行工具完成此操作。如果您使用的是命令行工具,那么您可以按照以下步骤进行:
```
# 登录到 Swift 对象存储服务
swift auth
# 显示 PublicContainer 中的对象列表
swift list PublicContainer
```
如果您看到了 PublicContainer 中上传的文件列表,那么说明 Bob 可以显示 Alice 公开的容器中的对象列表。
3. 验证 Bob 可以从 Alice 公开的容器中下载对象。
最后,您可以让 Bob 尝试从 Alice 公开的容器 PublicContainer 中下载对象。同样,您可以使用控制台或命令行工具完成此操作。如果您使用的是命令行工具,那么您可以按照以下步骤进行:
```
# 登录到 Swift 对象存储服务
swift auth
# 下载 PublicContainer 中的文件
swift download PublicContainer file.txt
```
如果您成功下载了 PublicContainer 中上传的文件,那么说明 Bob 可以从 Alice 公开的容器中下载对象。
恭喜您完成了这个实验!