StorageGRID S3 REST API グループポリシーの例
このセクションの例を使用して、グループ向けの StorageGRID アクセスポリシーを作成します。
グループポリシーは、そのポリシーが適用されるグループのアクセス権限を指定します。ポリシー内に `Principal`要素はありません。これは暗黙的であるためです。グループポリシーは、テナントマネージャーまたはAPIを使用して設定します。
例:Tenant Manager を使用してグループポリシーを設定する
テナントマネージャーでグループを追加または編集する際に、グループポリシーを選択して、そのグループのメンバーが持つS3アクセス権限を決定できます。"S3テナント用のグループを作成する"を参照してください。
-
S3アクセスなし:デフォルトオプション。このグループのユーザーは、バケットポリシーによってアクセスが許可されない限り、S3リソースにアクセスできません。このオプションを選択すると、デフォルトではルートユーザーのみがS3リソースにアクセスできるようになります。
-
読み取り専用アクセス:このグループのユーザーは、S3リソースへの読み取り専用アクセス権限を持ちます。例えば、このグループのユーザーは、オブジェクトの一覧表示や、オブジェクトのデータ、メタデータ、タグの読み取りを行うことができます。このオプションを選択すると、読み取り専用グループポリシーのJSON文字列がテキストボックスに表示されます。この文字列は編集できません。
-
フルアクセス:このグループのユーザーは、バケットを含む S3 リソースへのフルアクセス権限を持ちます。このオプションを選択すると、フルアクセス権限を持つグループポリシーの JSON 文字列がテキストボックスに表示されます。この文字列は編集できません。
-
ランサムウェア対策:このサンプルポリシーは、このテナントのすべてのバケットに適用されます。このグループのユーザーは一般的な操作を実行できますが、オブジェクトのバージョン管理が有効になっているバケットからオブジェクトを完全に削除することはできません。
「すべてのバケットを管理する」権限を持つテナントマネージャーユーザーは、このグループポリシーを上書きできます。「すべてのバケットを管理する」権限は信頼できるユーザーのみに制限し、利用可能な場合は多要素認証(MFA)を使用してください。
-
カスタム:グループ内のユーザーには、テキストボックスで指定した権限が付与されます。
例:グループにすべてのバケットへのフルアクセスを許可する
この例では、バケットポリシーによって明示的に拒否されない限り、グループのすべてのメンバーは、テナントアカウントが所有するすべてのバケットへの完全なアクセスが許可されます。
{
"Statement": [
{
"Action": "s3:*",
"Effect": "Allow",
"Resource": "arn:aws:s3:::*"
}
]
}
例:グループに対してすべてのバケットへの読み取り専用アクセスを許可する
この例では、バケットポリシーによって明示的に拒否されない限り、グループのすべてのメンバーはS3リソースへの読み取り専用アクセス権を持ちます。例えば、このグループのユーザーは、オブジェクトの一覧表示や、オブジェクトのデータ、メタデータ、タグの読み取りを行うことができます。
{
"Statement": [
{
"Sid": "AllowGroupReadOnlyAccess",
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets",
"s3:ListBucket",
"s3:ListBucketVersions",
"s3:GetObject",
"s3:GetObjectTagging",
"s3:GetObjectVersion",
"s3:GetObjectVersionTagging"
],
"Resource": "arn:aws:s3:::*"
}
]
}
例:グループメンバーに、バケット内の自分の「フォルダー」のみへのフルアクセスを許可する
この例では、グループのメンバーは、指定されたバケット内の自分の特定のフォルダ(キープレフィックス)のみを一覧表示およびアクセスすることが許可されています。これらのフォルダのプライバシー設定を決定する際には、他のグループポリシーおよびバケットポリシーによるアクセス権限も考慮する必要があります。
{
"Statement": [
{
"Sid": "AllowListBucketOfASpecificUserPrefix",
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::department-bucket",
"Condition": {
"StringLike": {
"s3:prefix": "${aws:username}/*"
}
}
},
{
"Sid": "AllowUserSpecificActionsOnlyInTheSpecificUserPrefix",
"Effect": "Allow",
"Action": "s3:*Object",
"Resource": "arn:aws:s3:::department-bucket/${aws:username}/*"
}
]
}