質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

意見交換

クローズ

3回答

161閲覧

EC2からS3にアクセスする際のポリシーについて

eeteet072

総合スコア0

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2024/03/16 05:13

0

0

テーマ、知りたいこと

同一アカウント内でEC2からS3へアクセスする方法としては

①EC2に対して「S3アクセス許可ポリシーを設定したIAMロール」を適用する
もしくは
②S3のバケットポリシーでEC2からのアクセス許可を行う

この2種類があると思いますが、一般的にはどちらのほうが使い勝手が良いのでしょうか?
異なるアカウントなら①②両方とも許可しないといけないので迷うことはないと思うのですが
同一アカウントの場合はどっちを使うべきか迷ったのでご存知の方教えて下さい。

背景、状況

テーマや知りたいことについて、なぜ聞きたいかの背景やどういった状況かを書いてください。
詳しく記入することで、良い回答が得られやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答3

#1

yu_1985

総合スコア7447

投稿2024/03/17 08:16

使い勝手というより、目的によって使い分けるものです。
この場合の「アクセス」というのが何を想定しているのかにもよりますが。
基本的にはAWSの別リソースからアクセスする場合(今回で言うと特定のEC2インスタンス)、そちら側にIAMによって許可のポリシーを与えてアクセスできるようにすることがほとんどかと思います。
これをバケットポリシーで行おうとした場合、例えばEC2インスタンスのARNを直接指定してアクセス許可を与えようとした場合、EC2インスタンスをTerminateして作り直す旅にARNが変わってしまい、都度バケットポリシーを変更しなければならないので面倒です。
タグを使うなどの方法もありますが、IAMロールによって権限を与えられるサービスであればそれよりはロール側に権限を与えて制御するほうが簡単です。

このあたりのことは以下記事が詳しいです。
S3 のオブジェクトACLの無効化が推奨となったので、改めて IAM ポリシーと S3 バケットポリシーの評価論理をまとめてみた

異なるアカウントなら①②両方とも許可しないといけない

いいえ、AssumeRoleの設定によりIAMのみで実現可能で、クロスアカウントであるからといってバケットポリシーが必要か否かは関係がありません。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#2

eeteet072

総合スコア0

投稿2024/03/24 13:44

#1
ありがとうございます。

以下のご回答についてですが、AssumeRoleを使わない場合は①②両方とも許可という認識で間違っていないですよね?

いいえ、AssumeRoleの設定によりIAMのみで実現可能で、クロスアカウントであるからといってバケットポリシー>が必要か否かは関係がありません。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#3

yu_1985

総合スコア7447

投稿2024/03/24 17:53

#2

AssumeRoleを使わない場合は①②両方とも許可という認識で間違っていないですよね?

ここでいうアクセスがS3のAPIを用いたアクセスなのか否かで大きく話が変わってきます。
S3のAPIを使用したいのであれば、S3のAPIを使用する権限がEC2側にないとそもそもEC2側でAPIを呼び出せないので相手側がどう設定していようと関係がないですね。

参考記事にもバケットポリシーでのアクセス許可とIAMによるアクセス許可どっちが何に向いているのかが書いてありますが、EC2からのアクセスは基本的にIAMのみで制限することをお勧めします。

なお同一アカウントだとバケットポリシーの設定はそもそも不要で、IAMポリシーのみで制御できます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問