ONTAP 9.13

to English version

S3クライアント ユーザーの有効化

S3クライアント ユーザーがNASデータにアクセスできるようにするには、S3ユーザー名を対応するNASユーザーにマッピングし、バケット サービス ポリシーを使用してNASデータへのアクセス権を付与する必要があります。

開始する前に

クライアント アクセス用のユーザー名(Linux / UNIX、Windows、S3クライアント ユーザー)を用意しておく必要があります。

タスク概要

S3ユーザー名を対応するLinux / UNIXユーザーまたはWindowsユーザーにマッピングすると、S3クライアントがNASファイルにアクセスしたときに該当ファイルに対する認証チェックが実施されます。S3からNASへのマッピングを作成するには、S3ユーザー名のパターン(単一の名前またはPOSIXの正規表現)を[Pattern]に、置換するLinux / UNIXユーザー名またはWindowsユーザー名を[Replacement]に指定します。

ネームマッピングがないとデフォルトのネームマッピングが使用され、S3ユーザー名自体がUNIXユーザー名およびWindowsユーザー名として使用されます。UNIXおよびWindowsのデフォルトのユーザー名マッピングを変更するには、vserver object-store-server modifyコマンドを使用します。

サポートされるのはローカルのネームマッピング構成のみで、LDAPはサポートされません。

S3ユーザーをNASユーザーにマッピングしたら、ユーザーに権限を付与し、アクセスを許可するリソース(ディレクトリーおよびファイル)と実行を許可する / 許可しない操作を指定します。

ONTAP System Manager
  1. UNIXクライアントまたはWindowsクライアント(あるいはその両方)のローカル ネームマッピングを作成します。

    1. [ストレージ] > [バケット]の順にクリックし、S3 / NAS対応のStorage VMを選択します。

    2. [設定]を選択し、[ホストのユーザとグループ][ネームマッピング]right arrowをクリックします。

    3. [S3からWindows]タイルまたは[S3からUNIX]タイル(あるいはその両方)で、[追加]をクリックし、[パターン](S3)および[リプレースメント](NAS)に目的のユーザー名を入力します。

  2. クライアント アクセスを提供するバケット ポリシーを作成します。

    1. [ストレージ] > [バケット]の順にクリックし、目的のS3バケットの横にあるkebab iconをクリックして[編集]をクリックします。

    2. [追加]をクリックし、値を入力します。

      • プリンシパル - S3ユーザー名を指定するか、デフォルト(すべてのユーザー)を使用します。

      • 許可/拒否 - [許可]または[拒否]を選択します。

      • アクション - 該当するユーザーとリソースに対する操作を入力します。オブジェクト ストア サーバーで現在S3 NASバケット向けにサポートされているリソース操作は、GetObject、PutObject、DeleteObject、ListBucket、GetBucketAcl、GetObjectAcl、GetObjectTagging、PutObjectTagging、DeleteObjectTagging、GetBucketLocation、GetBucketVersioning、PutBucketVersioning、およびListBucketVersionsです。このパラメーターではワイルドカードを使用できます。

      • リソース - 操作を許可 / 拒否するフォルダーまたはファイルのパスを入力するか、デフォルト(バケットのルート ディレクトリー)を使用します。

CLI
  1. UNIXクライアントまたはWindowsクライアント(あるいはその両方)のローカル ネームマッピングを作成します。

    vserver name-mapping create -vserver svm_name> -direction {s3-win|s3-unix} -position integer -pattern s3_user_name -replacement nas_user_name

    • -position - マッピング評価の優先順位(1または2を入力)

    • -pattern - S3ユーザー名または正規表現

    • -replacement - Windowsユーザー名またはUNIXユーザー名


vserver name-mapping create -direction s3-win -position 1 -pattern s3_user_1 -replacement win_user_1 vserver name-mapping create -direction s3-unix -position 2 -pattern s3_user_1 -replacement unix_user_1

  1. クライアント アクセスを提供するバケット ポリシーを作成します。

    vserver object-store-server bucket policy add-statement -vserver svm_name -bucket bucket_name -effect {deny|allow} -action list_of_actions -principal list_of_users_or_groups -resource [-sid alphanumeric_text]

    • -effect {deny|allow} - ユーザーが操作を要求したときにアクセスを許可するか拒否するかを指定します。

    • -action <Action>, …​ - 許可または拒否するリソース操作を指定します。オブジェクト ストア サーバーで現在S3 NASバケット向けにサポートされているリソース操作は、GetObject、PutObject、DeleteObject、ListBucket、GetBucketAcl、GetObjectAcl、GetObjectTagging、PutObjectTagging、DeleteObjectTagging、GetBucketLocation、GetBucketVersioning、PutBucketVersioning、およびListBucketVersionsです。このパラメーターではワイルドカードを使用できます。

    • -principal <Objectstore Principal>, …​ - アクセスを要求したユーザーの検証時に照会する、オブジェクト ストア サーバーのユーザーまたはグループを指定します。

      • オブジェクト ストア サーバーのグループを指定するには、グループ名の前にプレフィックス「group/」を付けます。

      • -principal -(ハイフン)」は、すべてのユーザーにアクセスを許可します。

    • -resource <text>, …​ - 許可または拒否の権限を設定するバケット、フォルダー、またはオブジェクトを指定します。このパラメーターではワイルドカードを使用できます。

    • [-sid <SID>] - オブジェクト ストア サーバーのバケット ポリシー ステートメントのオプションについてのコメントをテキストで指定します。


cluster1::> vserver object-store-server bucket policy add-statement -bucket testbucket -effect allow -action GetObject,PutObject,DeleteObject,ListBucket,GetBucketAcl,GetObjectAcl, GetBucketLocation,GetBucketPolicy,PutBucketPolicy,DeleteBucketPolicy -principal user1 -resource testbucket,testbucket/* sid "FullAccessForUser1"

cluster1::> vserver object-store-server bucket policy statement create -vserver vs1 -bucket bucket1 -effect allow -action GetObject -principal - -resource bucket1/readme/* -sid "ReadAccessToReadmeForAllUsers"

Top of Page