7.2. Multicloud Object Gateway でのバケットポリシーの使用
前提条件
- 実行中の OpenShift Data Foundation Platform。
- Multicloud Object Gateway (MCG) へのアクセス。2章アプリケーションの使用による Multicloud Object Gateway へのアクセス を参照してください。
- 有効な Multicloud Object Gateway ユーザーアカウント。ユーザーアカウントを作成する手順は、Multicloud Object Gateway でのユーザーの作成 を参照してください。
手順
MCG でバケットポリシーを使用するには、以下を実行します。
JSON 形式でバケットポリシーを作成します。
以下に例を示します。
{ "Version": "NewVersion", "Statement": [ { "Sid": "Example", "Effect": "Allow", "Principal": [ "john.doe@example.com" ], "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::john_bucket" ] } ] }
john.doe@example.com
は、有効な Multicloud Object Gateway ユーザーアカウントに置き換えます。AWS S3 クライアントを使用して
put-bucket-policy
コマンドを使用してバケットポリシーを S3 バケットに適用します。# aws --endpoint ENDPOINT --no-verify-ssl s3api put-bucket-policy --bucket MyBucket --policy file://BucketPolicy
-
ENDPOINT
を S3 エンドポイントに置き換えます。 -
MyBucket
を、ポリシーを設定するバケットに置き換えます。 -
BucketPolicy
をバケットポリシー 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
put-bucket-policy
コマンドの詳細は、AWS CLI Command Reference for put-bucket-policy を参照してください。注記主となる要素では、リソース (バケットなど) へのアクセスを許可または拒否されるユーザーを指定します。現在、NooBaa アカウントのみがプリンシパルとして使用できます。Object Bucket Claim (オブジェクトバケット要求) の場合、NooBaa はアカウント
obc-account.<generated bucket name>@noobaa.io
を自動的に作成します。注記バケットポリシー条件はサポートされていません。
-
関連情報
- アクセスパーミッションに関して、バケットポリシーには数多くの利用可能な要素があります。
- これらの要素の詳細と、それらを使用してアクセスパーミッションを制御する方法の例は、AWS Access Policy Language Overview を参照してください。
- バケットポリシーの他の例については、AWS Bucket Policy Examples を参照してください。
-
OpenShift Data Foundation バージョン 4.16 で、バケットポリシー要素
NotPrincipal
、NotAction
、NotResource
が導入されました。これらの要素の詳細は、IAM JSON policy elements reference を参照してください。