StorageGRIDでは2種類のアクセス ポリシーがサポートされています。
これらの要素を使用して、次の構文に従って権限を指定するポリシー ステートメントが構築されます。<Effect>を付与して、<Condition>に該当する場合に<Principal>に<Resource>に対する<Action>の実行を許可または拒否します。
ポリシーの各要素の説明を次に示します。
要素 | 説明 |
---|---|
Sid | Sid要素はオプションです。Sidはユーザに対する説明としてのみ使用されます。StorageGRIDシステムに格納はされますが、システムで解釈されません。 |
Effect | Effect要素では、指定した処理を許可するか拒否するかを指定します。Action要素でサポートされるキーワードを使用して、バケットまたはオブジェクトで許可(または拒否)する処理を指定する必要があります。 |
Principal / NotPrincipal | ユーザ、グループ、またはアカウントを指定して、特定のリソースへのアクセスや特定の処理の実行を許可できます。要求にS3の署名が含まれていない場合は、ワイルドカード文字(*)をプリンシパルとして指定することで匿名アクセスが許可されます。デフォルトでは、アカウントが所有するリソースへのアクセスはrootアカウントにのみ許可されます。 Principal要素を指定する必要があるのはバケット ポリシーだけです。グループ ポリシーの場合は、ポリシーが関連付けられたグループが暗黙的にプリンシパルになります。 |
Resource / NotResource | Resource要素では、バケットおよびオブジェクトを指定します。Amazonリソース ネーム(ARN)を使用してリソースを指定し、バケットやオブジェクトに対する権限を許可または拒否することができます。 |
Action / NotAction | 権限はAction要素とEffect要素の2つで構成されます。グループがリソースを要求すると、権限に基づいてリソースへのアクセスが許可または拒否されます。権限を明示的に割り当てていなければアクセスは拒否されますが、明示的な拒否を使用して別のポリシーで付与された権限を拒否することもできます。 |
Condition | Condition要素はオプションです。ポリシーを適用する条件を示す式を作成できます。 |
s3:*Object
Resource要素では、ワイルドカード文字の「*」と「?」を使用できます。アスタリスク(*)は0文字以上の文字に一致し、疑問符(?)は任意の1文字に一致します。
Principal要素では、匿名アクセスを設定してすべてのユーザに権限を付与する場合を除き、ワイルドカード文字はサポートされません。Principalの値としてワイルドカード(*)を設定する例を次に示します。
"Principal":"*"
次に、Effect、Principal、Action、およびResourceの各要素を使用して記述したステートメントの例を示します。このバケット ポリシーのステートメントでは、Effectで「Allow」を指定して、Principalで指定したadminグループ(federated-group/admin)とfinanceグループ(federated-group/finance)に、mybucketという名前のバケットに対するs3:ListBucket処理とそのバケット内のすべてのオブジェクトに対するs3:GetObject処理を実行する権限を付与しています。
{ "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::27233906934684427525:federated-group/admin", "arn:aws:iam::27233906934684427525:federated-group/finance" ] }, "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:iam:s3:::mybucket", "arn:aws:iam:s3:::mybucket/*" ] } ] }
バケット ポリシーのサイズの上限は20,480バイトで、グループ ポリシーのサイズの上限は5,120バイトです。