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を書く。以下。
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が表示されて、アップロードや削除等全操作が行える。
※本記事内容の無断転載を禁じます。
ご連絡は以下アドレスまでお願いします★
☆ServerNote.NETショッピング↓
ShoppingNote / Amazon.co.jp
☆お仲間ブログ↓
一人社長の不動産業務日誌
【VOICEBOX Engine】403 Forbidden Origin not allowedの対処法
【Python urllib】Proxy URL had no scheme, should start with http:// or https://の対処法
FirebaseでiOSアプリにプッシュ通知機能を実装する【3】
FirebaseでiOSアプリにプッシュ通知機能を実装する【2】
FirebaseでiOSアプリにプッシュ通知機能を実装する【1】
Apple Push Services: この証明書は信頼されていません【対処法】
OpenAI Assistants APIメモ【4】スレッドの一覧表示と削除
OpenAI Assistants APIメモ【3】GPT-3.5およびGPT-4のアシスタントが質問に回答する
OpenAI Assistants APIメモ【2】GPT-3.5およびGPT-4のアシスタントを作成
【Windows10】リモートデスクトップ間のコピー&ペーストができなくなった場合の対処法
Windows版Google Driveが使用中と言われアンインストールできない場合
Googleファミリーリンクで子供の端末の現在地がエラーで取得できない場合
【C/C++】小数点以下の切り捨て・切り上げ・四捨五入
Androidホームで左にスワイプすると出てくるニュース共を一切表示させない方法
Windows11+WSL2でUbuntuを使う【2】ブリッジ接続+固定IPの設定
【Apache】サーバーに同時接続可能なクライアント数を調整する
Googleスプレッドシートで図形をコピーして使いまわすには
Pythonで処理にかかった時間を計測するには