ONTAP S3クライアントユーザーを有効にする
S3 クライアント ユーザーが NAS データにアクセスできるようにするには、S3 ユーザー名を対応する NAS ユーザーにマッピングし、バケット サービス ポリシーを使用して NAS データにアクセスする権限を付与する必要があります。
クライアント アクセス用のユーザー名(LINUX/UNIX、Windows、S3 クライアント ユーザー)がすでに存在している必要があります。
一部の S3 機能は"S3 NASバケットではサポートされていません"であることに注意してください。
S3 ユーザー名を対応する LINUX/UNIX または Windows ユーザーにマッピングすることで、S3 クライアントが NAS ファイルにアクセスする際に、そのファイルに対する認証チェックが実行されるようになります。S3 から NAS へのマッピングは、S3 ユーザー名の Pattern(単一の名前または POSIX 正規表現で表現可能)と、LINUX/UNIX または Windows ユーザー名の Replacement を提供することで指定されます。
名前マッピングが存在しない場合は、デフォルトの名前マッピングが使用されます。この場合、S3ユーザー名自体がUNIXユーザー名およびWindowsユーザー名として使用されます。UNIXおよびWindowsのデフォルトのユーザー名マッピングは、 `vserver object-store-server modify`コマンドで変更できます。
サポートされるのはローカルのネームマッピング構成のみで、LDAPはサポートされません。
S3ユーザをNASユーザにマッピングしたら、ユーザに権限を付与し、アクセスを許可するリソース(ディレクトリおよびファイル)と実行を許可する / 許可しない操作を指定します。
-
UNIXクライアントまたはWindowsクライアント(あるいはその両方)のローカル ネームマッピングを作成します。
-
*ストレージ > バケット*をクリックし、S3/NAS対応のストレージVMを選択します。
-
設定*を選択し、*名前マッピング(*ホストユーザーとグループ*の下)で
をクリックします。 -
S3 から Windows または S3 から UNIX タイル(あるいはその両方)で、追加 をクリックし、希望する パターン (S3) および 置換 (NAS) ユーザー名を入力します。
-
-
クライアント アクセスを提供するバケット ポリシーを作成します。
-
*ストレージ > バケット*をクリックし、目的のS3バケットの横にある
をクリックして、*編集*をクリックします。 -
*追加*をクリックし、必要な値を入力します。
-
Principal - S3 ユーザー名を指定するか、デフォルト(すべてのユーザー)を使用します。
-
Effect - Allow または Deny を選択します。
-
アクション - これらのユーザーとリソースに対するアクションを入力します。オブジェクトストアサーバーが現在S3 NASバケットに対してサポートしているリソース操作は、GetObject、PutObject、DeleteObject、ListBucket、GetBucketAcl、GetObjectAcl、GetObjectTagging、PutObjectTagging、DeleteObjectTagging、GetBucketLocation、GetBucketVersioning、PutBucketVersioning、ListBucketVersionsです。このパラメータではワイルドカードを使用できます。
-
リソース - アクションが許可または拒否されるフォルダーまたはファイルのパスを入力するか、デフォルト(バケットのルート ディレクトリ)を使用します。
-
-
-
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
-
クライアント アクセスを提供するバケット ポリシーを作成します。+
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、GetBucketLocationです。このパラメータではワイルドカードを使用できます。 -
-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"