7.5.2. バケットポリシーの使用
前提条件
- 実行中の OpenShift Container Storage Platform
- Multicloud Object Gateway へのアクセス。を参照してください。 「アプリケーションの使用による Multicloud Object Gateway へのアクセス」
手順
Multicloud Object Gateway でバケットポリシーを使用するには、以下を実行します。
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 BucketPolicyENDPOINTを 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://BucketPolicyput-bucket-policyコマンドについての詳細は、「AWS CLI Command Reference for put-bucket-policy」を参照してください。
主となる要素では、リソース (バケットなど) へのアクセスを許可または拒否されるユーザーを指定します。現在、NooBaa アカウントのみがプリンシパルとして使用できます。Object Bucket Claim (オブジェクトバケット要求) の場合、NooBaa はアカウント obc-account.<generated bucket name>@noobaa.io を自動的に作成します。
バケットポリシー条件はサポートされていません。