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