プログラムからS3のオブジェクト一覧を取得するIAM設定について

目的

プログラムからS3のオブジェクト一覧を取得するために、”s2:listObjects”のような権限を探したところ、見つからずにとても苦労したため、ここにオブジェクト一覧を取得する権限を記載する。

前提

・S3バケットが作成済みであること
今回対象のS3バケット名:aaabbbccc-smallit

AWSコンソールからIAMでユーザーを作成する

①ユーザー名
ユーザー名:smallit-taro
アクセスキー – プログラムによるアクセス:チェック

②アクセス許可の設定
ここでは何も選択せずに次のステップをクリック

③タグの設定
ここでは何も入力せずに次のステップをクリック

④ユーザーの作成

⑤アクセスキーとシークレットアクセスキーはアプリから使用するために必要になるので、保存しておく

ユーザーにインラインポリシーを設定する

今回はこのユーザーのみにしか必要のない権限のため
インラインポリシーで作成する。

①インラインポリシーの追加をクリック

②JSONタブをクリックし、JSONを入力する

権限の説明:

以下でS3のディレクトリに対して操作する権限を付与している
“s3:PutObject”:オブジェクトのアップロード
“s3:GetObject”:オブジェクトの取得
“s3:DeleteObject”:オブジェクトの削除

以下でS3のバケットに対して操作する権限を付与している
“s3:ListBucket”:バケットの一覧を取得
※もしS3バケットがバージョン管理している場合は”s3:ListBucketVersions”の権限も必要になる

③ポリーの確認をクリック

名前:インラインポリシーの名前を入力

④ポリシーの作成をクリック

アクセス権限がアタッチされていれば、プログラムからS3オブジェクトの一覧が取得可能となる。

以上

Smallitのサービス