ONTAP 9.13

to English version

バケット ポリシーの変更

デフォルトのバケット ポリシーにアクセス ルールを追加できます。デフォルト ポリシーのアクセス制御対象は対応するバケットであるため、バケットが1つだけの場合はデフォルト ポリシーが最も適しています。

開始する前に

S3サーバーとバケットを含むS3対応のStorage VMがすでに存在している必要があります。

権限を付与するには、事前にユーザーまたはグループを作成しておく必要があります。

タスク概要

新しいユーザーとグループを対象とした新しいステートメントを追加したり、既存のステートメントの属性を変更したりできます。詳細については、vserver object-store-server bucket policy のマニュアル ページを参照してください。

ユーザーとグループの権限は、バケットの作成時、または必要に応じてあとから付与することができます。バケットの容量やQoSポリシー グループの割り当ても変更できます。

ONTAP 9.9.1以降のリリースでは、ONTAP S3サーバーでAWSクライアント オブジェクトのタグ付け機能をサポートする場合の処理が実行されます。バケット ポリシーまたはグループ ポリシーを使用して GetObjectTaggingPutObjectTaggingDeleteObjectTagging の各処理を許可する必要があります。

実行する手順は、ONTAP System ManagerとCLIのどちらのインターフェイスを使用するかによって異なります。

ONTAP System Manager
手順
  1. バケットを編集します。[ストレージ] > [バケット] をクリックし、目的のバケットをクリックして [編集] をクリックします。 権限を追加または変更する際には次のパラメーターを指定できます。

    • Principal:アクセスを付与するユーザーまたはグループ。

    • Effect:ユーザーまたはグループにアクセスを許可するか拒否するか。

    • アクション:特定のユーザーまたはグループに許可するバケット内での処理。

    • リソーズ:アクセスを許可または拒否するバケット内のオブジェクトのパスと名前。

      デフォルトの bucketname および bucketname/* を指定すると、バケット内のすべてのオブジェクトへのアクセスが許可されます。単一のオブジェクトへのアクセスを許可するには、bucketname/*_readme.txt のように指定します。

    • Conditions(オプション):アクセスが試行されたときに評価される式。たとえば、アクセスを許可または拒否するIPアドレスのリストを指定できます。

CLI
手順
  1. バケット ポリシーにステートメントを追加します。

    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

    次の操作の中から指定します(複数可)。* ですべての操作を指定できます。GetObject, PutObject, DeleteObject, ListBucket, GetBucketAcl,GetObjectAcl, ListBucketMultipartUploads,, ListMultipartUploadParts

    -principal

    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"
Top of Page