7.2. 在 Multicloud 对象网关中使用存储桶策略
先决条件
- 正在运行的 OpenShift Data Foundation 平台。
- 访问 Multicloud 对象网关(MCG),请参阅 第 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 策略示例。