【Security Hub修復手順】[S3.12] バケットへのユーザーアクセスを管理用として、S3 アクセスコントロールリスト (ACL) を使用しないでください

AWS SecurityHub 基礎セキュリティのベストプラクティスコントロール修復手順をご紹介します。
2023.02.10

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、AWS事業本部の平井です。

皆さん、お使いのAWS環境のセキュリティチェックはしていますか?

当エントリでは、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介します。

本記事の対象コントロール

[S3.12] バケットへのユーザーアクセスを管理用として、S3 アクセスコントロールリスト (ACL) を使用しないでください

[S3.12] S3 access control lists (ACLs) should not be used to manage user access to buckets

前提条件

本記事はAWS Security Hubで「AWS基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容です。 AWS Security Hubの詳細についてはこちらのブログをご覧ください。

コントロールの説明

このコントロールは、S3 ACLが利用されているかをチェックします。

ACLが有効化されていると失敗します。

ACLは、オブジェクト単位でも設定できるため、意図しないオブジェクトがパブリックになる可能性があります。

また、バケットポリシーほど柔軟なアクセス制御ができません。

そのため、ACLは無効にし、S3バケットポリシー(リソースベースポリシー)やIAMポリシー(アイデンティティベースポリシー)でのアクセス制御を推奨します。

修正手順

1 ステークホルダーに確認

ステークホルダー(リソースの作成者や管理している部署などの関係者)に以下を確認します。

  • 対象のS3バケットのACL設定を無効化してよいか
    • 無効にする際は、S3バケットポリシーやIAMポリシーでのアクセス制御を決めておく必要があります。

2 ACLの無効化

事前に、対象のS3バケットのバケッポリシーやIAMポリシーでのアクセス制御を設定しておきます。

  1. S3のダッシュボードから対象のバケットをクリックします。
  2. [アクセス許可]タブの[オブジェクト所有者]の[編集]をクリックします。
  3. [ACL 無効 (推奨)]に変更します。
  4. ACLの欄を見ると、[編集]をクリックできないようになっていますね。

これで、ACLを無効化することができました。

  • ACLを有効に戻したい場合、[オブジェクト所有者を編集]から[ACL 有効]を選択し、了承にチェックすることで、戻すことができます。その後、ACLを編集しましょう。

最後に

今回は、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介しました。

コントロールを修正して、お使いのAWS環境のセキュリティをパワーアップさせましょう!

最後までお読みいただきありがとうございました!どなたかのお役に立てれば幸いです。

以上、平井でした!