まず「S3へのアクセス」といったときにS3の何に対するアクセスかを意識する必要があります。
またS3自体にもたくさんアクセスコントロールの概念があります。
S3のアクセスコントロール全体についてもう少し理解を深めましょう。
- バケットポリシーは必須ではなく、IAMロールやIAMユーザに権限があればアクセスが可能です。
少し補足をすると、IAMによって制御しているのは「S3というサービスのAPIに対するアクセス」です。
- バケットポリシーではIAMのみならず、色んなものを対象にアクセスコントロールができます。
必ずしもIAMとのみ組み合わせるものではありません。許可だけでなく拒否もできます。
例えばIP制限とかもできますし、AWSの別のサービスからのアクセスを許可するなんてこともできます。
バケットポリシーを使えば非常に多岐に渡るアクセスコントロールが可能です。
バケットポリシーの例
S3バケットポリシーの具体例で学ぶAWSのPolicyドキュメント
プリンシパル
Amazon S3 のアクション
Amazon S3 の条件キー
ただ、個人的にはあまりACLは使わないですね。
- 単にリソースに対する参照を許可したいなら、S3上のオブジェクトを公開することが出来ます
- S3上のオブジェクトの公開とはまた別に、S3で静的サイトをホスティングする設定もできます
- S3のAPIに対するアクセス制御という意味であれば、IAMポリシーによる制御もできます
- 一時的な公開として、Pre-Signed URLを発行して有効期限付きでダウンロード/アップロードをさせることも可能です。
【AWS S3】S3 Presigned URLの仕組みを調べてみた
S3に対するアクセスコントロールの方法については少々ややこしいですが、まとまっているところがあるので一度確認してみてください。
もちろん公式を見るほか、ここ以外にも調べると色々出てきます。
S3のアクセスコントロールまとめ
バケットポリシーとユーザーポリシー
S3のアクセス制限(バケットポリシー, IAMポリシー, ACL)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/09 06:14
2021/06/09 06:38
2021/06/09 06:58