# Amazon S3を使用するための設定

## バケットとオブジェクトに対するアクセス権限

Amazon S3にオブジェクトをアップロード、またはAmazon S3からオブジェクトをダウンロードするユーザーに、バケットおよびオブジェクトに対する権限を付与してください。

下表に示す権限をIAM、ACL、またはバケットポリシーで設定します。設定方法はAWSが提供しているドキュメントを参照してください。

アップロード機能を利用する場合、集信管理情報の登録モードが“新規作成”のときと“置き換え”のときで必要な権限が異なります。

表2.1 オブジェクトのアップロードに必要な権限

集信管理情報 | 権限
--- | ---
IAM | ACL | バケットポリシー
登録モード | バケット | オブジェクト | バケット | オブジェクト | バケット | オブジェクト
新規作成 | ListBucket | PutObject | （なし） | オブジェクトの一覧 オブジェクトの書き込み | ListBucket | PutObject
置き換え | （なし） | PutObject | （なし） | オブジェクトの書き込み | （なし） | PutObject

表2.2 オブジェクトのダウンロードに必要な権限

権限
IAM | ACL | バケットポリシー
--- | --- | ---
バケット | オブジェクト | バケット | オブジェクト | バケット | オブジェクト
ListBucket(*1) | GetObject | （なし） | オブジェクトの読み取り | （なし） | GetObject

*1 | : | オブジェクトが存在しない場合はエラーとなります。 また、バケットにListBucketの権限が付与されていない場合は権限エラーとなります。権限エラーとならないためにも、バケットにはListBucketの権限を設定することをお勧めします。

また、転送をキャンセルする場合は上記に加えて以下の権限が必要です。

表2.3 転送キャンセルに必要な権限

権限
IAM | ACL | バケットポリシー
--- | --- | ---
バケット | オブジェクト | バケット | オブジェクト | バケット | オブジェクト
（なし） | AbortMultipartUpload | （なし） | （なし） | （なし） | AbortMultipartUpload

Amazon S3の機能を使用する際、以下の権限を付与してください。

表2.4 AWSの機能別の必要な権限

AWSの機能 | 権限
--- | ---
IAM | ACL | バケットポリシー
バケット | オブジェクト | バケット | オブジェクト | バケット | オブジェクト
アクセスコントロールリスト（ACL）の変更 | （なし） | PutObjectAcl | （なし） | （なし） | （なし） | PutObjectAcl

## IAMに対するアクセス権限

IAMロールの切り替えを行う際、以下の権限を付与してください。

表2.5 IAMに必要な権限

ユーザー | 権限
--- | ---
IAM
IAMロールの切り替え元 | sts:AssumeRole