11.6. Multicloud 对象网关中的存储桶策略
OpenShift Data Foundation 支持 AWS S3 存储桶策略。bucket 策略允许您为用户授予存储桶及其对象的访问权限。
11.6.1. bucket 策略简介 复制链接链接已复制到粘贴板!
bucket 策略是一个访问策略选项,可供您向 AWS S3 存储桶和对象授予权限。bucket 策略使用基于 JSON 的访问策略语言。有关访问策略语言的更多信息,请参阅AWS 访问策略语言概述。
11.6.2. 在 Multicloud 对象网关中使用存储桶策略 复制链接链接已复制到粘贴板!
先决条件
- 正在运行的 OpenShift Data Foundation 平台。
- 访问 Multicloud 对象网关(MCG),请参阅 第 11.2 节 “使用应用程序访问多云对象网关”。
- 有效的 Multicloud 对象网关用户帐户。有关创建用户帐户的说明 ,请参阅在 Multicloud 对象网关中创建用户。
流程
在 MCG 中使用存储桶策略:
以 JSON 格式创建 bucket 策略。
例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用有效的 Multicloud Object Gateway 用户帐户替换
john.doe@example.com
。使用 AWS S3 客户端,使用
put-bucket-policy
命令将存储桶策略应用到 S3 存储桶:aws --endpoint ENDPOINT --no-verify-ssl s3api put-bucket-policy --bucket MyBucket --policy file://BucketPolicy
# aws --endpoint ENDPOINT --no-verify-ssl s3api put-bucket-policy --bucket MyBucket --policy file://BucketPolicy
Copy 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://BucketPolicy
Copy 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 策略条件。
-
将
其他资源
- bucket 策略有许多可用元素,与访问权限有关。
- 有关这些元素的详细信息,以及如何使用它们控制访问权限的示例,请参阅 AWS 访问策略语言概述。
- 如需存储桶策略的更多示例,请参阅 AWS Bucket 策略示例。
11.6.3. 在 Multicloud 对象网关中创建用户 复制链接链接已复制到粘贴板!
先决条件
- 正在运行的 OpenShift Data Foundation 平台。
下载 MCG 命令行界面以简化管理。
subscription-manager repos --enable=rh-odf-4-for-rhel-8-x86_64-rpms yum install mcg
# subscription-manager repos --enable=rh-odf-4-for-rhel-8-x86_64-rpms # yum install mcg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意指定使用订阅管理器启用存储库的适当架构。
- 对于 IBM Power,使用以下命令:
subscription-manager repos --enable=rh-odf-4-for-rhel-8-ppc64le-rpms
# subscription-manager repos --enable=rh-odf-4-for-rhel-8-ppc64le-rpms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 对于 IBM Z,使用以下命令:
subscription-manager repos --enable=rh-odf-4-for-rhel-8-s390x-rpms
# subscription-manager repos --enable=rh-odf-4-for-rhel-8-s390x-rpms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,您也可以从 下载红帽 OpenShift Data Foundation 页面上的 OpenShift Data Foundation RPM 安装 MCG 软件包。
注意根据您的架构选择正确的产品变体。
流程
执行以下命令创建一个 MCG 用户帐户:
noobaa account create <noobaa-account-name> [--allow_bucket_create=true] [--default_resource='']
noobaa account create <noobaa-account-name> [--allow_bucket_create=true] [--default_resource='']
<noobaa-account-name>
- 指定新 MCG 用户帐户的名称。
--allow_bucket_create
- 允许用户创建新存储桶。
--default_resource
- 设置默认资源。新存储桶在此默认资源(包括将来的资源)上创建新的 bucket。
要授予对 MCG 帐户的某些存储桶的访问权限,请使用 AWS S3 存储桶策略。如需更多信息,请参阅 AWS 文档中的使用存储桶策略。