パブリック読み取りアクセス権を持つ Amazon S3 バケットからの 403 アクセス拒否エラーをトラブルシューティングする方法を教えてください。

所要時間1分
0

Amazon Simple Storage Service (Amazon S3) バケット内の、パブリック読み取りアクセスを許可するオブジェクトにアクセスしようと考えています。しかし、403 アクセス拒否エラーが表示されます。

解決策

パブリック S3 バケットからオブジェクトにアクセスできない場合は、AWS Systems Manager で AWSSupport-TroubleshootS3PublicRead 自動化ランブックを実行します。これは、バケットポリシーやオブジェクトのアクセスコントロールリスト (ACL) など、バケットとオブジェクトに影響するいくつかのアクセス許可設定を分析するのに役立ちます。

注: AWS Support-TroubleshootS3PublicRead ランブックでは、パブリックに読み取り可能なオブジェクトからの 403 エラーが分析されます。これにより、プライベートなオブジェクトのアクセス許可が評価されることはありません。

  1. Systems Manager コンソールを開きます。
  2. ナビゲーションペインで、[オートメーション] を選択します。
  3. [オートメーションの実行] を選択します。
  4. [ドキュメントの選択] で、[Amazon が所有] タブを選択します。
  5. オートメーションドキュメントの検索バーに [AWSSupport-TroubleshootS3PublicRead] と入力し、Enter を押します。
  6. [AWSSupport-TroubleshootS3PublicRead] を選択します。
  7. [オートメーションの実行] を選択します。
  8. [シンプルな実行] を選択します。
  9. (オプション) [AutomationAssumeRole] で、バケットへのリクエストの送信時に Systems Manager が引き継ぐ AWS Identity and Access Management (IAM) ロールを選択できます。このフィールドを空白のままにすると、Systems Manager は現在の IAM ID を使用してランブックを設定します。
    重要: 選択する IAM ロールのトラストポリシーでは、Systems Manager Automation によるロールの引き継ぎが許可される必要があります。また、IAM ロールにはランブックのために必要なアクセス許可が必要です。「AWSSupport-TroubleshootS3PublicReads」の「必要な IAM アクセス許可」セクションを参照してください。
  10. [S3BucketName] で、トラブルシューティングする S3 バケットの名前を入力します。
  11. (オプション) [S3PrefixName] で、分析するプレフィックスを指定できます。このフィールドを空白のままにすると、ランブックではバケットが一覧表示され、最初のいくつかのオブジェクトが辞書順に評価されます。
  12. (オプション) [StartAfter] で、ランブックの一覧表示を開始するキーの名前を指定できます。
  13. [MaxObjects] で、ランブックで評価するオブジェクトの最大数を入力します。デフォルト値は [5] です。
  14. [IgnoreBlockPublicAccess] では、値を false のままにしておくことがベストプラクティスです。
    **警告:**値を true に変更すると、アクセスをブロックする可能性のある Amazon S3 パブリックアクセスブロックの設定は無視されます。
  15. [HttpGet] では、ランブックで各オブジェクトに対する部分的な HTTP GET リクエスト (最初のバイト) を実行する場合、値を true のままにしておきます。ランブックで完全な GET リクエストを実行させたい場合は、値を false に変更します。
  16. [詳細] で、分析中に詳細情報を表示するには、true を入力します。警告とエラーメッセージのみを表示するには、false を入力します。
  17. (オプション) [CloudWatchLogGroupName] に、分析結果を送信する Amazon CloudWatch ロググループ名を入力できます。名前を指定してもロググループが存在しない場合、ランブックによりその名前でロググループが作成されます。
  18. (オプション) [CloudWatchLogStreamName] で、分析結果を送信する CloudWatch ログストリーム名を入力できます。名前を指定してもロググループが存在しない場合、ランブックによりその名前でロググループが作成されます。このフィールドを空白のままにすると、ランブックはログストリーム名としてランブックの実行 ID を使用します。
  19. [ResourcePartition] で、S3 バケットがあるパーティションを選択します。オプションは awsaws-us-govaws-cn です。
  20. (オプション) [タグ] で、キーと値のペアのタグを 5 つまで入力できます。
  21. [実行] を選択します。
  22. [実行ステータス] を使用して、ランブックの進行状況を追跡します。
  23. ステータスが [成功] になったら、[出力] に一覧表示される結果を確認します。結果には、ランブックが評価した各オブジェクトのエラーコードが含まれる場合があります。これらのエラーコードを使用して、各オブジェクトへの匿名リクエストに対するアクセス拒否エラーの原因を診断します。
    ヒント: 評価における個々の手順の結果を確認するには、[実行されたステップ] で関連するステップ ID をクリックします。[実行されたステップ] は、[実行ステータス] の下に表示されます。
コメントはありません

関連するコンテンツ