[AWS]AWSソリューションアーキテクトアソシエイト出題試験範囲 第4回 〜Operation/S3〜
1 min readこんばんは!
今回は、S3へのアクセス方式を解説しようと思うのですが、なかなか量が多いので2回に分けて解説させてください!
S3にアクセスするにはいくつかの方式があるのですが、外部からのアクセスと内部からのアクセスでは、セキュリティ面などで気をつけなくてはならないことがいくつかあります。
今回のお品書きです。
- パブリックアクセスについて
- クロスアカウントアクセスについて
- Assume Roleについて
- まとめ
1.パブリックアクセスについて
パブリックアクセス設定とは、外部(インターネット)にバケットを公開するか否かの設定で、初期設定では、全てブロックする設定になってます。
というのも、AWSがパブリクアクセスを無効にすることを推奨しており、一番最初に設定するパブリックアクセス設定の権限は最強です!
初期設定でパブリックアクセスを全てブロックすると、S3のACLやバケットポリシーでパブリックアクセスを許可したとしても、アクセスができなくなりますので注意してください。
↓バケット作成時に、設定することができます!
2.クロスアカウントアクセスについて
クロスアカウントアクセスとは、別のアカウントに対して、S3バケットの中身を見せたり、使えるようにすることができる機能で、バケットをシェアできます。
クロスアカウントアクセスを行う方法は3種類あります、基本的には今まで学習してきたことの応用的な感じですので、割と私は理解ができました!
- バケットポリシーとIAMポリシーによる許可
・S3バケットにアクセスの許可をするIAMポ
リシーを設定する。
・バケットでアカウントを指定して許可設定を
する。
・IAMユーザ、IAMロールでの設定が必要にな
る。 - ACLとIAMポリシーによる許可
・S3バケットにオブジェクトへの操作を許可す
るための、IAMポリシーを使用
・S3バケットの特定オブジェクトへの、クロス
アカウントアクセスは、ACLでアカウントを
指定する。
- IAMロールの許可
・Assume Roleを利用して、S3バケットオブ
ジェクトへのプログラムによるアクセスと、
コンソールアクセスのための、クロスアカウ
ントのIAMロールを作成する。
・ユーザーAからAssume Roleされることを許
可したロールBに対して権限を付与する。
3.Assume Roleについて
Assume Roleとは、IAMロールを引き受けるアクションで、Linuxコマンドの「su△- 」に似ていると思いました。
AWS STS(Security Token Service)を使用することで、IAMロールの権限を一時的に別のアカウントなどに譲渡することです。
他のサイトでは、「お面を被る」という表現されている方が多いですが、一番しっくりくる例えかと思います。まぁ、IAMロールを使用してなりきるイメージです!
4.まとめ
・パブリックアクセスの権限は強力で
バケット作成時に設定ができる。
・クロスアカウントアクセスを使用し
て、別のアカウントとS3を共有する
ことができる。
・Assume Roleは一時的にIAMロール
権限を引き渡すことができる。