8.2. バケットポリシーの使用
前提条件
- 実行中の OpenShift Data Foundation Platform。
- Multicloud Object Gateway (MCG) へのアクセス。2章アプリケーションの使用による 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" ] } ] }
アクセスパーミッションに関して、バケットポリシーには数多くの利用可能な要素があります。
これらの要素の詳細と、それらを使用してアクセスパーミッションを制御する方法の例は、AWS Access Policy Language Overview を参照してください。
バケットポリシーの他の例については、AWS Bucket Policy Examples を参照してください。
S3 ユーザーの作成方法については、「Multicloud Object Gateway での AWS S3 ユーザーの作成」 を参照してください。
AWS S3 クライアントを使用して
put-bucket-policy
コマンドを使用してバケットポリシーを S3 バケットに適用します。# aws --endpoint ENDPOINT --no-verify-ssl s3api put-bucket-policy --bucket MyBucket --policy 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
を自動的に作成します。注記バケットポリシー条件はサポートされていません。
-