

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# `AWSSupport-TroubleshootS3PublicRead`
<a name="automation-awssupport-troubleshoots3publicread"></a>

 **説明** 

 `AWSSupport-TroubleshootS3PublicRead` ランブックは、`S3BucketName` パラメータで指定したパブリック Amazon Simple Storage Service (Amazon S3) バケットからのオブジェクトの読み取りに関する問題を診断します。S3 バケット内のオブジェクトについても、設定のサブセットが分析されます。

 [このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootS3PublicRead) 

 **制限事項** 
+ この自動化では、オブジェクトへのパブリックアクセスを許可するアクセスポイントはチェックされません。
+ この自動化では、S3 バケットポリシーの条件キーは評価されません。
+ を使用している場合 AWS Organizations、この自動化は Amazon S3 へのアクセスが許可されていることを確認するためにサービスコントロールポリシーを評価しません。

**ドキュメントタイプ**

オートメーション

**[所有者]**

Amazon

**[Platforms]** (プラットフォーム)

Linux、macOS、Windows

**パラメータ**
+ AutomationAssumeRole

  タイプ: 文字列

  説明: (オプション) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールを指定しない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。
+ CloudWatchLogGroupName

  タイプ: 文字列

  説明: (オプション) オートメーション出力を送信する Amazon CloudWatch Logs のロググループ。指定した値に一致するロググループが見つからない場合、自動化ではこのパラメータ値を使用してロググループが作成されます。この自動化によって作成されるロググループの保存期間は 14 日間です。
+ CloudWatchLogStreamName

  タイプ: 文字列

   説明: (オプション) オートメーション出力を送信する CloudWatch Logs ログストリーム。指定した値に一致するログストリームが見つからない場合、自動化ではこのパラメータ値を使用してログストリームが作成されます。このパラメータに値を指定しない場合、自動化ではログストリームの名前に `ExecutionId` を使用します。
+ HttpGet

  タイプ: ブール値

  有効な値: true \$1 false

  デフォルト: true

   説明: (オプション) このパラメータを `true` に設定すると、自動化では指定した `S3BucketName` のオブジェクトに部分的 HTTP リクエストを行います。Range HTTP ヘッダーを使用して、オブジェクトの最初のバイトのみが返されます。
+ IgnoreBlockPublicAccess

  タイプ: ブール値

  有効な値: true \$1 false

  デフォルト: false

   説明: (オプション) このパラメータを `true` に設定すると、自動化では `S3BucketName` パラメータで指定した S3 バケットのパブリックアクセスブロック設定を無視します。このパラメータのデフォルト値を変更することは推奨されません。
+ MaxObjects

  タイプ: 整数

  有効な値: 1～25

  デフォルト: 5

   説明: (オプション) `S3BucketName` パラメータで指定した S3 バケットで分析するオブジェクト数。
+ S3BucketName

  タイプ: 文字列

  説明: (必須) トラブルシューティングする S3 バケットの名前。
+ S3PrefixName

  タイプ: 文字列

   説明: (オプション) S3 バケットで分析するオブジェクトのキー名プレフィックス。詳細については、*Amazon Simple Storage Service ユーザーガイド*の[オブジェクトキー](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html#object-keys)を参照してください。
+ StartAfter

  タイプ: 文字列

  説明: (オプション) 自動化で S3 バケット内のオブジェクトの分析を開始するオブジェクトキーの名前。
+ ResourcePartition

  タイプ: 文字列

   有効な値: `aws` \$1 `aws-us-gov` \$1 `aws-cn` 

   デフォルト: `aws` 

  説明: (必須) S3 バケットがあるパーティション。
+ 詳細

  タイプ: ブール値

  有効な値: true \$1 false

  デフォルト: false

   説明: (オプション) 自動化中に詳細情報を返すには、このパラメータを `true` に設定します。パラメータが `false` に設定されている場合、警告メッセージとエラーメッセージのみが返されます。

**必要な IAM アクセス許可**

`AutomationAssumeRole` パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。

 `logs:CreateLogGroup`、`logs:CreateLogStream`、および`logs:PutLogEvents` アクセス許可は、オートメーションでログデータを CloudWatch Logs に送信する場合にのみ必要です 。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "iam:SimulateCustomPolicy",
                "iam:GetContextKeysForCustomPolicy",
                "s3:ListAllMyBuckets",
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:PutRetentionPolicy",
                "s3:GetAccountPublicAccessBlock"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:GetObjectTagging"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation",
                "s3:GetBucketPublicAccessBlock",
                "s3:GetBucketRequestPayment",
                "s3:GetBucketPolicyStatus",
                "s3:GetBucketPolicy",
                "s3:GetBucketAcl"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1",
            "Effect": "Allow"
        }
    ]
}
```

------

 **ドキュメントステップ** 
+  `aws:assertAwsResourceProperty` - S3 バケットが存在し、アクセス可能であることを確認します。
+  `aws:executeScript` - S3 バケットの場所と正規ユーザー ID を返します。
+  `aws:executeScript` - アカウントと S3 バケットのパブリックアクセスブロック設定を返します。
+  `aws:assertAwsResourceProperty` - S3 バケットの支払者が `BucketOwner` に設定されていることを確認します。`Requester Pays` が S3 バケットで有効になっている場合、自動化は終了します。
+  `aws:executeScript` - S3 バケットポリシーのステータスを返し、パブリックと見なされるかどうかを判断します。パブリック S3 バケットの詳細については、Amazon Simple Storage Service ユーザーガイドの[「「パブリック」の意味」](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html#access-control-block-public-access-policy-status)を参照してください。
+  `aws:executeAwsApi` - S3 バケットポリシーを返します。
+  `aws:executeAwsApi` - S3 バケットポリシーで見つかったすべてのコンテキストキーを返します。
+  `aws:assertAwsResourceProperty` - `GetObject` API アクションの S3 バケットポリシーに明示的な拒否があるかどうかを確認します。
+  `aws:executeAwsApi` - S3 バケットのアクセスコントロールリスト (ACL) を返します。
+  `aws:executeScript` - `CloudWatchLogGroupName` パラメータの値を指定した場合、CloudWatch Logs ロググループとログストリームを作成します。
+  `aws:executeScript` - ランブックの入力パラメータで指定された値に基づいて、オートメーション実行中に収集された S3 バケット設定のいずれかが、パブリックによるオブジェクトへのアクセスを妨げているのかどうかを評価します。このスクリプトは以下の関数を実行します。
  + パブリックアクセスブロック設定を評価する
  +  `MaxObjects`、`S3PrefixName`、および `StartAfter` パラメータで指定した値に基づいて S3 バケットからオブジェクトを返します。
  + S3 バケットから返されたオブジェクトのカスタム IAM ポリシーをシミュレートする S3 バケットポリシーを返します。
  +  `HttpGet` パラメータが `true` に設定されている場合、返されたオブジェクトに対して部分的 HTTP リクエストを実行します。Range HTTP ヘッダーを使用して、オブジェクトの最初のバイトのみが返されます。
  + 返されたオブジェクトのキー名をチェックして、最後が 1 つか 2 つのピリオドになっているかどうかを確認します。ピリオドで終わるオブジェクトキー名は、Amazon S3 コンソールからダウンロードできません。
  + 返されたオブジェクトの所有者が S3 バケットの所有者と一致するかどうかをチェックします。
  +  オブジェクトの ACL が匿名ユーザーに `READ` または `FULL_CONTROL` アクセス許可を付与するかどうかをチェックします。
  + オブジェクトに関連付けられたタグを返します。
  +  シミュレートされた IAM ポリシーを使用して、`GetObject` API アクションの S3 バケットポリシーでこのオブジェクトに対する明示的な拒否があるかどうかを確認します。
  + オブジェクトのメタデータを返し、ストレージクラスがサポートされていることを確認します。
  + オブジェクトのサーバー側の暗号化設定をチェックして、オブジェクトが AWS Key Management Service (AWS KMS) カスタマーマネージドキーを使用して暗号化されているかどうかを確認します。

 **[出力] ** 

AnalyzeObjects.bucket

AnalyzeObjects.object