Amazon S3 の Security Hub コントロール - AWS Security Hub
[S3.1] S3 汎用バケットでは、パブリックアクセスブロック設定を有効にする必要があります[S3.2] S3 汎用バケットはパブリック読み取りアクセスをブロックする必要があります[S3.3] S3 汎用バケットはパブリック書き込みアクセスをブロックする必要があります[S3.5] S3 汎用バケットでは、 の使用をリクエストする必要があります SSL[S3.6] S3 汎用バケットポリシーでは、他の へのアクセスを制限する必要があります AWS アカウント[S3.7] S3 汎用バケットはクロスリージョンレプリケーションを使用する必要があります[S3.8] S3 汎用バケットはパブリックアクセスをブロックする必要があります[S3.9] S3 汎用バケットでは、サーバーアクセスのログ記録を有効にする必要があります[S3.10] バージョニングが有効になっている S3 汎用バケットにはライフサイクル設定が必要です[S3.11] S3 汎用バケットでは、イベント通知を有効にする必要があります[S3.12] ACLs は、S3 汎用バケットへのユーザーアクセスを管理するために使用しないでください[S3.13] S3 汎用バケットにはライフサイクル設定が必要です[S3.14] S3 汎用バケットではバージョニングを有効にする必要があります[S3.15] S3 汎用バケットでは、オブジェクトロックを有効にする必要があります[S3.17] S3 汎用バケットは保管時に で暗号化する必要があります AWS KMS keys[S3.19] S3 アクセスポイントでは、ブロックパブリックアクセス設定を有効にする必要があります[S3.20] S3 汎用バケットでは、MFA削除を有効にする必要があります[S3.22] S3 汎用バケットは、オブジェクトレベルの書き込みイベントをログに記録する必要があります[S3.23] S3 汎用バケットは、オブジェクトレベルの読み取りイベントをログに記録する必要があります

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

Amazon S3 の Security Hub コントロール

これらの AWS Security Hub コントロールは、Amazon Simple Storage Service (Amazon S3) サービスとリソースを評価します。

これらのコントロールは、すべての で利用できるとは限りません AWS リージョン。詳細については、「リージョン別のコントロールの可用性」を参照してください。

[S3.1] S3 汎用バケットでは、パブリックアクセスブロック設定を有効にする必要があります

重要

2024 年 3 月 12 日、このコントロールのタイトルが表示されているタイトルに変更されました。詳細については、「Security Hub コントロールの変更ログ」を参照してください。

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

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

重要度:

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

AWS Config ルール : s3-account-level-public-access-blocks-periodic

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

パラメータ:

  • ignorePublicAcls: true (カスタマイズ不可)

  • blockPublicPolicy: true (カスタマイズ不可)

  • blockPublicAcls: true (カスタマイズ不可)

  • restrictPublicBuckets: true (カスタマイズ不可)

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

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

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

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

詳細については、「Amazon Simple Storage Service ユーザーガイド」の「Amazon S3 ブロックパブリックアクセスの使用」を参照してください。

修正

の Amazon S3 パブリックアクセスブロックを有効にするには AWS アカウント、「Amazon Simple Storage Service ユーザーガイド」の「アカウントのパブリックアクセスブロック設定の構成」を参照してください。

[S3.2] S3 汎用バケットはパブリック読み取りアクセスをブロックする必要があります

重要

2024 年 3 月 12 日、このコントロールのタイトルが表示されているタイトルに変更されました。詳細については、「Security Hub コントロールの変更ログ」を参照してください。

関連する要件: PCI DSS v3.2.1/1.2.1、PCIDSSv3.2.1/1.3.1、PCIDSSv3.2.1/1.3.2、PCIDSSv3.2.1/1.3.6、PCIDSSv3.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(21) NIST.800-53.r5 AC-6、、 NIST.800-53.r5 SC-7(11)、 NIST.800-53.r5 SC-7(16) NIST.800-53.r5 AC-4、 NIST.800-53.r5 SC-7(20)、 NIST.800-53.r5 SC-7(21) NIST.800-53.r5 SC-7、 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 ルール : s3-bucket-public-read-prohibited

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

パラメータ : なし

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

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

修正

Amazon S3 バケットで公開読み取りアクセスをブロックするには、「Amazon Simple Storage Service ユーザーガイド」の「S3 バケットのブロックパブリックアクセス設定の構成」を参照してください。

[S3.3] S3 汎用バケットはパブリック書き込みアクセスをブロックする必要があります

重要

2024 年 3 月 12 日、このコントロールのタイトルが表示されているタイトルに変更されました。詳細については、「Security Hub コントロールの変更ログ」を参照してください。

関連する要件: PCI DSS v3.2.1/1.2.1、PCIDSSv3.2.1/1.3.1、PCIDSSv3.2.1/1.3.2、PCIDSSv3.2.1/1.3.4、PCIDSSv3.2.1/1.3.6、PCIDSSv3.2.1/7.2.1、 NIST.800-53.r5 AC-21、(7) NIST.800-53.r5 AC-4、 NIST.800-53.r5 AC-3( NIST.800-53.r5 AC-421)、 NIST.800-53.r5 SC-7、(11) NIST.800-53.r5 AC-3、 NIST.800-53.r5 SC-7(16)、 NIST.800-53.r5 SC-7(20) NIST.800-53.r5 AC-6 NIST.800-53.r5 SC-7、 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 ルール : s3-bucket-public-write-prohibited

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

パラメータ : なし

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

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

修正

Amazon S3 バケットで公開書き込みアクセスをブロックするには、「Amazon Simple Storage Service ユーザーガイド」の「S3 バケットのブロックパブリックアクセス設定の構成」を参照してください。

[S3.5] S3 汎用バケットでは、 の使用をリクエストする必要があります SSL

重要

2024 年 3 月 12 日、このコントロールのタイトルが表示されているタイトルに変更されました。詳細については、「Security Hub コントロールの変更ログ」を参照してください。

関連する要件: CIS AWS Foundations Benchmark v3.0.0/2.1.1、 CIS AWS Foundations Benchmark v1.4.0/2.1.2、PCIDSSv3.2.1/4.1, NIST.800-53.r5 AC-17(2)、 NIST.800-53.r5 IA-5(1) NIST.800-53.r5 AC-4、 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)

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

重要度:

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

AWS Config ルール : s3-bucket-ssl-requests-only

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

パラメータ : なし

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

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

修正

Amazon S3 バケットポリシーを更新して安全でないトランスポートを拒否するには、Amazon S3 コンソールを使用したバケットポリシーの追加」を参照してください。

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

{ "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 「ルール s3-bucket-ssl-requests-only? に準拠するためにどの S3 バケットポリシーを使用すべきか」を参照してください。

[S3.6] S3 汎用バケットポリシーでは、他の へのアクセスを制限する必要があります AWS アカウント

重要

2024 年 3 月 12 日、このコントロールのタイトルが表示されているタイトルに変更されました。詳細については、「Security Hub コントロールの変更ログ」を参照してください。

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

カテゴリ : 保護 > 安全なアクセス管理 > 機密性の高いAPIオペレーションアクションの制限

重要度:

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

AWS Config ルール: s3-bucket-blacklisted-actions-prohibited

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

パラメータ :

  • blacklistedactionpatterns: s3:DeleteBucketPolicy, s3:PutBucketAcl, s3:PutBucketPolicy, s3:PutEncryptionConfiguration, s3:PutObjectAcl (カスタマイズ不可)

このコントロールは、Amazon S3 汎用バケットポリシーが、他の AWS アカウント のプリンシパルが S3 バケット内のリソースに対して拒否されたアクションを実行できないかどうかを確認します。バケットポリシーが別の のプリンシパルに対して前述のアクションを 1 つ以上許可している場合、コントロールは失敗します AWS アカウント。

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

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

修正

Amazon S3 バケットポリシーを更新してアクセス許可を削除するには、「Amazon Simple Storage Service ユーザーガイド」の「Amazon S3 コンソールを使用したバケットポリシーの追加」を参照してください。

[バケットポリシーを編集] ページのポリシー編集テキストボックスで、以下のいずれかのアクションを実行します。

  • 拒否されたアクションへのアクセス許可を別の  AWS アカウント に付与するステートメントを削除する。

  • 許可済みの拒否されたアクションをステートメントから削除する。

[S3.7] S3 汎用バケットはクロスリージョンレプリケーションを使用する必要があります

重要

2024 年 3 月 12 日、このコントロールのタイトルが表示されているタイトルに変更されました。詳細については、「Security Hub コントロールの変更ログ」を参照してください。

関連する要件: 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 ルール: s3-bucket-cross-region-replication-enabled

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

パラメータ : なし

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

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

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

修正

Amazon S3 バケットのレプリケーションを有効にするには、「Amazon Simple Storage Service ユーザーガイド」の「同じアカウントが所有するレプリケート元バケットとレプリケート先バケットのレプリケーションの設定」を参照してください。[ソースバケット] で、[バケット内のすべてのオブジェクトに適用] を選択します。

[S3.8] S3 汎用バケットはパブリックアクセスをブロックする必要があります

関連する要件: 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)

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

重要度:

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

AWS Config ルール : s3-bucket-level-public-access-prohibited

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

パラメータ :

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

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

  • ignorePublicAcls

  • blockPublicPolicy

  • blockPublicAcls

  • restrictPublicBuckets

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

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

修正

バケットレベルでパブリックアクセスを削除する方法については、「Amazon S3 ユーザーガイド」の「Amazon S3 ストレージへのパブリックアクセスのブロック」を参照してください。

[S3.9] S3 汎用バケットでは、サーバーアクセスのログ記録を有効にする必要があります

重要

2024 年 3 月 12 日、このコントロールのタイトルが表示されているタイトルに変更されました。詳細については、「Security Hub コントロールの変更ログ」を参照してください。

関連する要件: 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)

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

重要度:

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

AWS Config ルール : s3-bucket-logging-enabled

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

パラメータ : なし

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

サーバーアクセスのログ記録には、バケットに対するリクエストの詳細を提供します。サーバーアクセスログは、セキュリティとアクセス監査に役立ちます。詳細については、「Amazon S3 のセキュリティベストプラクティス: Amazon S3 サーバーアクセスログを有効にします」を参照してください。

修正

Amazon S3 のサーバーアクセスのログ記録を有効にするには、「Amazon S3 ユーザーガイド」の「Amazon S3 サーバーアクセスログの有効化」を参照してください。

[S3.10] バージョニングが有効になっている S3 汎用バケットにはライフサイクル設定が必要です

重要

2024 年 3 月 12 日、このコントロールのタイトルが表示されているタイトルに変更されました。Security Hub は 2024 年 4 月にこのコントロールを AWS Foundational Security Best Practices 標準から廃止しましたが、NISTSP 800-53 Rev. 5 標準にまだ含まれています。詳細については、「Security Hub コントロールの変更ログ」を参照してください。

関連する要件: 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 ルール : s3-version-lifecycle-policy-check

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

パラメータ : なし

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

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

修正

Amazon S3 バケットでのライフサイクルの設定の詳細については、「バケットのライフサイクル設定の指定」と「ストレージのライフサイクルの管理」を参照してください。

[S3.11] S3 汎用バケットでは、イベント通知を有効にする必要があります

重要

2024 年 3 月 12 日、このコントロールのタイトルが表示されているタイトルに変更されました。Security Hub は 2024 年 4 月にこのコントロールを AWS Foundational Security Best Practices 標準から廃止しましたが、NISTSP 800-53 Rev. 5 標準にまだ含まれています。詳細については、「Security Hub コントロールの変更ログ」を参照してください。

関連する要件: 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)

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

重要度:

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

AWS Config ルール : s3-event-notifications-enabled

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

パラメータ :

パラメータ 説明 [Type] (タイプ) 許可されているカスタム値 Security Hub のデフォルト値

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

デフォルト値なし

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

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

修正

S3 バケットおよびオブジェクトの変更を、検出する方法の詳細については、「Amazon S3 ユーザーガイド」の「Amazon S3 イベント通知」を参照してください。

[S3.12] ACLs は、S3 汎用バケットへのユーザーアクセスを管理するために使用しないでください

重要

2024 年 3 月 12 日、このコントロールのタイトルが表示されているタイトルに変更されました。詳細については、「Security Hub コントロールの変更ログ」を参照してください。

関連する要件: 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 ルール : s3-bucket-acl-prohibited

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

パラメータ : なし

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

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

修正

このコントロールに合格するには、S3 バケットACLsの を無効にする必要があります。手順については、「Amazon Simple Storage Service ユーザーガイド」の「オブジェクトの所有権の制御ACLs」と「バケットの無効化」を参照してください。

S3 バケットポリシーを作成するには、「Amazon S3 コンソールを使用したバケットポリシーの追加」を参照してください。S3 バケットにIAMユーザーポリシーを作成するには、「ユーザーポリシー を使用したバケットへのアクセスの制御」を参照してください。

[S3.13] S3 汎用バケットにはライフサイクル設定が必要です

重要

2024 年 3 月 12 日、このコントロールのタイトルが表示されているタイトルに変更されました。詳細については、「Security Hub コントロールの変更ログ」を参照してください。

関連する要件: 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 ルール : s3-lifecycle-policy-check

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

パラメータ :

パラメータ 説明 [Type] (タイプ) 許可されているカスタム値 Security Hub のデフォルト値

targetTransitionDays

オブジェクトが、その作成後、指定されたストレージクラスに移行するまでの日数

整数

136500

デフォルト値なし

targetExpirationDays

オブジェクトが作成されてから削除されるまでの日数

整数

136500

デフォルト値なし

targetTransitionStorageClass

送信先 S3 ストレージクラスのタイプ

列挙型

STANDARD_IA, INTELLIGENT_TIERING, ONEZONE_IA, GLACIER, GLACIER_IR, DEEP_ARCHIVE

デフォルト値なし

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

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

修正

Amazon S3 バケットでライフサイクルポリシーを設定する方法の詳細については、「Amazon S3 ユーザーガイド」の「バケットのライフサイクル設定の指定」および「ストレージのライフサイクルの管理」を参照してください。

[S3.14] S3 汎用バケットではバージョニングを有効にする必要があります

重要

2024 年 3 月 12 日、このコントロールのタイトルが表示されているタイトルに変更されました。詳細については、「Security Hub コントロールの変更ログ」を参照してください。

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

関連する要件: 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)

重要度:

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

AWS Config ルール : s3-bucket-versioning-enabled

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

パラメータ : なし

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

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

ヒント

バージョニングが原因でバケット内のオブジェクトの数が増加すると、ルールに基づいてバージョニングされたオブジェクトを自動的にアーカイブまたは削除するようにライフサイクル設定を設定できます。詳細については、「バージョニングされたオブジェクトの Amazon S3 ライフサイクル管理」を参照してください。

修正

S3 バケットでバージョニングを使用するには、「Amazon S3 ユーザーガイド」の「バケットでのバージョニングの有効化」を参照してください。

[S3.15] S3 汎用バケットでは、オブジェクトロックを有効にする必要があります

重要

2024 年 3 月 12 日、このコントロールのタイトルが表示されているタイトルに変更されました。詳細については、「Security Hub コントロールの変更ログ」を参照してください。

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

関連する要件: NIST.800-53.r5 CP-6(2)

重要度:

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

AWS Config ルール: s3-bucket-default-lock-enabled

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

パラメータ :

パラメータ 説明 [Type] (タイプ) 許可されているカスタム値 Security Hub のデフォルト値

mode

S3 Object Lock の保持モード

列挙型

GOVERNANCE, COMPLIANCE

デフォルト値なし

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

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

修正

新規および既存の S3 バケットの Object Lock を設定するには、「Amazon S3 ユーザーガイド」の「オブジェクトロックの設定」を参照してください。

[S3.17] S3 汎用バケットは保管時に で暗号化する必要があります AWS KMS keys

重要

2024 年 3 月 12 日、このコントロールのタイトルが表示されているタイトルに変更されました。詳細については、「Security Hub コントロールの変更ログ」を参照してください。

カテゴリ: 保護 > データ保護 > の暗号化 data-at-rest

関連する要件: 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

重要度:

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

AWS Config ルール: s3-default-encryption-kms

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

パラメータ : なし

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

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

修正

SSE- を使用して S3 バケットを暗号化するにはKMS、Amazon S3 ユーザーガイド」の AWS KMS 「 (SSE-KMS) によるサーバー側の暗号化の指定」を参照してください。DSSE- を使用して S3 バケットを暗号化するにはKMS、「Amazon S3 ユーザーガイド」の AWS KMS keys 「 (DSSE-KMS) による二層式サーバー側の暗号化の指定」を参照してください。 Amazon S3

[S3.19] S3 アクセスポイントでは、ブロックパブリックアクセス設定を有効にする必要があります

関連する要件: 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(11) NIST.800-53.r5 SC-7、 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::AccessPoint

AWS Config ルール: s3-access-point-public-access-blocks

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

パラメータ : なし

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

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

修正

Amazon S3 は、現在、アクセスポイントの作成後におけるアクセスポイントのブロックパブリックアクセス設定の変更をサポートしていません。デフォルトでは、新しいアクセスポイントを作成すると、すべてのブロックパブリックアクセス設定が有効になります。これらの設定を特に無効にする必要がある場合を除いて、すべての設定を有効にしておくことをお勧めします。詳細については、「Amazon Simple Storage Service ユーザーガイド」の「アクセスポイントへのパブリックアクセスの管理」を参照してください。

[S3.20] S3 汎用バケットでは、MFA削除を有効にする必要があります

関連する要件: 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 ルール: s3-bucket-mfa-delete-enabled

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

パラメータ : なし

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

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

注記

MFA 削除機能では、依存関係としてバケットのバージョニングが必要です。バケットのバージョニングとは、同じバケット内で S3 オブジェクトの複数のバリエーションを保持する方法です。さらに、ルートユーザーとしてログインしているバケット所有者のみが、S3 バケットMFAで削除を有効にして削除アクションを実行できます。

修正

S3 バージョニングを有効にし、バケットMFAの削除を設定するには、Amazon Simple Storage Service ユーザーガイドMFA「削除の設定」を参照してください。

[S3.22] S3 汎用バケットは、オブジェクトレベルの書き込みイベントをログに記録する必要があります

関連する要件: CIS AWS Foundations Benchmark v3.0.0/3.8

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

重要度:

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

AWS Config ルール: cloudtrail-all-write-s3-data-event-check

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

パラメータ : なし

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

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

修正

S3 バケットのオブジェクトレベルのログ記録を有効にするには、「Amazon Simple Storage Service ユーザーガイド」のS3 バケットとオブジェクトの CloudTrail イベントログ記録の有効化」を参照してください。

[S3.23] S3 汎用バケットは、オブジェクトレベルの読み取りイベントをログに記録する必要があります

関連する要件: CIS AWS Foundations Benchmark v3.0.0/3.9

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

重要度:

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

AWS Config ルール: cloudtrail-all-read-s3-data-event-check

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

パラメータ : なし

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

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

修正

S3 バケットのオブジェクトレベルのログ記録を有効にするには、「Amazon Simple Storage Service ユーザーガイド」のS3 バケットとオブジェクトの CloudTrail イベントログ記録を有効にする」を参照してください。