7.5. Multicloud Object Gateway のバケットポリシー

OpenShift Container Storage は AWS S3 バケットポリシーをサポートします。バケットポリシーにより、ユーザーにバケットとそれらのオブジェクトのアクセスパーミッションを付与することができます。

7.5.1. バケットポリシーについて

バケットポリシーは、AWS S3 バケットおよびオブジェクトにパーミッションを付与するために利用できるアクセスポリシーオプションです。バケットポリシーは JSON ベースのアクセスポリシー言語を使用します。アクセスポリシー言語についての詳細は、「AWS Access Policy Language Overview」を参照してください。

7.5.2. バケットポリシーの使用

前提条件

手順

Multicloud Object Gateway でバケットポリシーを使用するには、以下を実行します。

  1. 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 ユーザーの作成」を参照してください。

  2. 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 を自動的に作成します。

注記

バケットポリシー条件はサポートされていません。

7.5.3. Multicloud Object Gateway での AWS S3 ユーザーの作成

前提条件

手順

  1. OpenShift Storage コンソールで、OverviewObject Service → に移動し、noobaa リンクを選択します。

    MCG オブジェクトサービス noobaa リンク
  2. Accounts タブで、Create Account をクリックします。

    MCG アカウントのアカウント作成ボタン
  3. S3 Access Only を選択し、Account Name を指定します (例: john.doe@example.com)。Next をクリックします。

    MCG create account s3 user
  4. S3 default placement を選択します (例: noobaa-default-backing-store)。Buckets Permissions を選択します。特定のバケットまたはすべてのバケットを選択できます。Create をクリックします。

    MCG create account s3 user2