S3に適切な権限を付与しよう
今回はAWS S3(Amazon Simple Storage Service)の適切な権限を付与して行きたいと思います。
静的なWebサイトの公開などの際に有効かと思います。
S3のアクセス制限について
S3は必要に応じて特定のアカウント、IAMユーザー、AWSリソースにアクセス権限を設定することができます
アクセスコントロールリスト(ACL)
・他の特定のAWSアカウントに対してバケット・オブジェクトへのアクセス権限を付与する
・誰にでもバケット・オブジェクトへのアクセス権限を付与できる
バケットポリシー
・ACLより権限をもっと細かく設定できる(ex. 特定のIPアドレスからのアクセスを許可)
・主にALCよりこちらを使用していく
IAMポリシー
・IAMユーザーに対してS3へのアクセス権限を設定できる
パブリックブロックアクセス
・ACLとバケットポリシーについて、新規の公開を防ぐ設定と、既存の公開を修正する設定
以下のサイトがわかりやすいです↓↓↓
実践
バケットポリシーを利用してHTMLファイルを公開する際に適切なアクセス権限をつけていきましょう。まず、パブリックブロックアクセスを設定していきます。ACLを介してアクセス権限の設定をしないのでブロックを「オン」、一方でバケットポリシーを介してアクセス権限の設定を「オフ」にします。
*バケットポリシーを編集したあとは「新しいパブリックバケットポリシーまたはアクセスポイントポリシーを介して付与されたバケットとオブジェクトへのパブリックアクセスをブロックする」をオンにするべきです。
バケットポリシー
全ての人に対して閲覧権限を付与
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "BucketPlicy",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::<バケット名>/*"
}
]
}
特定のIPアドレスのみアクセスを許可
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "IpAddress",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::<バケット名>/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "IPアドレス"
}
}
}
]
}
LambdaからS3へのファイルのアップロード、閲覧を許可
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Lambda",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:PutObject",
"s3:GetObject"
],
"Resource": "arn:aws:s3:::s3-backet-redshift/*"
}
]
}
参考文献
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "BucketPlicy",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::<バケット名>/*"
}
]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "IpAddress",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::<バケット名>/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "IPアドレス"
}
}
}
]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Lambda",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:PutObject",
"s3:GetObject"
],
"Resource": "arn:aws:s3:::s3-backet-redshift/*"
}
]
}
Author And Source
この問題について(S3に適切な権限を付与しよう), 我々は、より多くの情報をここで見つけました https://qiita.com/ymktmk/items/174ab4fecb14a0a3c7e0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .