このセクションでは、Amazon Simple Storage Service(S3)に対する基本的な IAM ポリシーについて紹介していきます。
許可ポリシーが適用されていない場合
Amazon S3 に対する許可ポリシーが適用されていない IAM ユーザーまたはロールで Amazon S3 サービスにアクセスすると、S3 バケットの参照やバケットの作成ができません。
S3 バケットの一覧を表示しようとするとエラーとなります。
![](http://deraweb.dip.jp/wp-content/uploads/2023/08/aws0263.png)
S3 バケットを作成しようとするとエラーとなります。
![](http://deraweb.dip.jp/wp-content/uploads/2023/08/aws0264.png)
AmazonS3ReadOnlyAccess が適用されている場合
Amazon マネージドポリシーである AmazonS3ReadOnlyAccess が適用されている IAM ユーザーまたはロールで Amazon S3 サービスにアクセスすると、Amazon S3 サービスの参照が可能となります。
![](http://deraweb.dip.jp/wp-content/uploads/2023/08/aws0267.png)
S3 バケットの一覧が見れるようになります。
![](http://deraweb.dip.jp/wp-content/uploads/2023/08/aws0265.png)
ただし、S3 バケットを作成しようとするとエラーとなります。読み込み権限だけで書き込みの権限がないためです。
![](http://deraweb.dip.jp/wp-content/uploads/2023/08/aws0266.png)
S3 に保存されたデータ(オブジェクト)の参照も可能となります。
![](http://deraweb.dip.jp/wp-content/uploads/2023/08/aws0268.png)
![](http://deraweb.dip.jp/wp-content/uploads/2023/08/aws0262-1.png)
S3 に保存されたデータ(オブジェクト)の削除はエラーとなりできません。
![](http://deraweb.dip.jp/wp-content/uploads/2023/08/aws0269.png)
![](http://deraweb.dip.jp/wp-content/uploads/2023/08/aws0270.png)
AmazonS3FullAccess が適用されている場合
Amazon マネージドポリシーである AmazonS3FullAccess が適用されている IAM ユーザーまたはロールで Amazon S3 サービスにアクセスすると、Amazon S3 サービスの参照だけでなく変更も可能となります。
![](http://deraweb.dip.jp/wp-content/uploads/2023/08/aws0271.png)
S3 バケットの削除も可能となります。
![](http://deraweb.dip.jp/wp-content/uploads/2023/08/aws0272.png)
![](http://deraweb.dip.jp/wp-content/uploads/2023/08/aws0273.png)
![](http://deraweb.dip.jp/wp-content/uploads/2023/08/aws0274.png)
S3 に保存されたデータ(オブジェクト)の削除も可能となります。
![](http://deraweb.dip.jp/wp-content/uploads/2023/08/aws0275.png)
![](http://deraweb.dip.jp/wp-content/uploads/2023/08/aws0276.png)
![](http://deraweb.dip.jp/wp-content/uploads/2023/08/aws0277.png)
非推奨とされている ALC 有効での S3 バケットの作成も可能となります。非推奨とされているため、この場合のS3 バケットの運用には注意が求められます。
![](http://deraweb.dip.jp/wp-content/uploads/2023/08/aws0279.png)
![](http://deraweb.dip.jp/wp-content/uploads/2023/08/aws0280.png)
非推奨のACL有効でのバケット作成をNGとしたい場合
非推奨とされている ACL 有効での Amazon S3 バケットの作成ができないようにするためには以下のポリシーを、IAM ユーザーまたはロールに追加で適用します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "RequireBucketOwnerFullControl",
"Action": "s3:CreateBucket",
"Effect": "Deny",
"Resource": "*",
"Condition": {
"StringNotEquals": {
"s3:x-amz-object-ownership": "BucketOwnerEnforced"
}
}
}
]
}
![](http://deraweb.dip.jp/wp-content/uploads/2023/08/aws0278.png)
上記ポリシーを適用すれば、非推奨とされている ALC 有効での S3 バケットの作成はできなくなります。
AmazonS3FullAccess のポリシーを適用した IAM ユーザーまたはロールに対して、本ポリシーを適用しても制御は有効となりました。
![](http://deraweb.dip.jp/wp-content/uploads/2023/08/aws0281.png)
![](http://deraweb.dip.jp/wp-content/uploads/2023/08/aws0282.png)