2024-05-22

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を書く。以下。
JSON | s3-allow-access-to-iam-user.json | GitHub 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が表示されて、アップロードや削除等全操作が行える。
※本記事内容の無断転載を禁じます。
ご連絡は以下アドレスまでお願いします★
オープンソースリップシンクエンジンSadTalkerをDebianで動かす
ファイアウォール内部のOpenAPI/FastAPIのdocsを外部からProxyPassで呼ぶ
Debian 12でsshからshutdown -h nowしても電源が切れない場合
【Windows&Mac】アプリのフルスクリーンを解除する方法
Debian 12でtsコマンドが見つからないcommand not found
Debian 12でsyslogやauth.logが出力されない場合
Debian 12で固定IPアドレスを使う設定をする
Debian 12 bookwormでNVIDIA RTX4060Ti-OC16GBを動かす
【Debian】apt updateでCD-ROMがどうのこうの言われエラーになる場合
【Windows10】リモートデスクトップ間のコピー&ペーストができなくなった場合の対処法
Windows11+WSL2でUbuntuを使う【2】ブリッジ接続+固定IPの設定
GitLabにHTTPS経由でリポジトリをクローン&読み書きを行う
【Apache】サーバーに同時接続可能なクライアント数を調整する
【C/C++】小数点以下の切り捨て・切り上げ・四捨五入
Intel Macbook2020にBootCampで入れたWindows11 Pro 23H2のBluetoothを復活させる
【PHP】Mail/mimeDecodeを使ってメールの中身を解析(準備編)
【Debian】apt updateでCD-ROMがどうのこうの言われエラーになる場合
タスクスケジューラで変更を適用できません。ユーザーアカウントが不明であるか、パスワードが正しくないか、またはユーザーアカウントにタスクを変更する許可がありません。と出た