IAM 最小権限
カスタムIAM ポリシーを作成するよりも、定義済みのロールをサービスに使用することを推奨しますが、カスタムポリシーを作成する場合は、次の表に記載されているロールを使用してください。今後のリリースで、Amazon S3 ドライバーが必要とする特定のポリシーが変更される可能性があります。
Amazon S3 は次の権限を最小限必要とします。
| IAM ロール | 説明 | |
| テーブル:Buckets | ||
| SELECT | ListAllMyBuckets | |
| INSERT | CreateBucket | |
| DELETE | GetBucketLocation およびDeleteBucket | |
| テーブル:Objects | ||
| SELECT | GetBucketLocation およびListBucket | |
| DELETE | GetBucketLocation およびDeleteObject | |
| ビュー (すべてのビューは、以下の権限に加えて GetBucketLocation を必要とします) | ||
| BucketsACL | ListBucket | |
| BucketsAnalytics | GetAnalyticsConfiguration | |
| BucketsCORS | GetBucketCORS | |
| BucketsInventory | GetInventoryConfiguration | |
| BucketsLifeCycle | GetLifecycleConfiguration | |
| BucketsReplication | GetReplicationConfiguration | |
| ObjectsACL | GetObjectAcl | |
| PublicAccessBlock | GetBucketPublicAccessBlock | |
| ストアドプロシージャ (すべてのプロシージャは、以下の権限に加えて GetBucketLocation を必要とします) | ||
| CopyObject | ソースバケットにGetObject、および同期先バケットにPutObject | |
| DownloadObjectTorrent | GetObjectTorrent | |
| DownloadObjects | GetObject | |
| UploadObjects | PutObject |
JSON 例
JSON バージョンで、ドライバーの全機能を使用するための最小限の権限ポリシーを以下に示します。{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:GetBucketPublicAccessBlock",
"s3:GetLifecycleConfiguration",
"s3:GetInventoryConfiguration",
"s3:CreateBucket",
"s3:ListBucket",
"s3:GetReplicationConfiguration",
"s3:PutObject",
"s3:GetObjectAcl",
"s3:GetObject",
"s3:GetObjectTorrent",
"s3:ListAllMyBuckets",
"s3:GetBucketCORS",
"s3:GetAnalyticsConfiguration",
"s3:DeleteObject",
"s3:GetBucketLocation",
"s3:DeleteBucket"
],
"Resource": "*"
}
]"
}
上の例では、"Resource" を * に設定してすべてのバケットへのアクセスを許可していますが、特定のバケットだけにアクセスを制限することもできます。