7.5. Multicloud Object Gateway のバケットポリシー
OpenShift Container Storage は AWS S3 バケットポリシーをサポートします。バケットポリシーにより、ユーザーにバケットとそれらのオブジェクトのアクセスパーミッションを付与することができます。
7.5.1. バケットポリシーについて
バケットポリシーは、AWS S3 バケットおよびオブジェクトにパーミッションを付与するために利用できるアクセスポリシーオプションです。バケットポリシーは JSON ベースのアクセスポリシー言語を使用します。アクセスポリシー言語についての詳細は、「AWS Access Policy Language Overview」を参照してください。
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 s3api put-bucket-policy --bucket MyBucket --policy BucketPolicy
MyBucket
を、ポリシーを設定するバケットに置き換えます。BucketPolicy
をバケットポリシー JSON ファイルに置き換えます。以下は例になります。
# aws s3api put-bucket-policy --bucket MyBucket --policy file://BucketPolicy
put-bucket-policy
コマンドについての詳細は、「AWS CLI Command Reference for put-bucket-policy」を参照してください。
Noobaa アカウントプリンシパルのみがサポートされます。
バケットポリシー条件はサポートされていません。
7.5.3. Multicloud Object Gateway での AWS S3 ユーザーの作成
前提条件
- 実行中の OpenShift Container Storage Platform
- Multicloud Object Gateway へのアクセス。「アプリケーションの使用による Multicloud Object Gateway へのアクセス」を参照してください。
手順
OpenShift Storage コンソールで、
Dashboards
→OCS Object Service
に移動し、noobaa
リンクを選択します。Accounts
タブで、Create Account
をクリックします。S3 Access Only
を選択し、Account Name
を指定します (例: john.doe@example.com)。Next をクリックします。S3 default placement
を選択します (例: noobaa-default-backing-store)。Buckets Permissions
を選択します。特定のバケットまたはすべてのバケットを選択できます。Create
をクリックします。