特定のAmazon S3バケットにだけアクセスを許可する
IAM ポリシーを使用して、特定の AWS Amazon S3 バケットにだけアクセスを許可する方法について説明します。
■ IAM ユーザーの作成
Amazon S3 バケットへアクセスする際に使用する認証情報を作成します。
AWS マネジメント コンソールで IAM ユーザーを作成し、アクセス キーとシークレット キーを発行します。
■ IAM ポリシーの作成
Amazon S3 バケットへのアクセス権限を定義する IAM ポリシーを作成します。
以下のようなインライン ポリシーを作成し、先程の IAM ユーザーに付与します。
バケット名(my-bucket
)は適宜置き換えてください。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::my-bucket",
"arn:aws:s3:::my-bucket/*"
]
}
]
}
これで、特定の Amazon S3 バケットにだけアクセスできる IAM ユーザーが作成できました。
ただし、上記の IAM ポリシーでは Amazon S3 バケットのマウントの際にバケットの一覧は表示されませんので、バケット名を直接手で入力する必要があります。
マウント時にバケット一覧も表示したい場合は、以下のような IAM ポリシーを作成してください。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:ListAllMyBuckets",
"Resource": "arn:aws:s3:::*"
},
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::my-bucket",
"arn:aws:s3:::my-bucket/*"
]
}
]
}