OpenShift Container Storage is now OpenShift Data Foundation starting with version 4.9.
10.7. Multicloud 对象网关中的存储桶策略
OpenShift Data Foundation 支持 AWS S3 存储桶策略。bucket 策略允许您为用户授予存储桶及其对象的访问权限。
10.7.1. 关于存储桶策略 复制链接链接已复制到粘贴板!
bucket 策略是一个访问策略选项,可供您向 AWS S3 存储桶和对象授予权限。bucket 策略使用基于 JSON 的访问策略语言。有关访问策略语言的更多信息,请参阅AWS 访问策略语言概述。
10.7.2. 使用存储桶策略 复制链接链接已复制到粘贴板!
先决条件
- 正在运行的 OpenShift Data Foundation 平台。
- 访问 Multicloud 对象网关(MCG),请参阅 第 10.2 节 “使用应用程序访问多云对象网关”
流程
在 MCG 中使用存储桶策略:
以 JSON 格式创建 bucket 策略。请参见以下示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow bucket 策略有许多可用元素,与访问权限有关。
有关这些元素的详细信息,以及如何使用它们控制访问权限的示例,请参阅 AWS 访问策略语言概述。
如需存储桶策略的更多示例,请参阅 AWS Bucket 策略示例。
有关创建 S3 用户的说明,请参阅 第 10.7.3 节 “在 Multicloud 对象网关中创建 AWS S3 用户”。
使用 AWS S3 客户端,使用
put-bucket-policy命令将存储桶策略应用到 S3 存储桶:aws --endpoint ENDPOINT --no-verify-ssl s3api put-bucket-policy --bucket MyBucket --policy BucketPolicy
# aws --endpoint ENDPOINT --no-verify-ssl s3api put-bucket-policy --bucket MyBucket --policy BucketPolicyCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
ENDPOINT替换为 S3 端点。 -
将
MyBucket替换为 bucket,以设置策略。 -
将
BucketPolicy替换为 bucket 策略 JSON 文件。 如果您使用默认的自签名证书,请添加
--no-verify-ssl。例如:
aws --endpoint https://s3-openshift-storage.apps.gogo44.noobaa.org --no-verify-ssl s3api put-bucket-policy -bucket MyBucket --policy file://BucketPolicy
# aws --endpoint https://s3-openshift-storage.apps.gogo44.noobaa.org --no-verify-ssl s3api put-bucket-policy -bucket MyBucket --policy file://BucketPolicyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如需有关
put-bucket-policy命令的更多信息,请参阅有关 put-bucket-policy 的 AWS CLI 命令参考。注意principal 元素指定允许或拒绝访问某一资源的用户,如存储桶。目前,只有 NooBaa 帐户才能用作主体。对于对象存储桶声明,NooBaa 会自动创建一个帐户
obc-account.<generated bucket name>@noobaa.io。注意不支持 bucket 策略条件。
-
将
10.7.3. 在 Multicloud 对象网关中创建 AWS S3 用户 复制链接链接已复制到粘贴板!
先决条件
- 正在运行的 OpenShift Data Foundation 平台。
- 访问 Multicloud 对象网关(MCG),请参阅 第 10.2 节 “使用应用程序访问多云对象网关”
流程
-
在 OpenShift Web 控制台中,点 Storage
Data Foundation。 - 在 Status 卡中,单击 Storage System,再单击弹出窗口中的 storage 系统链接。
- 在 Object 选项卡中,点 Multicloud Object Gateway 链接。
在 Accounts 选项卡下,单击 Create Account。
选择 S3 Access Only,提供 帐户名称,例如 john.doe@example.com。点 Next。
选择 S3 默认放置,例如 noobaa-default-backing-store。选择 Buckets Permissions。可以选择特定的存储桶或所有存储桶。点击 Create。