S3 BucketへのアクセスをPlicyで制御する

S3のファイルアクセスについて、メモしておく。

したいこと

・Bucketにあるファイルだけにアクセスする。
・ユーザーはだれでもいい。
・特定のIPAddressにのみ権限を与える。

すること
1. バケットの制御
一旦、ブロックパブリックアクセスで全て公開した、バケットポリシーで制限する。
・ブロックパブリックアクセス
 →全てオフ(ブロックしない。公開する。)
・アクセスコントロールリスト
 →何もしない。
・バケットポリシー
 →以下の設定を行う。

S3 Policy

{
    "Version": "2012-10-17",
    "Id": "Policy2222222",
    "Statement": [
        {
            "Sid": "StmtNotAccess",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "*",
            "Resource": "arn:aws:s3:::<backetname>/*",
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": "XXX.XXX.XXX.XXX/32"
                }
            }
        },
        {
            "Sid": "Stmt1594450691768",
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:DeleteObject",
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::<backetname>/*"
        }
    ]
}

2. ファイルの制御
パブリックアクセスで「バケットの読み取り」のみONする。

参考

コメント

このブログの人気の投稿

ソリューション構成ごとにconfigファイルを作成する

C++の古いプロジェクトのビルドでerror MIDL2311 : statements outside library block are illegal in mktyplib compatability mode

web.config debug/releaseの内容を変換構文を使って切り替える