「S3コンソールのバケットリストで許可したバケットのみ表示させたい」ときの代替案

2019.12.19

大阪オフィスのちゃだいんです。

「S3マネジメントコンソールのバケットリスト画面で、許可したバケットのみ表示し、許可してないバケットは非表示にしたい。」

こんな要望をお客様からよくいただくのですが、
残念ながらバケットリスト画面は、「全部表示」か「エラー」のどちらかしかできません。(できる方法があったら教えてください...)

ただし、それの代替案として、「許可したバケットのみコンソールアクセスさせる」ことは可能です。
以下が公式ドキュメントです。

特定のバケットのみへのユーザー Amazon S3 Console のアクセス権限を付与する

これを試してみました。

「許可したバケットのみコンソールアクセスさせる」をやってみた

手順としては以下の通りとなります。

  • S3バケットを作成する
  • 任意のIAMユーザーを作成する
  • ドキュメントに記載のIAMポリシーを作成し、IAMユーザーにアタッチする
  • 専用URLからアクセスする

ほぼドキュメント通りなので詳細な手順は割愛します。

  • 対象のIAMユーザー名: TestUserA
  • 対象のS3バケット名: test-cm-1912117
  • 対象のS3バケットアクセス専用URL: https://s3.console.aws.amazon.com/s3/buckets/test-cm-191217/

上記で設定した後、実際に専用URLにアクセスするとこんな画面が表示されました。

バケットリスト画面を飛び越して、バケット詳細画面にアクセスすることができました。

許可したバケットのコンソール操作だけならこれで行けそうですね。

ちなみに、バケットリスト画面に戻ってみると、

やはり、こちらはエラーになりました。

終わりに

専用URLを配布すれば、対象のユーザーにバケット詳細画面にコンソールアクセスが可能であることが確認できました。 気になる方は、是非一度試してみてください。