

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

# Amazon S3 の Security Hub CSPM コントロール
<a name="s3-controls"></a>

これらの AWS Security Hub CSPM コントロールは、Amazon Simple Storage Service (Amazon S3) サービスとリソースを評価します。コントロールは一部の で使用できない場合があります AWS リージョン。詳細については、「[リージョン別のコントロールの可用性](securityhub-regions.md#securityhub-regions-control-support)」を参照してください。

## [S3.1] S3 汎用バケットではブロックパブリックアクセスの設定が有効になっている必要があります。
<a name="s3-1"></a>

**関連する要件:** CIS AWS Foundations Benchmark v5.0.0/2.1.4、 CIS AWS Foundations Benchmark v3.0.0/2.1.4、 CIS AWS Foundations Benchmark v1.4.0/2.1.5、 NIST.800-53.r5 AC-21、 NIST.800-53.r5 AC-3、 NIST.800-53.r5 AC-3(7)、 NIST.800-53.r5 AC-4、 NIST.800-53.r5 AC-4(21)、 NIST.800-53.r5 AC-6、 NIST.800-53.r5 SC-7、 NIST.800-53.r5 SC-7(11)、 NIST.800-53.r5 SC-7(16)、 NIST.800-53.r5 SC-7(20)、 NIST.800-53.r5 SC-7(21)、 NIST.800-53.r5 SC-7(3)、 NIST.800-53.r5 SC-7(4)、 NIST.800-53.r5 SC-7(9)、 PCI DSS v3.2.1/1.2.1、 PCI DSS v3.2.1/1.3.1、 PCI DSS v3.2.1/1.3.2、 PCI DSS v3.2.1/1.3.4、 PCI DSS v3.2.1/1.3.6、 PCI DSS v4.0.1/1.4.4

**カテゴリ:** 保護 > セキュアなネットワーク設定

**重要度:** 中

**リソースタイプ :** `AWS::::Account`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/s3-account-level-public-access-blocks-periodic.html](https://docs.aws.amazon.com/config/latest/developerguide/s3-account-level-public-access-blocks-periodic.html) 

**スケジュールタイプ :** 定期的

**パラメータ :** 
+ `ignorePublicAcls`: `true` (カスタマイズ不可)
+ `blockPublicPolicy`: `true` (カスタマイズ不可)
+ `blockPublicAcls`: `true` (カスタマイズ不可)
+ `restrictPublicBuckets`: `true` (カスタマイズ不可)

このコントロールは、前の Amazon S3 パブリックアクセス設定が S3 汎用バケットのアカウントレベルで設定されているかどうかをチェックします: 1 つ以上のブロックパブリックアクセス設定が `false` に設定されている場合、このコントロールは失敗します。

いずれかの設定が `false` に設定されているか、またはいずれかが設定されていない場合、コントロールは失敗します。

Amazon S3 パブリックアクセスブロックは、オブジェクトがパブリックアクセスを持たないように、 全体 AWS アカウント または個々の S3 バケットレベルでコントロールを提供するように設計されています。パブリックアクセスは、アクセスコントロールリスト (ACL)、バケットポリシー、またはその両方からバケットおよびオブジェクトに付与されます。

S3 バケットをパブリックにアクセスできるように意図する場合を除き、アカウントレベルの Amazon S3 ブロックパブリックアクセス機能を設定する必要があります。

詳細については、「Amazon Simple Storage Service ユーザーガイド」の「[Amazon S3 ブロックパブリックアクセスの使用](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html)」を参照してください。

### 修正
<a name="s3-1-remediation"></a>

の Amazon S3 パブリックアクセスブロックを有効にするには AWS アカウント、*「Amazon Simple Storage Service* [ユーザーガイド」の「アカウントのパブリックアクセスブロックの設定](https://docs.aws.amazon.com/AmazonS3/latest/userguide/configuring-block-public-access-account.html)」を参照してください。

## [S3.2] S3 汎用バケットはパブリック読み取りアクセスをブロックする必要があります
<a name="s3-2"></a>

**関連する要件:** PCI DSS v3.2.1/1.2.1、PCI DSS v3.2.1/1.3.1、PCI DSS v3.2.1/1.3.2、PCI DSS v3.2.1/1.3.6、PCI DSS v3.2.1/7.2.1、NIST.800-53.r5 AC-21、NIST.800-53.r5 AC-3、NIST.800-53.r5 AC-3(7)、NIST.800-53.r5 AC-4、NIST.800-53.r5 AC-4(21)、NIST.800-53.r5 AC-6、NIST.800-53.r5 SC-7、NIST.800-53.r5 SC-7(11)、NIST.800-53.r5 SC-7(16)、NIST.800-53.r5 SC-7(20)、NIST.800-53.r5 SC-7(21)、NIST.800-53.r5 SC-7(3)、NIST.800-53.r5 SC-7(4)、NIST.800-53.r5 SC-7(9)

**カテゴリ:** 保護 > セキュアなネットワーク設定

**重要度:** 非常事態

**リソースタイプ :** `AWS::S3::Bucket`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-public-read-prohibited](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-public-read-prohibited)

**スケジュールタイプ:** 定期的および変更がトリガーされた場合

**パラメータ :** なし

このコントロールは、Amazon S3 汎用バケットがパブリック読み取りアクセスを許可するかどうかをチェックします。これにより、ブロックパブリックアクセス設定、バケットポリシー、およびバケットアクセスコントロールリスト (ACL) を評価します。バケットが公開読み取りアクセスを許可している場合、このコントロールは失敗します。

**注記**  
S3 バケットにバケットポリシーがある場合、このコントロールはワイルドカード文字または変数を使用するポリシー条件を評価しません。`PASSED` 検出結果を生成するには、バケットポリシーの条件は固定値のみを使用する必要があります。固定値は、ワイルドカード文字やポリシー変数を含まない値です。ポリシー変数に関する詳細については、「*AWS Identity and Access Management ユーザーガイド*」の「[変数およびタグ](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html)」を参照してください。

ユースケースによっては、インターネット上のすべてのユーザーが S3 バケットからの読み取りが必要な場合があります。しかし、そのような状況は稀です。データの整合性とセキュリティを確保するために、S3 バケットをパブリックに読み取り可能にしないでください。

### 修正
<a name="s3-2-remediation"></a>

Amazon S3 バケットで公開読み取りアクセスをブロックするには、「*Amazon Simple Storage Service ユーザーガイド*」の「[S3 バケットへのパブリックアクセスブロック設定の構成](https://docs.aws.amazon.com/AmazonS3/latest/userguide/configuring-block-public-access-bucket.html)」を参照してください。

## [S3.3] S3 汎用バケットではパブリック書き込みアクセスをブロックする必要があります。
<a name="s3-3"></a>

**関連する要件:** PCI DSS v3.2.1/1.2.1、PCI DSS v3.2.1/1.3.1、PCI DSS v3.2.1/1.3.2、PCI DSS v3.2.1/1.3.4、PCI DSS v3.2.1/1.3.6、PCI DSS v3.2.1/7.2.1、NIST.800-53.r5 AC-21、NIST.800-53.r5 AC-3、NIST.800-53.r5 AC-3(7)、NIST.800-53.r5 AC-4、NIST.800-53.r5 AC-4(21)、NIST.800-53.r5 AC-6、NIST.800-53.r5 SC-7、NIST.800-53.r5 SC-7(11)、NIST.800-53.r5 SC-7(16)、NIST.800-53.r5 SC-7(20)、NIST.800-53.r5 SC-7(21)、NIST.800-53.r5 SC-7(3)、NIST.800-53.r5 SC-7(4)、NIST.800-53.r5 SC-7(9)

**カテゴリ:** 保護 > セキュアなネットワーク設定

**重要度:** 非常事態

**リソースタイプ :** `AWS::S3::Bucket`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-public-write-prohibited.html](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-public-write-prohibited.html) 

**スケジュールタイプ:** 定期的および変更がトリガーされた場合

**パラメータ :** なし

このコントロールは、Amazon S3 汎用バケットがパブリック書き込みアクセスを許可するかどうかをチェックします。これにより、ブロックパブリックアクセス設定、バケットポリシー、およびバケットアクセスコントロールリスト (ACL) を評価します。バケットが公開書き込みアクセスを許可している場合、このコントロールは失敗します。

**注記**  
S3 バケットにバケットポリシーがある場合、このコントロールはワイルドカード文字または変数を使用するポリシー条件を評価しません。`PASSED` 検出結果を生成するには、バケットポリシーの条件は固定値のみを使用する必要があります。固定値は、ワイルドカード文字やポリシー変数を含まない値です。ポリシー変数に関する詳細については、「*AWS Identity and Access Management ユーザーガイド*」の「[変数およびタグ](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html)」を参照してください。

ユースケースによっては、インターネット上の全員が S3 バケットに書き込むことができる必要があります。しかし、そのような状況は稀です。データの整合性とセキュリティを確保するため、S3 バケットはパブリックに書き込み可能にしないでください。

### 修正
<a name="s3-3-remediation"></a>

Amazon S3 バケットで公開書き込みアクセスをブロックするには、「*Amazon Simple Storage Service ユーザーガイド*」の「[S3 バケットへのパブリックアクセスブロック設定の構成](https://docs.aws.amazon.com/AmazonS3/latest/userguide/configuring-block-public-access-bucket.html)」を参照してください。

## [S3.5] S3 汎用バケットではリクエストに SSL を使用する必要があります。
<a name="s3-5"></a>

**関連する要件:** CIS AWS Foundations Benchmark v5.0.0/2.1.1、 CIS AWS Foundations Benchmark v3.0.0/2.1.1、 CIS AWS Foundations Benchmark v1.4.0/2.1.2、 NIST.800-53.r5 AC-17(2)、 NIST.800-53.r5 AC-4、 NIST.800-53.r5 IA-5(1)、 NIST.800-53.r5 SC-12(3)、 NIST.800-53.r5 SC-13、 NIST.800-53.r5 SC-23、 NIST.800-53.r5 SC-23(3)、 NIST.800-53.r5 SC-7(4)、 NIST.800-53.r5 SC-8、 NIST.800-53.r5 SC-8(1)、 NIST.800-53.r5 SC-8(2)、 NIST.800-53.r5 SI-7(6)、 NIST.800-171.r2 3.13.8、 NIST.800-171.r2 3.13.15、 PCI DSS v3.2.1/4.1、 PCI DSS v4.0.1/4.2.1

**カテゴリ:** 保護 > セキュアなアクセス管理

**重要度:** 中

**リソースタイプ :** `AWS::S3::Bucket`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-ssl-requests-only.html](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-ssl-requests-only.html)

**スケジュールタイプ:** 変更がトリガーされた場合

**パラメータ :** なし

このコントロールは、Amazon S3 汎用バケットに SSL を使用するためのリクエストを要求するポリシーがあるかどうかをチェックします。バケットポリシーが SSL を使用するリクエストを必要としない場合、コントロールは失敗します。

S3 バケットには、条件キー `aws:SecureTransport` によって示される S3 リソースポリシーで HTTPS 経由のデータ送信のみを受け入れるために、すべてのリクエスト (`Action: S3:*`) を要求するポリシーを備える必要があります。

### 修正
<a name="s3-5-remediation"></a>

Amazon S3 バケットポリシーを更新して非セキュアなトランスポートを拒否するには、「*Amazon Simple Storage Service ユーザーガイド*」の「[Amazon S3 コンソールを使用したバケットポリシーの追加](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html)」を参照してください。

以下のポリシーに、同様のポリシーステートメントを追加します。`amzn-s3-demo-bucket` を変更するバケットの名前で置き換えます。

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

****  

```
{
    "Id": "ExamplePolicy",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowSSLRequestsOnly",
            "Action": "s3:*",
            "Effect": "Deny",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "Bool": {
                     "aws:SecureTransport": "false"
                }
            },
           "Principal": "*"
        }
    ]
}
```

------

詳細については、*AWS 「 公式ナレッジセンター*」の「ルール [AWS Config sS3-bucket-ssl-requests-only に準拠するために使用する S3 バケットポリシー](https://aws.amazon.com/premiumsupport/knowledge-center/s3-bucket-policy-for-config-rule/)」を参照してください。

## [S3.6] S3 汎用バケットポリシーは、他の へのアクセスを制限する必要があります AWS アカウント
<a name="s3-6"></a>

**関連する要件:** NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 CM-2、NIST.800-171.r2 3.13.4

**カテゴリ:** 保護 > セキュアなアクセス管理 > 機密性の高いAPIオペレーションアクションを制限する 

**重要度:** 高

**リソースタイプ :** `AWS::S3::Bucket`

**AWS Configルール :** [https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-blacklisted-actions-prohibited.html](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-blacklisted-actions-prohibited.html)

**スケジュールタイプ:** 変更がトリガーされた場合

**パラメータ :**
+ `blacklistedactionpatterns`: `s3:DeleteBucketPolicy, s3:PutBucketAcl, s3:PutBucketPolicy, s3:PutEncryptionConfiguration, s3:PutObjectAcl` (カスタマイズ不可)

このコントロールは、Amazon S3 汎用バケットポリシーが別の AWS アカウント からのプリンシパルが、S3 バケット内のリソースに対して拒否されたアクションの実行を防止するかどうかをチェックします。バケットポリシーで、別の AWS アカウントのプリンシパルに対して前のいずれかのアクションが許可されている場合、このコントロールは失敗します。

最小特権アクセスの実装は、セキュリティリスクおよびエラーの影響や悪意ある行動を減らす上での基礎となります。もしS3 バケットポリシーで外部アカウントからのアクセスを許可している場合、内部脅威または攻撃者によるデータの漏えいにつながる可能性があります。

`blacklistedactionpatterns` パラメータを使用すると、S3 バケットのルールを正常に評価できます。パラメータは、外部アカウントに対して `blacklistedactionpatterns` リストに含まれていないアクションパターンのアクセス許可を付与します。

### 修正
<a name="s3-6-remediation"></a>

Amazon S3 バケットポリシーを更新してアクセス許可を削除するには、「*Amazon Simple Storage Service ユーザーガイド*」の「[Amazon S3 コンソールを使用したバケットポリシーの追加](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html)」を参照してください。

**[バケットポリシーを編集]** ページのポリシー編集テキストボックスで、以下のいずれかのアクションを実行します。
+ 拒否されたアクションへのアクセス許可を別の  AWS アカウント に付与するステートメントを削除する。
+ 許可済みの拒否されたアクションをステートメントから削除する。

## [S3.7] S3 汎用バケットでクロスリージョンレプリケーションを使用する必要があります
<a name="s3-7"></a>

**関連する要件:** PCI DSS v3.2.1/2.2、NIST.800-53.r5 AU-9(2)、NIST.800-53.r5 CP-10、NIST.800-53.r5 CP-6、NIST.800-53.r5 CP-6(1)、NIST.800-53.r5 CP-6(2)、NIST.800-53.r5 CP-9、NIST.800-53.r5 SC-36(2)、NIST.800-53.r5 SC-5(2)、NIST.800-53.r5 SI-13(5)

**カテゴリ:** 保護 > セキュアなアクセス管理

**重要度:** 低

**リソースタイプ :** `AWS::S3::Bucket`

**AWS Config ルール: ** [https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-cross-region-replication-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-cross-region-replication-enabled.html)

**スケジュールタイプ:** 変更がトリガーされた場合

**パラメータ :** なし

このコントロールは Amazon S3 バケット 汎用バケットでクロスリージョンレプリケーションが有効かどうかをチェックします。バケットでクロスリージョンレプリケーションが有効になっていない場合、このコントロールは失敗します。

レプリケーションとは、同じまたは異なるバケット間でオブジェクトを自動的に非同期コピーすることです AWS リージョン。レプリケーションは、新しく作成されたオブジェクトと、レプリケート元バケットからレプリケート先バケットへのオブジェクトの更新をコピーします。 AWS  ベストプラクティスでは、同じ AWS アカウント が所有するレプリケート元バケットとレプリケート先バケットのレプリケーションを推奨しています。可用性に加えて、他のシステム強化構成も考慮する必要があります。

このコントロールは、リージョン間のレプリケーションが有効になっていない場合、レプリケーション先バケット `FAILED` の検出結果を生成します。送信先バケットでクロスリージョンレプリケーションを有効にする必要がない正当な理由がある場合は、このバケットの検出結果を抑制できます。

### 修正
<a name="s3-7-remediation"></a>

Amazon S3 バケットのレプリケーションを有効にするには、「**Amazon Simple Storage Service ユーザーガイド」の「[同じアカウントが所有するレプリケート元バケットとレプリケート先バケットのレプリケーションの設定](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-walkthrough1.html)」を参照してください。**[ソースバケット]** で、**[バケット内のすべてのオブジェクトに適用]** を選択します。

## [S3.8] S3 汎用バケットはパブリックアクセスをブロックする必要があります
<a name="s3-8"></a>

**関連する要件:** CIS AWS Foundations Benchmark v5.0.0/2.1.4、CIS AWS Foundations Benchmark v3.0.02.1.4、CIS AWS Foundations Benchmark v1.4.0/2.1.5、NIST.800-53.r5 AC-21、NIST.800-53.r5 AC-3、NIST.800-53.r5 AC-3(7)、NIST.800-53.r5 AC-4、NIST.800-53.r5 AC-4(21)、NIST.800-53.r5 AC-6、NIST.800-53.r5 SC-7-53.r5 NIST.800-53.r5 SC-71)、NIST.800-53.r5 SC-7 IST

**カテゴリ:** 保護 > セキュアなアクセス管理 > アクセスコントロール

**重要度:** 高

**リソースタイプ :** `AWS::S3::Bucket`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-level-public-access-prohibited.html](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-level-public-access-prohibited.html)

**スケジュールタイプ :** 変更がトリガーされた場合

**パラメータ :**
+ `excludedPublicBuckets` (カスタマイズ不可) - 既知の許可されているパブリック S3 バケット名のカンマ区切りリスト

このコントロールは、Amazon S3 汎用バケットがバケットレベルでパブリックアクセスをブロックするかどうかをチェックします。次の設定のいずれかが `false` に設定されている場合、コントロールは失敗します。
+ `ignorePublicAcls`
+ `blockPublicPolicy`
+ `blockPublicAcls`
+ `restrictPublicBuckets`

S3 バケットレベルのブロックパブリックアクセスは、オブジェクトがパブリックアクセスできないようにコントロールを提供します。パブリックアクセスは、アクセスコントロールリスト (ACL)、バケットポリシー、またはその両方からバケットおよびオブジェクトに付与されます。

S3 バケットをパブリックにアクセスできるように意図する場合を除き、バケットレベルの Amazon S3 ブロックパブリックアクセス機能を設定する必要があります。

### 修正
<a name="s3-8-remediation"></a>

バケットレベルでパブリックアクセスを削除する方法については、「Amazon S3 ユーザーガイド」の「[Amazon S3 ストレージへのパブリックアクセスのブロック](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html)」を参照してください。

## [S3.9] S3 汎用バケットは、サーバーアクセスログ記録を有効にする必要があります
<a name="s3-9"></a>

**関連する要件:** NIST.800-53.r5 AC-2(4)、NIST.800-53.r5 AC-4(26)、NIST.800-53.r5 AC-6(9)、NIST.800-53.r5 AU-10、NIST.800-53.r5 AU-12、NIST.800-53.r5 AU-2、NIST.800-53.r5 AU-3、NIST.800-53.r5 AU-6(3)、NIST.800-53.r5 AU-6(4)、NIST.800-53.r5 CA-7、NIST.800-53.r5 SC-7(9)、NIST.800-53.r5 SI-3(8)、NIST.800-53.r5 SI-4(20)、NIST.800-53.r5 SI-7(8)、NIST.800-171.r2 3.3.8、PCI DSS v4.0.1/10.2.1

**カテゴリ:** 識別 > ログ記録

**重要度:** 中

**リソースタイプ :** `AWS::S3::Bucket`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-logging-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-logging-enabled.html)

**スケジュールタイプ:** 変更がトリガーされた場合

**パラメータ :** なし

このコントロールは、Amazon S3 汎用バケットでサーバーアクセスログ記録が有効になっているかどうかをチェックします。サーバーアクセスのログ記録が有効になっていない場合、コントロールは失敗します。ログ記録を有効にすると、Amazon S3 は、ソースバケットのアクセスログを選択されたターゲットバケットに配信します。ターゲットバケットはソースバケット AWS リージョン と同じ にある必要があり、デフォルトの保持期間を設定してはいけません。ターゲットのログ記録バケットは、サーバーアクセスのログ記録を有効にする必要がないため、このバケットの結果は非表示にします。

サーバーアクセスのログ記録には、バケットに対するリクエストの詳細を提供します。サーバーアクセスログは、セキュリティとアクセス監査に役立ちます。詳細については、「[Amazon S3 のセキュリティベストプラクティス: Amazon S3 サーバーアクセスログを有効にします](https://docs.aws.amazon.com/AmazonS3/latest/dev/security-best-practices.html)」を参照してください。

### 修正
<a name="s3-9-remediation"></a>

Amazon S3 のサーバーアクセスのログ記録を有効にするには、「*Amazon S3 ユーザーガイド*」の「[Amazon S3 サーバーアクセスログの有効化](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html)」を参照してください。

## [S3.10] バージョニングが有効になっている S3 汎用バケットにはライフサイクル設定が必要です
<a name="s3-10"></a>

**関連する要件:** NIST.800-53.r5 CP-10、NIST.800-53.r5 CP-6(2)、NIST.800-53.r5 CP-9、NIST.800-53.r5 SC-5(2)、NIST.800-53.r5 SI-13(5)

**カテゴリ:** 識別 > ログ記録

**重要度:** 中

**リソースタイプ :** `AWS::S3::Bucket`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/s3-version-lifecycle-policy-check.html](https://docs.aws.amazon.com/config/latest/developerguide/s3-version-lifecycle-policy-check.html)

**スケジュールタイプ:** 変更がトリガーされた場合

**パラメータ :** なし

このコントロールは、Amazon S3 汎用バージョニングバケットにライフサイクル設定があるかどうかをチェックします。バケットにライフサイクル設定がない場合、コントロールは失敗します。

オブジェクトの存続期間中に Amazon S3 で実行するアクションの定義に役立てるため、S3 バケットにライフサイクル設定を作成することを推奨します。

### 修正
<a name="s3-10-remediation"></a>

Amazon S3 バケットでのライフサイクルの設定の詳細については、「[バケットのライフサイクル設定の指定](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html)」と「[ストレージのライフサイクルの管理](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)」を参照してください。

## [S3.11] S3 汎用バケットでは、イベント通知を有効にする必要があります
<a name="s3-11"></a>

**関連する要件:** NIST.800-53.r5 CA-7、NIST.800-53.r5 SI-3(8)、NIST.800-53.r5 SI-4、NIST.800-53.r5 SI-4(4)、NIST.800-171.r2 3.3.8

**カテゴリ:** 識別 > ログ記録

**重要度:** 中

**リソースタイプ :** `AWS::S3::Bucket`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/s3-event-notifications-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/s3-event-notifications-enabled.html)

**スケジュールタイプ :** 変更がトリガーされた場合

**パラメータ :**


| パラメータ | 説明 | タイプ | 許可されているカスタム値 | Security Hub CSPM のデフォルト値 | 
| --- | --- | --- | --- | --- | 
|  `eventTypes`  |  推奨される S3 イベントタイプのリスト  |  EnumList (最大 28 項目)  |  `s3:IntelligentTiering, s3:LifecycleExpiration:*, s3:LifecycleExpiration:Delete, s3:LifecycleExpiration:DeleteMarkerCreated, s3:LifecycleTransition, s3:ObjectAcl:Put, s3:ObjectCreated:*, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectCreated:Copy, s3:ObjectCreated:Post, s3:ObjectCreated:Put, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Completed, s3:ObjectRestore:Delete, s3:ObjectRestore:Post, s3:ObjectTagging:*, s3:ObjectTagging:Delete, s3:ObjectTagging:Put, s3:ReducedRedundancyLostObject, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationMissedThreshold, s3:Replication:OperationNotTracked, s3:Replication:OperationReplicatedAfterThreshold, s3:TestEvent`  |  デフォルト値なし  | 

このコントロールは、S3 イベント通知が Amazon S3 汎用バケットで有効になっているかどうかをチェックします。バケットで S3 イベント通知が有効になっていない場合、コントロールは失敗します。`eventTypes` パラメータにカスタム値を指定したときは、指定されたタイプのイベントに対してイベント通知が有効になっている場合にのみコントロールが成功します。

S3 イベント通知を有効にすると、S3 バケットに影響する特定のイベントが発生したときに、アラートを受信します。例えば、オブジェクトの作成、オブジェクトの削除、オブジェクトの復元を通知を受けることができます。これらの通知により、不正なデータアクセスにつながる可能性のある偶発的または意図的な変更を関連チームに警告することができます。

### 修正
<a name="s3-11-remediation"></a>

S3 バケットおよびオブジェクトの変更を検出する方法の詳細については、「*Amazon S3 ユーザーガイド*」の「[Amazon S3 イベント通知](https://docs.aws.amazon.com/AmazonS3/latest/userguide/NotificationHowTo.html)」を参照してください。

## [S3.12] ACL は、S3 汎用バケットへのユーザーアクセスの管理に使用しないでください。
<a name="s3-12"></a>

**関連する要件:** NIST.800-53.r5 AC-2(1)、NIST.800-53.r5 AC-3、NIST.800-53.r5 AC-3(15)、NIST.800-53.r5 AC-3(7)、NIST.800-53.r5 AC-6

**カテゴリ:** 保護 > セキュアなアクセス管理 > アクセスコントロール

**重要度:** 中

**リソースタイプ :** `AWS::S3::Bucket`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-acl-prohibited.html](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-acl-prohibited.html)

**スケジュールタイプ:** 変更がトリガーされた場合

**パラメータ :** なし

このコントロールは、Amazon S3 汎用バケットがアクセスコントロールリスト (ACL) を持つユーザーアクセス許可を提供するかどうかをチェックします。バケットでのユーザーアクセスを管理するために ACL が設定されている場合、コントロールは失敗します。

ACL は、IAM よりも前のレガシーアクセスコントロールメカニズムです。ACLs の代わりに、S3 バケットポリシーまたは AWS Identity and Access Management (IAM) ポリシーを使用して S3 バケットへのアクセスを管理することをお勧めします。

### 修正
<a name="s3-12-remediation"></a>

このコントロールに合格するには、S3 バケットの ACL を無効にする必要があります。手順については、「*Amazon Simple Storage Service ユーザーガイド*」の「[オブジェクトの所有権の制御とバケットの ACL の無効化](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)」を参照してください。

S3 バケットポリシーを作成するには、「[Amazon S3 コンソールを使用したバケットポリシーの追加](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html)」を参照してください。S3 バケットに IAM ユーザーポリシーを作成するには、「[ユーザーポリシーを使用したバケットへのアクセスの制御](https://docs.aws.amazon.com/AmazonS3/latest/userguide/walkthrough1.html#walkthrough-grant-user1-permissions)」を参照してください。

## [S3.13] S3 汎用バケットにはライフサイクル設定が必要です
<a name="s3-13"></a>

**関連する要件:** NIST.800-53.r5 CP-10、NIST.800-53.r5 CP-6(2)、NIST.800-53.r5 CP-9、NIST.800-53.r5 SC-5(2)、NIST.800-53.r5 SI-13(5)

**カテゴリ:** 保護 > データ保護 

**重要度:** 低

**リソースタイプ :** `AWS::S3::Bucket`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/s3-lifecycle-policy-check.html](https://docs.aws.amazon.com/config/latest/developerguide/s3-lifecycle-policy-check.html)

**スケジュールタイプ :** 変更がトリガーされた場合

**パラメータ :**


| パラメータ | 説明 | タイプ | 許可されているカスタム値 | Security Hub CSPM のデフォルト値 | 
| --- | --- | --- | --- | --- | 
|  `targetTransitionDays`  |  オブジェクトが、その作成後、指定されたストレージクラスに移行するまでの日数  |  整数  |  `1`～`36500`  |  デフォルト値なし  | 
|  `targetExpirationDays`  |  オブジェクトが作成されてから削除されるまでの日数  |  整数  |  `1`～`36500`  |  デフォルト値なし  | 
|  `targetTransitionStorageClass`  |  送信先 S3 ストレージクラスのタイプ  |  列挙型  |  `STANDARD_IA, INTELLIGENT_TIERING, ONEZONE_IA, GLACIER, GLACIER_IR, DEEP_ARCHIVE`  |  デフォルト値なし  | 

このコントロールは、Amazon S3 汎用バケットにライフサイクル設定があるかどうかをチェックします。バケットにライフサイクル設定がない場合、コントロールは失敗します。前述の 1 つ以上のパラメータにカスタム値を指定したときは、指定されたストレージクラス、削除時間、または移行時間がポリシーに含まれている場合にのみコントロールが成功します。

S3 バケットでライフサイクル設定を作成すると、オブジェクトの存続期間中に Amazon S3 が実行するアクションが定義されます。例えば、オブジェクトを別のストレージクラスに移行させる、アーカイブする、あるいは指定した期間後に削除する、といったことが可能です。

### 修正
<a name="s3-13-remediation"></a>

Amazon S3 バケットでライフサイクルポリシーを設定する方法の詳細については、「*Amazon S3 ユーザーガイド*」の「[バケットのライフサイクル設定の指定](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html)」および「[ストレージのライフサイクルの管理](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)」を参照してください。

## [S3.14] S3 汎用バケットではバージョニングが有効になっている必要があります
<a name="s3-14"></a>

**カテゴリ:** 保護 > データ保護 > データ削除保護

**関連する要件:** NIST.800-53.r5 AU-9(2)、NIST.800-53.r5 CP-10、NIST.800-53.r5 CP-6、NIST.800-53.r5 CP-6(1)、NIST.800-53.r5 CP-6(2)、NIST.800-53.r5 CP-9、NIST.800-53.r5 SC-5(2)、NIST.800-53.r5 SI-12、NIST.800-53.r5 SI-13(5)、NIST.800-171.r2 3.3.8

**重要度:** 低

**リソースタイプ :** `AWS::S3::Bucket`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-versioning-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-versioning-enabled.html)

**スケジュールタイプ:** 変更がトリガーされた場合

**パラメータ :** なし

このコントロールは、Amazon S3 汎用バケットでバージョニングが有効になっているかどうかを確認します。バケットのバージョニングが停止されている場合、コントロールは失敗します。

バージョニングにより、同じ S3 バケット内でオブジェクトの複数のバリアントを保持します。バージョニングを使用して、S3 バケットに保存されたオブジェクトの旧バージョンを保存、取得、復元することができます。バージョニングによって、意図しないユーザーアクションとアプリケーション障害から復旧できます。

**ヒント**  
バージョニングによるバケット内オブジェクト数の増加に合わせて、ルールに基づき、バージョニングされたオブジェクトを自動的にアーカイブまたは削除するようにライフサイクル設定をセットアップできます。詳細については、「[バージョニングされたオブジェクトの Amazon S3 ライフサイクル管理](https://aws.amazon.com/blogs/aws/amazon-s3-lifecycle-management-update/)」を参照してください。

### 修正
<a name="s3-14-remediation"></a>

S3 バケットでバージョニングを使用するには、「*Amazon S3 ユーザーガイド*」の「[バケットでのバージョニングの有効化](https://docs.aws.amazon.com/AmazonS3/latest/userguide/manage-versioning-examples.html)」を参照してください。

## [S3.15] S3 汎用バケットでは Object Lock が有効になっている必要があります
<a name="s3-15"></a>

**カテゴリ:** 保護 > データ保護 > データ削除保護

**関連する要件:** NIST.800-53.r5 CP-6(2)、PCI DSS v4.0.1/10.5.1

**重要度:** 中

**リソースタイプ :** `AWS::S3::Bucket`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-default-lock-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-default-lock-enabled.html)

**スケジュールタイプ :** 変更がトリガーされた場合

**パラメータ :**


| パラメータ | 説明 | タイプ | 許可されているカスタム値 | Security Hub CSPM のデフォルト値 | 
| --- | --- | --- | --- | --- | 
|  `mode`  |  S3 Object Lock の保持モード  |  列挙型  |  `GOVERNANCE`, `COMPLIANCE`  |  デフォルト値なし  | 

このコントロールは、Amazon S3 汎用バケットで Object Lock が有効になっているかどうかを確認します。バケットで Object Lock が有効になっていない場合、コントロールは失敗します。`mode` パラメータにカスタム値を指定したときは、S3 Object Lock が指定された保持モードを使用する場合にのみコントロールが成功します。

S3 Object Lock では、Write Once Read Many (WORM) モデルを使用してオブジェクトを保存できます。Object Lock により、S3 バケットのオブジェクトが削除または上書きされることを、一定期間または無期限に防止できます。S3 Object Lock を使用して、WORM ストレージを必要とする規制要件を満たしたり、オブジェクトの変更や削除に対する保護レイヤーを追加したりできます。

### 修正
<a name="s3-15-remediation"></a>

新規および既存の S3 バケットの Object Lock を設定するには、「*Amazon S3 ユーザーガイド*」の「[S3 オブジェクトロックの設定](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html)」を参照してください。

## [S3.17] S3 汎用バケットは保管時に で暗号化する必要があります AWS KMS keys
<a name="s3-17"></a>

**カテゴリ:** 保護 > データ保護 > 保管中のデータの暗号化

**関連する要件:** NIST.800-53.r5 SC-12(2)、NIST.800-53.r5 CM-3(6)、NIST.800-53.r5 SC-13、NIST.800-53.r5 SC-28、NIST.800-53.r5 SC-28(1)、NIST.800-53.r5 SC-7(10)、NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 SI-7(6)、NIST.800-53.r5 AU-9、NIST.800-171.r2 3.8.9、NIST.800-171.r2 3.13.11、NIST.800-171.r2 3.13.16、PCI DSS v4.0.1/3.5.1

**重要度:** 中

**リソースタイプ :** `AWS::S3::Bucket`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/s3-default-encryption-kms.html](https://docs.aws.amazon.com/config/latest/developerguide/s3-default-encryption-kms.html)

**スケジュールタイプ:** 変更がトリガーされた場合

**パラメータ :** なし

このコントロールは、Amazon S3 汎用バケットが AWS KMS key (SSE-KMS または DSSE-KMS) で暗号化されているかどうかをチェックします。バケットがデフォルトの暗号化 (SSE-S3) で暗号化されている場合、コントロールは失敗します。

サーバー側の暗号化 (SSE)とは、データを受信するアプリケーションまたはサービスによって、送信先でデータを暗号化することです。特に指定しない限り、デフォルトでは、S3 バケットはサーバー側の暗号化に Amazon S3 マネージドキー (SSE-S3) を使用します。ただし、コントロールを強化するために、代わりに AWS KMS keys (SSE-KMS または DSSE-KMS) でサーバー側の暗号化を使用するようにバケットを設定することもできます。Amazon S3 は、 AWS データセンターのディスクに書き込むときにオブジェクトレベルでデータを暗号化し、アクセス時に復号します。

### 修正
<a name="s3-17-remediation"></a>

SSE-KMS を使用して S3 バケットを暗号化するには、*Amazon S3*[S3 ユーザーガイド」の AWS KMS 「 (SSE-KMS) を使用したサーバー側の暗号化](https://docs.aws.amazon.com/AmazonS3/latest/userguide/specifying-kms-encryption.html)の指定」を参照してください。DSSE-KMS を使用して S3 バケットを暗号化するには、*Amazon S3ユーザーガイド*[」の AWS KMS keys 「(DSSE-KMS) による二層式サーバー側の暗号化](https://docs.aws.amazon.com/AmazonS3/latest/userguide/specifying-dsse-encryption.html)の指定」を参照してください。

## [S3.19] S3 アクセスポイントでは、ブロックパブリックアクセス設定を有効にする必要があります
<a name="s3-19"></a>

**関連する要件:** NIST.800-53.r5 AC-21、NIST.800-53.r5 AC-3、NIST.800-53.r5 AC-3(7)、NIST.800-53.r5 AC-4、NIST.800-53.r5 AC-4(21)、NIST.800-53.r5 AC-6、NIST.800-53.r5 SC-7、NIST.800-53.r5 SC-7(11)、NIST.800-53.r5 SC-7(16)、NIST.800-53.r5 SC-7(20)、NIST.800-53.r5 SC-7(21)、NIST.800-53.r5 SC-7(3)、NIST.800-53.r5 SC-7(4)、NIST.800-53.r5 SC-7(9)、PCI DSS v4.0.1/1.4.4

**カテゴリ:** 保護 > セキュアなアクセス管理 > パブリックアクセスが不可能なリソース

**重要度:** 非常事態

**リソースタイプ :** `AWS::S3::AccessPoint`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/s3-access-point-public-access-blocks.html](https://docs.aws.amazon.com/config/latest/developerguide/s3-access-point-public-access-blocks.html)

**スケジュールタイプ:** 変更がトリガーされた場合

**パラメータ :** なし

このコントロールは、Amazon S3 アクセスポイントでブロックパブリックアクセス設定が有効になっているかどうかをチェックします。アクセスポイントのブロックパブリックアクセス設定が有効になっていない場合、コントロールは失敗します。

Amazon S3 パブリックアクセスブロック機能は、アカウント、バケット、アクセスポイントの 3 つのレベルで S3 リソースへのアクセスを管理するのに役立ちます。各レベルの設定は個別に構成できるため、データに対して異なるレベルのパブリックアクセス制限を設定できます。アクセスポイントの設定で、より高いレベル (アカウントレベルまたはアクセスポイントに割り当てられたバケット) のより制限的な設定を個別にオーバーライドすることはできません。むしろ、アクセスポイントレベルの設定は付加的です。つまり、他のレベルの設定を補完し、連携して機能します。S3 アクセスポイントをパブリックにアクセス可能にする予定がない限り、ブロックパブリックアクセス設定を有効にする必要があります。

### 修正
<a name="s3-19-remediation"></a>

Amazon S3 は、現在、アクセスポイントの作成後におけるアクセスポイントのブロックパブリックアクセス設定の変更をサポートしていません。デフォルトでは、新しいアクセスポイントを作成すると、すべてのブロックパブリックアクセス設定が有効になります。これらの設定を特に無効にする必要がある場合を除いて、すべての設定を有効にしておくことをお勧めします。詳細については、「*Amazon Simple Storage Service ユーザーガイド*」の「[汎用バケットのアクセスポイントへのパブリックアクセスの管理](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-bpa-settings.html)」を参照してください。

## [S3.20] S3 汎用バケットでは MFA 削除が有効になっている必要があります
<a name="s3-20"></a>

**関連する要件:** CIS AWS Foundations Benchmark v5.0.0/2.1.2、CIS AWS Foundations Benchmark v3.0.0/2.1.2、CIS AWS Foundations Benchmark v1.4.0/2.1.3、NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 CM-2、NIST.800-53.r5 CM-2(2)、NIST.800-53.r5 CM-3、NIST.800-53.r5 SC-5(2)

**カテゴリ:** 保護 > データ保護 > データ削除保護

**重要度:** 低

**リソースタイプ :** `AWS::S3::Bucket`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-mfa-delete-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-mfa-delete-enabled.html)

**スケジュールタイプ:** 変更がトリガーされた場合

**パラメータ :** なし

このコントロールは、Amazon S3 の汎用バケットに対して多要素認証 (MFA) 削除が有効になっているかどうかをチェックします。バケットに対して MFA 削除が有効になっていない場合、コントロールは失敗します。コントロールは、ライフサイクル設定を持つバケットの検出結果を生成しません。

S3 汎用バケットのバージョニングを有効にする場合は、オプションでバケットの MFA 削除を設定することで、別のセキュリティレイヤーを追加できます。この設定を行うと、バケット所有者はバケット内のオブジェクトのバージョンを削除したり、バケットのバージョニング状態を変更したりするために、すべてのリクエストに 2 つの認証形式を含める必要があります。MFA Delete は、バケット所有者のセキュリティ認証情報に不正なアクセスがあった場合などにセキュリティを強化します。また、MFA 削除は、削除アクションを開始したユーザーに MFA コードを使って MFA デバイスの物理的所有を証明するように要求したり、削除アクションに摩擦とセキュリティのレイヤーをさらに追加したりすることで、バケットの偶発的な削除を防ぎます。

**注記**  
このコントロールは、S3 汎用バケットで MFA 削除が有効になっている場合にのみ `PASSED` 検出結果を生成します。バケットに対して MFA 削除を有効にするには、バケットに対してバージョニングも有効にする必要があります。バケットのバージョニングとは、同じバケット内で S3 オブジェクトの複数のバリエーションを保持する方法です。さらに、ルートユーザーとしてログインしているバケット所有者のみが、MFA 削除を有効にして、バケットで削除アクションを実行できます。ライフサイクル設定を持つバケットで MFA 削除を使用することはできません。

### 修正
<a name="s3-20-remediation"></a>

S3 バケットのバージョニングを有効にして MFA 削除を設定するには、「*Amazon Simple Storage Service ユーザーガイド*」の「[MFA 削除の設定](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiFactorAuthenticationDelete.html)」を参照してください。

## [S3.22] S3 汎用バケットはオブジェクトレベルの書き込みイベントをログに記録する必要があります
<a name="s3-22"></a>

**関連する要件:** CIS AWS Foundations Benchmark v5.0.0/3.8、CIS AWS Foundations Benchmark v3.0.0/3.8、PCI DSS v4.0.1/10.2.1

**カテゴリ:** 識別 > ログ記録

**重要度:** 中

**リソースタイプ :** `AWS::::Account`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/cloudtrail-all-write-s3-data-event-check.html](https://docs.aws.amazon.com/config/latest/developerguide/cloudtrail-all-write-s3-data-event-check.html)

**スケジュールタイプ :** 定期的

**パラメータ :** なし

このコントロール AWS アカウント は、 に Amazon S3 バケットのすべての書き込みデータイベントを記録する AWS CloudTrail マルチリージョン証跡が少なくとも 1 つあるかどうかをチェックします。 Amazon S3 S3 バケットの書き込みデータイベントをログに記録するマルチリージョン証跡がアカウントに存在しない場合、コントロールは失敗します。

`GetObject`、`DeleteObject`、`PutObject` などの S3 オブジェクトレベルのオペレーションは、データイベントと呼ばれます。デフォルトでは、CloudTrail はデータイベントを記録しませんが、S3 バケットのデータイベントを記録するように証跡を設定できます。書き込みデータイベントのオブジェクトレベルのログ記録を有効にすると、S3 バケット内の個々のオブジェクト (ファイル) アクセスをログ記録できます。オブジェクトレベルのログ記録を有効にすると、Amazon CloudWatch Events を使用して、データコンプライアンス要件を満たし、包括的なセキュリティ分析を実行し、 のユーザー動作の特定のパターンをモニタリングし AWS アカウント、S3 バケット内のオブジェクトレベルの API アクティビティに対してアクションを実行できます。このコントロールは、すべての S3 バケットの書き込み専用またはすべてのタイプのデータイベントを記録するマルチリージョン証跡を設定すると、`PASSED` 検出結果を生成します。

### 修正
<a name="s3-22-remediation"></a>

S3 バケットのオブジェクトレベルのログ記録を有効にするには、「*Amazon Simple Storage Service ユーザーガイド*」の「[S3 バケットとオブジェクトの CloudTrail イベントログ記録の有効化](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-cloudtrail-logging-for-s3.html)」を参照してください。

## [S3.23] S3 汎用バケットはオブジェクトレベルの読み取りイベントをログに記録する必要があります
<a name="s3-23"></a>

**関連する要件:** CIS AWS Foundations Benchmark v5.0.0/3.9、CIS AWS Foundations Benchmark v3.0.0/3.9、PCI DSS v4.0.1/10.2.1

**カテゴリ:** 識別 > ログ記録

**重要度:** 中

**リソースタイプ :** `AWS::::Account`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/cloudtrail-all-read-s3-data-event-check.html](https://docs.aws.amazon.com/config/latest/developerguide/cloudtrail-all-read-s3-data-event-check.html)

**スケジュールタイプ :** 定期的

**パラメータ :** なし

このコントロール AWS アカウント は、 に Amazon S3 バケットのすべての読み取りデータイベントを記録する AWS CloudTrail マルチリージョン証跡が少なくとも 1 つあるかどうかをチェックします。 Amazon S3 S3 バケットの読み取りデータイベントをログに記録するマルチリージョン証跡がアカウントにない場合、コントロールは失敗します。

`GetObject`、`DeleteObject`、`PutObject` などの S3 オブジェクトレベルのオペレーションは、データイベントと呼ばれます。デフォルトでは、CloudTrail はデータイベントを記録しませんが、S3 バケットのデータイベントを記録するように証跡を設定できます。読み取りデータイベントのオブジェクトレベルのログ記録を有効にすると、S3 バケット内の個々のオブジェクト (ファイル) アクセスをログ記録できます。オブジェクトレベルのログ記録を有効にすると、Amazon CloudWatch Events を使用して、データコンプライアンス要件を満たし、包括的なセキュリティ分析を実行し、 のユーザー動作の特定のパターンをモニタリングし AWS アカウント、S3 バケット内のオブジェクトレベルの API アクティビティに対してアクションを実行できます。このコントロールは、すべての S3 バケットの読み取り専用またはすべてのタイプのデータイベントを記録するマルチリージョン証跡を設定すると、`PASSED` 検出結果を生成します。

### 修正
<a name="s3-23-remediation"></a>

S3 バケットのオブジェクトレベルのログ記録を有効にするには、「*Amazon Simple Storage Service ユーザーガイド*」の「[S3 バケットとオブジェクトの CloudTrail イベントログ記録の有効化](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-cloudtrail-logging-for-s3.html)」を参照してください。

## [S3.24] S3 マルチリージョンアクセスポイントでは、ブロックパブリックアクセス設定を有効にする必要があります
<a name="s3-24"></a>

**関連する要件:** PCI DSS v4.0.1/1.4.4

**カテゴリ:** 保護 > セキュアなネットワーク設定 > パブリックアクセス不可のリソース

**重要度:** 高

**リソースタイプ :** `AWS::S3::MultiRegionAccessPoint`

**AWS Config rule:** `s3-mrap-public-access-blocked` (カスタム Security Hub CSPM ルール)

**スケジュールタイプ :** 変更がトリガーされた場合

**パラメータ :** なし

このコントロールは、Amazon S3 マルチリージョンアクセスポイントでブロックパブリックアクセス設定が有効になっているかどうかをチェックします。マルチリージョンアクセスポイントでブロックパブリックアクセス設定が有効になっていない場合、コントロールは失敗します。

パブリックにアクセス可能なリソースは、不正アクセス、データ侵害、または脆弱性の悪用につながる可能性があります。認証および認可手段によるアクセスの制限は、機密情報を保護し、リソースの整合性を維持するのに役立ちます。

### 修正
<a name="s3-24-remediation"></a>

デフォルトでは、S3 マルチリージョンアクセスポイントに対してすべてのブロックパブリックアクセス設定が有効になります。詳細については、「*Amazon Simple Storage Service ユーザーガイド*」の「[Amazon S3 マルチリージョンアクセスポイントによるパブリックアクセスのブロック](https://docs.aws.amazon.com/AmazonS3/latest/userguide/multi-region-access-point-block-public-access.html)」を参照してください。マルチリージョンアクセスポイントを作成した後にブロックパブリックアクセス設定を変更することはできません。

## [S3.25] S3 ディレクトリバケットにはライフサイクル設定が必要です
<a name="s3-25"></a>

**カテゴリ:** 保護 > データ保護

**重要度:** 低

**リソースタイプ :** `AWS::S3Express::DirectoryBucket`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/s3express-dir-bucket-lifecycle-rules-check.html](https://docs.aws.amazon.com/config/latest/developerguide/s3express-dir-bucket-lifecycle-rules-check.html)

**スケジュールタイプ :** 変更がトリガーされた場合

**パラメータ :**


| パラメータ | 説明 | タイプ | 許可されているカスタム値 | Security Hub CSPM のデフォルト値 | 
| --- | --- | --- | --- | --- | 
|  `targetExpirationDays`  |  オブジェクトの作成後、オブジェクトの有効期限が切れる日数。  |  整数  |  `1`～`2147483647`  |  デフォルト値なし  | 

このコントロールは、S3 ディレクトリバケットにライフサイクルルールが設定されているかどうかをチェックします。ディレクトリバケットにライフサイクルルールが設定されていない場合、またはバケットのライフサイクルルールでオプションで指定したパラメータ値と一致しない有効期限設定が指定されている場合、コントロールは失敗します。

Amazon S3 のライフサイクル設定とは、Amazon S3 がバケット内のオブジェクトのグループに適用するアクションを定義するルールセットです。S3 ディレクトリバケットの場合、経過時間 (日数) に基づいてオブジェクトの有効期限を指定するライフサイクルルールを作成できます。不完全なマルチパートアップロードを削除するライフサイクルルールを作成することもできます。汎用バケットなどの他のタイプの S3 バケットとは異なり、ディレクトリバケットは、ストレージクラス間でオブジェクトを移行するなど、ライフサイクルルールの他のタイプのアクションをサポートしていません。

### 修正
<a name="s3-25-remediation"></a>

S3 ディレクトリバケットのライフサイクル設定を定義するには、バケットのライフサイクルルールを作成します。詳細については、「*Amazon Simple Storage Service ユーザーガイド*」の「[ディレクトリバケットのライフサイクル設定の作成と管理](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-create-lc.html)」を参照してください。