AWS S3

パケット

S3で実際データが格納されるとこ。パケット名はアクセス時のURLとして使用されるのでまだ誰もつけたことがない名前である必要がある。

名前とリージョンを決めるだけで簡単に作成できる

ただしバケットポリシーを使用してセキュリティ設定を行うので

 今回は

パブリックアクセスをすべてブロックのチェックを外し

新しいアクセスコントロールリスト (ACL) を介して付与されたバケットとオブジェクトへのパブリックアクセスをブロックするのチェックを外し

任意のアクセスコントロールリスト (ACL) を介して付与されたバケットとオブジェクトへのパブリックアクセスをブロックするのチェックを外し

新規のパブリックバケットポリシーまたはアクセスポイントポリシーを介して付与されたバケットとオブジェクトへのパブリックアクセスをブロックするにチェックを入れ

あらゆるパブリックバケットポリシーまたはアクセスポイントポリシーを介したバケットとオブジェクトへのパブリックアクセスとクロスアカウントアクセスをブロックするにチェックをいれる

 

 

サクセスしたバケットのページに行き

アクセス権限からバケットポリシーをクリックすると下に入力する箇所が出るので

バケットポリシー

{
    "Version": "2012-10-17",
    "Id": "Policy1544152951996",
    "Statement": [
        {
            "Sid": "Stmt1544152948221",
            "Effect": "Allow",
            "Principal": {
                "AWS": "************①****************"
            },
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::************②**********"
        }
    ]
}

 

の①に作成したIAMユーザーのarnをコピーして貼り付ける。

②にはバケット名をいれる。

これでこのIAMユーザーだけがアクセスできるようになっているはず。

{
    "Version": "2012-10-17",
    "Id": "Policy1544152951996",
    "Statement": [
        {
            "Sid": "Stmt1544152948221",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789123:user/upload_user"
            },
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::upload-app-test"
        }
    ]
}