アプリケーション開発ポータルサイト
ServerNote.NET
Amazon.co.jpでPC関連商品タイムセール開催中!
カテゴリー【Amazon/AWS
【AWS】Amazon S3のバケットを作成し他のIAMユーザーにアクセスを許可する
POSTED BY
2023-05-23

AWSのストレージサービスS3で作成したバケットをグループで共有して使うような用途を考える。

それにはAWSの代表アカウントがS3でバケットを作成し、さらにアカウントのサブユーザー=IAMユーザー=を作成し、アクセス権を付与することで実現する。

1、S3バケットの作成

シェアしたいS3バケットを代表アカウントで作成。ここでは「my-share-bucket777」とする。

S3 Management Consoleを開く。

https://s3.console.aws.amazon.com/s3/get-started?region=ap-northeast-1

「バケットを作成」

バケット名:my-share-bucket777

AWSリージョン
アジアパシフィック(東京)

ACL無効

パブリックアクセスをすべてブロック

バケットのバージョニング
無効にする

サーバー側の暗号化
無効にする

オブジェクトロック
無効にする

「バケットを作成」で作成完了。

2、バケットを使わせたいIAMユーザーの作成

以下のページを参考に、このバケットを使わせたいIAMユーザーを作成する。

【Amazon/AWS】共同作業用サブユーザー(IAM)の作成・管理

ここでは、IAMユーザー名を「iam-hogeuser22」とした。アクセス許可指定に必要なARNは、ユーザー名をクリックすれば「ユーザーのARN」として表示される。

ここでは「arn:aws:iam::111122223333:user/iam-hogeuser22」であるとする。

3、アクセス権限の付与

バケット一覧に戻って、

https://s3.console.aws.amazon.com/s3/buckets?region=ap-northeast-1

さきほど作成した「my-share-bucket777」をクリック。

アクセス許可」タブをクリック。

「バケットポリシー」→「編集」でエディタ画面を開く。

iam-hogeuser22に表示・読み込み・書き込み、基本となる全アクセスを付与するJSONを書く。以下。

JSONs3-allow-access-to-iam-user.jsonGitHub Source
{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Sid": "statement1",
         "Effect": "Allow",
         "Principal": {
            "AWS": "arn:aws:iam::111122223333:user/iam-hogeuser22"
         },
         "Action": [
            "s3:GetBucketLocation",
            "s3:ListBucket"
         ],
         "Resource": [
            "arn:aws:s3:::my-share-bucket777"
         ]
      },
      {
         "Sid": "statement2",
         "Effect": "Allow",
         "Principal": {
            "AWS": "arn:aws:iam::111122223333:user/iam-hogeuser22"
         },
         "Action": [
            "s3:PutObject",
            "s3:PutObjectAcl",
            "s3:GetObject",
            "s3:GetObjectAcl",
            "s3:DeleteObject"
         ],
         "Resource": [
            "arn:aws:s3:::my-share-bucket777/*"
         ]
      }
   ]
}

PrincipalでIAMユーザのARNを、Resourceでバケット名を指定すればよい。

これで、上記IAMユーザーでログインしてS3のバケット管理画面を開けば、my-share-bucket777が表示されて、アップロードや削除等全操作が行える。

※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【WEBMASTER/管理人】
自営業プログラマーです。お仕事ください!
ご連絡は以下アドレスまでお願いします★

☆ServerNote.NETショッピング↓
ShoppingNote / Amazon.co.jp
☆お仲間ブログ↓
一人社長の不動産業務日誌
【キーワード検索】