バケットポリシーを変更する
-
このドキュメント ページのPDF
-
ボリューム管理
- CLI を使用した論理ストレージ管理
-
NAS ストレージ管理
-
CLIを使用したSMBの管理
- SMB を使用したファイルアクセスの管理
-
CLIを使用したSMBの管理
-
ボリューム管理
PDF版ドキュメントのセット
Creating your file...
デフォルトのバケットポリシーにアクセスルールを追加できます。アクセス制御の範囲はコンテナバケットなので、バケットが 1 つしかない場合は最も適しています。
S3サーバとバケットを含むS3対応Storage VMがすでに存在している必要があります。
権限を付与するには、事前にユーザまたはグループを作成しておく必要があります。
新しいユーザとグループに新しいステートメントを追加したり、既存のステートメントの属性を変更したりできます。その他のオプションについては、を参照してください vserver object-store-server bucket policy
マニュアルページ
ユーザとグループの権限は、バケットの作成時または必要に応じてあとから付与できます。バケットの容量と QoS ポリシーグループの割り当てを変更することもできます。
ONTAP 9.9.1以降では、ONTAP S3サーバでAWSクライアントオブジェクトのタグ付け機能をサポートする場合の処理 GetObjectTagging
、 PutObjectTagging`および `DeleteObjectTagging
バケットまたはグループポリシーを使用して許可されている必要があります。
実行する手順 は、System ManagerまたはCLIを使用するインターフェイスによって異なります。
-
バケットを編集します。 * Storage > Bucket* をクリックし、目的のバケットをクリックして * Edit * をクリックします。 権限を追加または変更するときに、次のパラメータを指定できます。
-
* Principal *:アクセス権を付与するユーザまたはグループ。
-
影響:ユーザまたはグループへのアクセスを許可または拒否します。
-
* Actions *:特定のユーザまたはグループに対してバケットで許可されているアクション。
-
* Resources *:アクセスが許可または拒否されているバケット内のオブジェクトのパスと名前。
デフォルトの * bucketname* および * bketname / * _ * は、バケット内のすべてのオブジェクトへのアクセスを許可します。また、単一のオブジェクトへのアクセスを許可することもできます。たとえば、 *_bketname/*_readme.txt * と指定します。
-
* Conditions *(オプション):アクセス試行時に評価される式。たとえば、アクセスを許可または拒否する IP アドレスを指定できます。
-
ONTAP 9.14.1以降では、* Resources *フィールドでバケットポリシーの変数を指定できます。これらの変数はプレースホルダであり、ポリシーの評価時にコンテキスト値に置き換えられます。例えば、 ${aws:username} がポリシーの変数として指定されている場合、この変数は要求コンテキストのユーザ名に置き換えられ、そのユーザに対して設定されたとおりにポリシーアクションを実行できます。
|
-
バケットポリシーにステートメントを追加します。
vserver object-store-server bucket policy add-statement -vserver svm_name -bucket bucket_name -effect {allow|deny} -action object_store_actions -principal user_and_group_names -resource object_store_resources [-sid text] [-index integer]
次のパラメータでアクセス権限を定義します。
-effect
この文では ' アクセスを許可または拒否できます
-action
を指定できます
*
すべてのアクション、または次の1つ以上のリストを意味します。GetObject, PutObject, DeleteObject, ListBucket, GetBucketAcl,GetObjectAcl, ListBucketMultipartUploads,
およびListMultipartUploadParts
。-principal
1 つ以上の S3 ユーザまたはグループのリスト。
-
最大 10 のユーザまたはグループを指定できます。
-
S3グループを指定する場合は、の形式で指定する必要があります
group/group_name.
-
*
には、パブリックアクセス(アクセスキーとシークレットキーを使用しないアクセス)を指定できます。 -
プリンシパルを指定しない場合、Storage VM内のすべてのS3ユーザにアクセスが許可されます。
-resource
バケットとバケットに含まれるすべてのオブジェクト。ワイルドカード文字
*
および?
リソースを指定するための正規表現を作成するために使用できます。リソースについては、ポリシーで変数を指定できます。これらのポリシー変数は、ポリシーが評価されるときにコンテキスト値に置き換えられるプレースホルダです。オプションで、テキスト文字列をコメントとして指定できます
-sid
オプション -
次の例では、Storage VM svm1.example.comとbucket1に対するオブジェクトストアサーババケットポリシーのステートメントを作成し、オブジェクトストアサーバユーザuser1にreadmeフォルダへのアクセスを許可するように指定しています。
cluster1::> vserver object-store-server bucket policy statement create -vserver svm1.example.com -bucket bucket1 -effect allow -action GetObject,PutObject,DeleteObject,ListBucket -principal user1 -resource bucket1/readme/* -sid "fullAccessToReadmeForUser1"
次の例では、Storage VM svm1.example.comとbucket1に対するオブジェクトストアサーババケットポリシーのステートメントを作成し、オブジェクトストアサーバグループgroup1にすべてのオブジェクトへのアクセスを許可するように指定しています。
cluster1::> vserver object-store-server bucket policy statement create -vserver svm1.example.com -bucket bucket1 -effect allow -action GetObject,PutObject,DeleteObject,ListBucket -principal group/group1 -resource bucket1/* -sid "fullAccessForGroup1"
ONTAP 9.14.1以降では、バケットポリシーの変数を指定できます。次の例は、Storage VM用のサーババケットポリシーステートメントを作成します。 svm1
および bucket1
、およびを指定します。 ${aws:username}
ポリシーリソースの変数として指定します。ポリシーが評価されると、ポリシー変数は要求コンテキストのユーザ名に置き換えられ、そのユーザに対して設定されたとおりにポリシーアクションを実行できます。たとえば、次のポリシーステートメントが評価されると、 ${aws:username}
は、S3処理を実行するユーザに置き換えられます。ユーザーが user1
操作を実行し、そのユーザーにアクセスを許可します。 bucket1
として bucket1/user1/*
。
cluster1::> object-store-server bucket policy statement create -vserver svm1 -bucket bucket1 -effect allow -action * -principal - -resource bucket1,bucket1/${aws:username}/*##