IAM Access Analyzer for S3 を使用したバケットアクセスの確認 - Amazon Simple Storage Service

IAM Access Analyzer for S3 を使用したバケットアクセスの確認

IAM Access Analyzer for S3 は、インターネットの任意のユーザーや他の AWS アカウント (組織外の AWS アカウントを含む) にアクセスを許可するように設定されている S3 バケットに関して警告します。パブリックバケットまたは共有バケットごとに、パブリックアクセスや共有アクセスのソースとレベルを示す結果が送信されます。例えば、IAM Access Analyzer for S3 は、バケットのアクセスコントロールリスト (ACL)、バケットポリシー、マルチリージョンアクセスポイントポリシー、またはアクセスポイントポリシーを通じて、バケットに読み取りまたは書き込みのアクセス許可が提供されていることを示す場合があります。この情報を用いて、迅速で正確な是正処置を講じ、バケットへのアクセスを意図したとおりに復元できます。

IAM Access Analyzer for S3 でリスクのあるバケットを確認した場合、ワンクリックでバケットへのすべてのパブリックアクセスをブロックできます。特定のユースケースをサポートするためにパブリックアクセスが必要な場合を除き、バケットへのすべてのアクセスをブロックすることをお勧めします。すべてのパブリックアクセスをブロックする前に、アプリケーションがパブリックアクセスなしで正常に動作することを確認してください。詳細については、Amazon S3 ストレージへのパブリックアクセスのブロック を参照してください。

また、バケットレベルのアクセス許可の設定を参照して、きめ細かいアクセスレベルを設定することもできます。静的なウェブサイトホスティング、パブリックダウンロード、クロスアカウント共有など、パブリックアクセスを必要とする特定の検証済みユースケースについては、バケットの結果をアーカイブすることで、バケットをパブリックまたは共有とすることを確定して記録できます。これらのバケット設定はいつでも再確認および変更できます。結果は、監査目的で CSV レポートとしてダウンロードすることもできます。

IAM Access Analyzer for S3 は、Amazon S3 コンソールで追加料金なしで使用できます。IAM Access Analyzer for S3 は、AWS Identity and Access Management (IAM) IAM Access Analyzer を利用しています。Amazon S3 コンソールで IAM Access Analyzer for S3 を使用するには、IAM コンソールにアクセスして、リージョンごとに IAM Access Analyzer を有効にする必要があります。

IAM Access Analyzer の詳細については、「IAM ユーザーガイド」の「IAM Access Analyzer とは?」を参照してください。IAM Access Analyzer for S3 の詳細については、次のセクションを参照してください。

重要
  • IAM Access Analyzer for S3 には、アカウントレベルのアナライザーが必要です。IAM Access Analyzer for S3 を使用するには、IAM Access Analyzer にアクセスして、信頼ゾーンとしてアカウントを持つアナライザーを作成する必要があります。詳細については、IAM ユーザーガイド の「IAM Access Analyzer の有効化」を参照してください。

  • IAM Access Analyzer for S3 は、クロスアカウントアクセスポイントにアタッチされているアクセスポイントポリシーを分析しません。この動作は、アクセスポイントとそのポリシーが信頼ゾーン、つまりアカウントの外にあるために発生します。クロスアカウントアクセスポイントへのアクセスを委任するバケットは、バケットまたはアカウントにパブリックアクセスをブロックする RestrictPublicBuckets 設定を適用していない場合、[Buckets with public access] (パブリックアクセスのあるバケット) に一覧表示されます。パブリックアクセスをブロックする設定 RestrictPublicBuckets を適用すると、そのバケットは、[サードパーティーの AWS アカウント を含む他の AWS アカウント からのアクセスがあるバケット] に表示されます。

  • バケットポリシーまたはバケット ACL を追加または変更すると、IAM Access Analyzer は 30 分以内に変更に基づいて結果を生成および更新します。アカウントレベルのブロックパブリックアクセス設定に関連する結果は、設定を変更してから最大 6 時間まで生成または更新されない場合があります。マルチリージョンアクセスポイントに関連する調査結果は、マルチリージョンアクセスポイントの作成、削除、またはポリシーの変更後、最大 6 時間は生成または更新できない場合があります。

IAM Access Analyzer for S3 はどのような情報を提供しますか?

IAM Access Analyzer for S3 は、AWS アカウント 外からアクセスできるバケットに関する結果を提供します。[Buckets with public access (パブリックアクセスを許可するバケット)] に表示されるバケットには、インターネットの任意のユーザーがアクセスできます。IAM Access Analyzer for S3 がパブリックバケットを特定すると、リージョン内のパブリックバケット数を示す警告もページの上部に表示されます。第三者を含む、他の AWS アカウント からアクセスのあるバケット — サード・パーティーを含む AWS アカウントでリスト化したバケットは、組織外のアカウントを含む他の AWS アカウント という条件付きで共有されます。

IAM Access Analyzer for S3 は、バケットごとに次の情報を提供します。

  • バケット名

  • Access Analyzer によって検出 − IAM Access Analyzer for S3 がパブリックまたは共有バケットアクセスを検出したとき。

  • 共有方法 − バケットの共有方法 — バケットポリシー、バケット ACL、マルチリージョンアクセスポイントポリシー、またはアクセスポイントポリシーを通じて。マルチリージョンアクセスポイントおよびクロスアカウントアクセスポイントは、アクセスポイントの下に反映されます。バケットは、ポリシーと ACL の両方を通じて共有できます。バケットアクセスのソースを検索して確認する場合は、この列の情報をまず使用して、迅速で正確な是正措置を実行できます。

  • ステータス - バケット結果のステータス。IAM Access Analyzer for S3 には、すべてのパブリックバケットと共有バケットの検出結果が表示されます。

    • アクティブ − 結果は確認されていません。

    • アーカイブ済み − 結果は意図したとおりにレビューおよび確認されています。

    • すべて ‐ パブリックバケット、または他の AWS アカウント (組織外の AWS アカウント を含む) との共有バケットに関するすべての結果。

  • アクセスレベル − バケットに付与されているアクセス許可:

    • リスト − リソースを一覧表示します。

    • 読み取り − リソースの内容と属性を読み取ります (ただし、編集しません)。

    • 書き込み − リソースを作成、削除、または変更します。

    • アクセス許可 − リソースに対するアクセス許可を付与または変更します。

    • タグ付け − リソースに関連付けられているタグを更新します。

IAM Access Analyzer for S3 の有効化

IAM Access Analyzer for S3 を使用するには、前提条件に関する以下のステップを完了する必要があります。

  1. 必要なアクセス権限を付与します。

    詳細については、IAM ユーザーガイドの「IAM Access Analyzer の使用に必要なアクセス許可」を参照してください。

  2. IAM にアクセスして、IAM Access Analyzer を使用するリージョンごとにアカウントレベルのアナライザーを作成します。

    IAM Access Analyzer for S3 には、アカウントレベルのアナライザーが必要です。IAM Access Analyzer for S3 を使用するには、信頼ゾーンとしてアカウントを持つアナライザーを作成する必要があります。詳細については、IAM ユーザーガイド の「IAM Access Analyzer の有効化」を参照してください。

すべてのパブリックアクセスのブロック

バケットへのすべてのアクセスをワンクリックでブロックする場合は、IAM Access Analyzer for S3 の [Block all public access] (すべてのパブリックアクセスをブロック) ボタンを使用できます。バケットへのすべてのパブリックアクセスをブロックすると、一切のパブリックアクセスが許可されません。特定の検証済みユースケースをサポートするためにパブリックアクセスが必要な場合を除き、バケットへのすべてのパブリックアクセスをブロックすることをお勧めします。すべてのパブリックアクセスをブロックする前に、アプリケーションがパブリックアクセスなしで正常に動作することを確認してください。

バケットへのすべてのパブリックアクセスをブロックしたくない場合は、Amazon S3 コンソールでブロックパブリックアクセス設定を編集して、バケットへの詳細なアクセスレベルを設定できます。詳細については、「Amazon S3 ストレージへのパブリックアクセスのブロック」を参照してください。

まれに、Amazon S3 パブリックアクセスブロックの評価でパブリックと報告されたバケットが IAM Access Analyzer for S3 では何も報告されない場合があります。これは、Amazon S3 パブリックアクセスブロックでは、ポリシーの現在のアクションだけでなく、後で追加される可能性があるアクションについても、バケットがパブリックになるかどうかが確認されるためです。一方、IAM Access Analyzer for S3 は、アクセスの状態の評価で Amazon S3 サービスに指定されている現在のアクションのみを分析します。

IAM Access Analyzer for S3 を使用してバケットへのすべてのパブリックアクセスをブロックするには
  1. AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

  2. 左側のナビゲーションペインの [ダッシュボード] で、[Access analyzer for S3 (S3 のアクセスアナライザー)] を選択します。

  3. IAM Access Analyzer for S3 で、バケットを選択します。

  4. [Block all public access (すべてのパブリックアクセスをブロック)] を選択します。

  5. バケットへのすべてのパブリックアクセスをブロックすることを確定するには、[Block all public access (bucket settings) (すべてのパブリックアクセスをブロック (バケット設定))] に「confirm」と入力します。

    Amazon S3 は、バケットへのすべてのパブリックアクセスをブロックします。バケットの検出結果のステータスが [解決済み] に更新され、バケットが IAM Access Analyzer for S3 のリストから消えます。解決済みのバケットを確認する場合は、IAM コンソールで IAM Access Analyzer を開きます。

バケットアクセスの確認と変更

パブリックアカウントや他の AWS アカウント アカウント (組織外のアカウントを含む) にアクセスを許可しない場合は、バケット ACL、バケットポリシー、マルチリージョンアクセスポイントポリシー、またはアクセスポイントポリシーを変更してバケットへのアクセスを削除できます。[Shared Through] 列には、バケットアクセスのすべてのソース (バケットポリシー、バケット ACL、アクセスポイントポリシー) が表示されます。マルチリージョンアクセスポイントおよびクロスアカウントアクセスポイントは、アクセスポイントの下に反映されます。

バケットポリシー、バケット ACL、マルチリージョンアクセスポイント、またはアクセスポイントポリシーを確認および変更するには
  1. https://console.aws.amazon.com/s3/ で Amazon S3 コンソールを開きます。

  2. ナビゲーションペインで、[Access analyzer for S3 (S3 のアクセスアナライザー)] を選択します。

  3. パブリックアクセスまたは共有アクセスが、バケットポリシー、バケット ACL、マルチリージョンアクセスポイントポリシー、またはアクセスポイントポリシーを通じて許可されているかどうかを確認するには、[Shared through] 列を調べます。

  4. [バケット] で、バケットポリシー、バケット ACL、マルチリージョンアクセスポイントポリシー、またはアクセスポイントポリシーを変更または確認するバケットの名前を選択します。

  5. バケット ACL を変更または表示するには

    1. [Permissions] を選択します。

    2. [Access Control List] を選択します。

    3. バケット ACL を確認し、必要に応じて変更します。

      詳細については、ACL の設定 を参照してください。

  6. バケットポリシーを変更または確認するには

    1. [Permissions] を選択します。

    2. [バケットポリシー] を選択します。

    3. 必要に応じて、バケットポリシーを確認または変更します。

      詳細については、Amazon S3 コンソールを使用したバケットポリシーの追加 を参照してください。

  7. マルチリージョンアクセスポイントポリシーを確認または変更するには

    1. [マルチリージョンアクセスポイント] を選択します。

    2. マルチリージョンアクセスポイント名を選択します。

    3. 必要に応じて、マルチリージョンアクセスポイントポリシーを確認または変更します。

      詳細については、許可 を参照してください。

  8. アクセスポイントポリシーを確認または変更するには

    1. [access points] (アクセスポイント) を選択します。

    2. アクセスポイント名を選択します。

    3. 必要に応じてアクセスを確認または変更します。

      詳細については、Amazon S3 コンソールでの Amazon S3 アクセスポイントの使用 を参照してください。

    バケット ACL、バケットポリシー、アクセスポイントポリシーを編集または削除してパブリックアクセスまたは共有アクセスを削除すると、バケットの結果のステータスが解決済みに更新されます。解決済みのバケットの検出結果は IAM Access Analyzer for S3 リストから消えますが、IAM Access Analyzer で表示できます。

バケットの結果のアーカイブ

バケットが、特定のユースケース (静的ウェブサイト、パブリックダウンロード、クロスアカウント共有など) をサポートするために、パブリックアカウントや他の AWS アカウント (組織外のアカウントを含む) へのアクセスを許可する場合は、バケットの結果をアーカイブできます。バケットの結果をアーカイブする場合、バケットをパブリックまたは共有にすることを確定して記録します。アーカイブされたバケットの検出結果は IAM Access Analyzer for S3 リストに残るため、どれがパブリックバケットまたは共有バケットであるかを常に把握できます。

IAM Access Analyzer for S3 でバケットの検出結果をアーカイブするには
  1. https://console.aws.amazon.com/s3/ で Amazon S3 コンソールを開きます。

  2. ナビゲーションペインで、[Access analyzer for S3 (S3 のアクセスアナライザー)] を選択します。

  3. IAM Access Analyzer for S3 で、アクティブなバケットを選択します。

  4. このバケットにパブリックアカウントや他の AWS アカウント (組織外のアカウントを含む) からアクセスすることを確定するには、[Archive] (アーカイブ) を選択します。

  5. confirm」と入力し、[アーカイブ] を選択します。

アーカイブされたバケットの結果の有効化

結果のアーカイブ後は、いつでも結果に再アクセスし、ステータスをアクティブに戻すことができます。この場合、バケットには別のレビューが必要になります。

アーカイブされたバケットの検出結果を IAM Access Analyzer for S3 でアクティブにするには
  1. https://console.aws.amazon.com/s3/ で Amazon S3 コンソールを開きます。

  2. ナビゲーションペインで、[Access analyzer for S3 (S3 のアクセスアナライザー)] を選択します。

  3. アーカイブされたバケットの結果を選択します。

  4. [Mark as active (アクティブとしてマーク)] を選択します。

結果の詳細の表示

バケットの詳細情報を表示する必要がある場合は、IAM コンソールの IAM Access Analyzer でバケットの結果の詳細を開くことができます。

IAM Access Analyzer for S3 で検出結果の詳細を表示するには
  1. https://console.aws.amazon.com/s3/ で Amazon S3 コンソールを開きます。

  2. ナビゲーションペインで、[Access analyzer for S3 (S3 のアクセスアナライザー)] を選択します。

  3. IAM Access Analyzer for S3 で、バケットを選択します。

  4. [View details] (詳細を表示する) をクリックします。

    結果の詳細が IAM コンソールの IAM Access Analyzer で開きます。

IAM Access Analyzer for S3 レポートのダウンロード

バケットの結果を CSV レポートとしてダウンロードし、監査目的に使用できます。レポートには、Amazon S3 コンソールの IAM Access Analyzer for S3 に表示される情報と同じ情報が含まれます。

レポートをダウンロードするには
  1. https://console.aws.amazon.com/s3/ で Amazon S3 コンソールを開きます。

  2. 左側のナビゲーションペインで、[Access analyzer for S3 (S3 のアクセスアナライザー)] を選択します。

  3. [リージョンフィルタ] で、[リージョン] を選択します。

    IAM Access Analyzer for S3 が更新され、選択したリージョンのバケットが表示されます。

  4. [レポートのダウンロード] を選択します。

    CSV レポートが生成され、コンピュータに保存されます。