

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

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

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

## [CloudFront.1] CloudFront ディストリビューションでは、デフォルトのルートオブジェクトが設定されている必要があります
<a name="cloudfront-1"></a>

**関連する要件:** NIST.800-53.r5 SC-7(11)、NIST.800-53.r5 SC-7(16)、PCI DSS v4.0.1/2.2.6

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

**重要度:** 高

**リソースタイプ :** `AWS::CloudFront::Distribution`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-default-root-object-configured.html](https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-default-root-object-configured.html)

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

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

このコントロールは、S3 オリジンタイプの Amazon CloudFront ディストリビューションが、デフォルトのルートオブジェクトである特定のオブジェクトを返すように設定されているかどうかをチェックします。CloudFront ディストリビューションが S3 オリジンを使用しており、デフォルトのルートオブジェクトが設定されていない場合、コントロールは失敗します。このコントロールは、カスタムオリジンを使用する CloudFront ディストリビューションには適用されません。

ユーザーは、ディストリビューション内のオブジェクトではなく、ディストリビューションのルート URL を要求することがあります。この場合、デフォルトのルートオブジェクトを指定することで、ウェブディストリビューションのコンテンツの漏洩を防止できます。

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

CloudFront ディストリビューションのデフォルトルートオブジェクトを設定するには、「*Amazon CloudFront デベロッパーガイド*」の「[デフォルトルートオブジェクトを指定する方法](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html#DefaultRootObjectHowToDefine)」を参照してください。

## [CloudFront.3] CloudFront ディストリビューションでは、転送中に暗号化が必要となります
<a name="cloudfront-3"></a>

**関連する要件:** 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)、PCI DSS v4.0.1/4.2.1

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

**重要度:** 中

**リソースタイプ :** `AWS::CloudFront::Distribution`

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

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

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

このコントロールは、Amazon CloudFront ディストリビューションで視聴者が HTTPS を直接使用する必要性、またはリダイレクトを使用するかどうかをチェックします。`ViewerProtocolPolicy` が `defaultCacheBehavior` または `cacheBehaviors` の `allow-all` に設定されている場合、コントロールは失敗します。

HTTPS (TLS) を使用すると、潜在的な攻撃者が中間者攻撃または同様の攻撃を使用してネットワークトラフィックを盗聴または操作することを防止できます。HTTPS (TLS) 経由の暗号化された接続のみを許可する必要があります。転送中のデータの暗号化は、パフォーマンスに影響する可能性があります。TLS のパフォーマンスプロファイルと TLS の影響を把握するには、この機能を使用してアプリケーションをテストする必要があります。

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

転送中の CloudFront ディストリビューションを暗号化するには、「*Amazon CloudFront デベロッパーガイド*」の「[ビューワーと CloudFront 間の通信で HTTPS を必須にする](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html)」を参照してください。

## [CloudFront.4] CloudFront ディストリビューションでは、オリジンフェイルオーバーが設定されている必要があります
<a name="cloudfront-4"></a>

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

**カテゴリ:** リカバリ > 耐障害性 > 高可用性

**重要度:** 低

**リソースタイプ :** `AWS::CloudFront::Distribution`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-origin-failover-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-origin-failover-enabled.html)

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

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

このコントロールは、Amazon CloudFront ディストリビューションが 2 つ以上のオリジンを使用するオリジングループで構成されているかどうかをチェックします。

CloudFront オリジンのフェイルオーバーにより、可用性を向上できます。オリジンフェイルオーバーは、プライマリオリジンが使用できない場合、または特定の HTTP レスポンスステータスコードを返した場合に、自動的にセカンダリーオリジンにトラフィックをリダイレクトします。

### 修正
<a name="cloudfront-4-remediation"></a>

CloudFront ディストリビューションのオリジンフェイルオーバーを設定するには、「*Amazon CloudFront デベロッパーガイド*」の「[オリジングループの作成](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html#concept_origin_groups.creating)」を参照してください。

## [CloudFront.5] CloudFront ディストリビューションでは、ログ記録を有効にする必要があります
<a name="cloudfront-5"></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)、PCI DSS v4.0.1/10.4.2

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

**重要度:** 中

**リソースタイプ :** `AWS::CloudFront::Distribution`

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

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

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

このコントロールは、CloudFront ディストリビューションでサーバーアクセスのログ記録が有効になっているかどうかをチェックします。ディストリビューションでアクセスのログ記録が有効でない場合、コントロールは失敗します。このコントロールは、ディストリビューションに対して標準ログ記録 (レガシー) が有効になっているかどうかのみを評価します。

CloudFront アクセスログは、CloudFront が受信するすべてのユーザーリクエストに関する詳細情報を提供します。各ログには、リクエストが受信された日時、リクエストを行ったビューワーの IP アドレス、リクエストソース、ビューワーからのリクエストポート番号などの情報が含まれます。これらのログは、セキュリティ監査やアクセス監査、証拠調査などのアプリケーションに役立ちます。アクセスログの分析の詳細については、「*Amazon Athena ユーザーガイド*」の「[Amazon CloudFront ログのクエリ](https://docs.aws.amazon.com/athena/latest/ug/cloudfront-logs.html)」を参照してください。

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

CloudFront ディストリビューションの標準ログ記録 (レガシー) を設定するには、「*Amazon CloudFront デベロッパーガイド*」の「[標準ログ記録 (レガシー) を設定する](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/standard-logging-legacy-s3.html)」を参照してください。

## [CloudFront.6] CloudFront ディストリビューションでは、WAF を有効にする必要があります
<a name="cloudfront-6"></a>

**関連する要件:** NIST.800-53.r5 AC-4(21)、PCI DSS v4.0.1/6.4.2

**カテゴリ:** 保護 > 保護サービス

**重要度:** 中

**リソースタイプ :** `AWS::CloudFront::Distribution`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-associated-with-waf.html](https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-associated-with-waf.html)

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

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

このコントロールは、CloudFront ディストリビューションが Classic または AWS WAF ウェブ ACLs に関連付けられている AWS WAF かどうかをチェックします。ディストリビューションがウェブ ACL に関連付けられていない場合、コントロールは失敗します。

AWS WAF は、ウェブアプリケーションと APIsから保護するのに役立つウェブアプリケーションファイアウォールです。これで、ウェブアクセスコントロールリスト (ウェブ ACL) と呼ばれる一連のルールを設定することができます。このルールは、ユーザーが定義するカスタマイズ可能なウェブセキュリティルールと条件に基づいて、ウェブリクエストを許可、ブロック、またはカウントします。CloudFront ディストリビューションが AWS WAF ウェブ ACL に関連付けられていることを確認し、悪意のある攻撃から保護します。

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

 AWS WAF ウェブ ACL を CloudFront ディストリビューションに関連付けるには、*Amazon CloudFront デベロッパーガイド*[AWS WAF 」の「 を使用してコンテンツへのアクセスを制御する](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-awswaf.html)」を参照してください。

## [CloudFront.7] CloudFront ディストリビューションでは、カスタム SSL/TLS 証明書を使用する必要があります
<a name="cloudfront-7"></a>

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

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

**重要度:** 低

**リソースタイプ :** `AWS::CloudFront::Distribution`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-custom-ssl-certificate.html](https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-custom-ssl-certificate.html)

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

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

このコントロールは、CloudFront ディストリビューションで、CloudFront が提供するデフォルトの SSL/TLS 証明書を使用しているかどうかをチェックします。CloudFront ディストリビューションで、カスタム SSL/TLS 証明書が使用されている場合に、このコントロールは成功します。CloudFront ディストリビューションで、デフォルト SSL/TLS 証明書が使用されている場合に、このコントロールは失敗します。

 カスタム SSL/TLS を使用すると、ユーザーは代替ドメイン名を使用してコンテンツにアクセスできます。カスタム証明書は、 AWS Certificate Manager (推奨）、または IAM に保存できます。

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

カスタム SSL/TLS 証明書を使用して CloudFront ディストリビューション用の代替ドメイン名を追加するには、「*Amazon CloudFront デベロッパーガイド*」の「[代替ドメイン名の追加](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html#CreatingCNAME)」を参照してください。

## [CloudFront.8] CloudFront ディストリビューションでは、SNI を使用して HTTPS リクエストを処理する必要があります
<a name="cloudfront-8"></a>

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

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

**重要度:** 低

**リソースタイプ :** `AWS::CloudFront::Distribution`

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

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

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

このコントロールは、Amazon CloudFront ディストリビューションでカスタム SSL/TLS 証明書が使用されていて、SNI を使用して HTTPS リクエストを処理するように設定されているかチェックします。カスタム SSL/TLS 証明書が関連付けられているものの、SSL/TLS サポートメソッドが専用 IP アドレスである場合、このコントロールは失敗します。

Server Name Indication (SNI) は、2010 年以降にリリースされたブラウザとクライアントでサポートされている TLS プロトコルを拡張したものです。SNI を使用して HTTPS リクエストに対応するように CloudFront を設定した場合、CloudFront は代替ドメイン名を各エッジロケーションの IP アドレスと関連付けます。ビューワーがコンテンツに対して HTTPS リクエストを送信すると、DNS は、正しいエッジロケーションの IP アドレスにリクエストをルーティングします。ドメイン名の IP アドレスが SSL/TLS ハンドシェイクネゴシエーション中に決定されます。IP アドレスはディストリビューション専用にはなりません。

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

SNI を使用して HTTPS リクエストを処理するように CloudFront ディストリビューションを設定するには、「CloudFront デベロッパーガイド」の「[SNI を使用した HTTPS リクエストの処理 (ほとんどのクライアントで動作)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cnames-https-dedicated-ip-or-sni.html#cnames-https-sni)」を参照してください。カスタム SSL 証明書の詳細については、「[CloudFront で SSL/TLS 証明書を使用するための要件](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cnames-and-https-requirements.html)」を参照してください。

## [CloudFront.9] CloudFront ディストリビューションでは、カスタムオリジンへのトラフィックを暗号化する必要があります
<a name="cloudfront-9"></a>

**関連する要件:** 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)、PCI DSS v4.0.1/4.2.1

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

**重要度:** 中

**リソースタイプ :** `AWS::CloudFront::Distribution`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-traffic-to-origin-encrypted.html](https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-traffic-to-origin-encrypted.html)

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

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

このコントロールは、Amazon CloudFront ディストリビューションがカスタムオリジンへのトラフィックを暗号化しているかチェックします。このコントロールは、オリジンプロトコルポリシーが「http-only」を許可されている CloudFront ディストリビューションでは失敗します。ディストリビューションのオリジンプロトコルポリシーが「match-viewer」で、ビューワープロトコルポリシーが「allow-all」である場合にも、このコントロールは失敗します。

HTTPS (TLS) は、ネットワークトラフィックの傍受や操作を防止するために使用できます。HTTPS (TLS) 経由の暗号化された接続のみを許可する必要があります。

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

CloudFront 接続の暗号化を義務付けするようにオリジンプロトコルポリシーを更新するには、「*Amazon CloudFront デベロッパーガイド*」の「[CloudFront とカスタムオリジン間の通信で HTTPS を必須にする](https://docs.aws.amazon.com//AmazonCloudFront/latest/DeveloperGuide/using-https-cloudfront-to-custom-origin.html)」を参照してください。

## [CloudFront.10] CloudFront ディストリビューションは、エッジロケーションとカスタムオリジン間に非推奨の SSL プロトコルを使用しないでください
<a name="cloudfront-10"></a>

**関連する要件:** 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-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.15、PCI DSS v4.0.1/4.2.1

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

**重要度:** 中

**リソースタイプ :** `AWS::CloudFront::Distribution`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-no-deprecated-ssl-protocols.html](https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-no-deprecated-ssl-protocols.html)

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

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

このコントロールは、Amazon CloudFront ディストリビューションが、CloudFront エッジロケーションとカスタムオリジン間の HTTPS 通信に、非推奨の SSL プロトコルを使用しているかどうかをチェックします。CloudFront ディストリビューションに、`OriginSslProtocols` が `SSLv3` を含む `CustomOriginConfig` が使用されていると、このコントロールは失敗します。

2015 年、Internet Engineering Task Force (IETF) は、SSL 3.0 はプロトコルの安全性が不十分であることから廃止すべきであると、正式に発表しました。カスタムオリジンへの HTTPS 通信には、TLSv1.2 以降を使用することが推奨されます。

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

CloudFront ディストリビューションのオリジン SSL プロトコルを更新する方法については、「*Amazon CloudFront デベロッパーガイド*」の「[CloudFront とカスタムオリジン間の通信で HTTPS を必須にする](https://docs.aws.amazon.com//AmazonCloudFront/latest/DeveloperGuide/using-https-cloudfront-to-custom-origin.html)」を参照してください。

## [CloudFront.12] CloudFront ディストリビューションは、存在しない S3 オリジンをポイントしない必要があります
<a name="cloudfront-12"></a>

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

**カテゴリ:** 識別 > リソース設定

**重要度:** 高

**リソースタイプ :** `AWS::CloudFront::Distribution`

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

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

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

このコントロールは、Amazon CloudFront ディストリビューションが存在しない Amazon S3 オリジンをポイントしていないかどうかを確認します。存在しないバケットをポイントするようにオリジンが設定されている場合、CloudFront ディストリビューション用のコントロールは失敗します。このコントロールは、静的ウェブサイトホスティングのない S3 バケットが S3 オリジンである CloudFront ディストリビューションのみに適用されます。

アカウントの CloudFront ディストリビューションが、存在しないバケットをポイントする設定になっている場合、悪意のある第三者が参照先のバケットを作成し、ディストリビューションを通して独自のコンテンツを供給してくる恐れがあります。ルーティング動作に関係なくすべてのオリジンをチェックして、ディストリビューションが適切なオリジンをポイントしていることを確認することをお勧めします。

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

CloudFront ディストリビューションを変更して新しいオリジンをポイントさせるには、「*Amazon CloudFront デベロッパーガイド*」の「[ディストリビューションの更新](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HowToUpdateDistribution.html)」を参照してください。

## [CloudFront.13] CloudFront ディストリビューションでは、オリジンアクセスコントロールを有効にする必要があります
<a name="cloudfront-13"></a>

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

**重要度:** 中

**リソースタイプ :** `AWS::CloudFront::Distribution`

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

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

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

このコントロールは、Amazon S3 オリジンを使用する Amazon CloudFront ディストリビューションにオリジンアクセスコントロール (OAC) が設定されているかどうかをチェックします。OAC が CloudFront ディストリビューション用に設定されていない場合、コントロールは失敗します。

S3 バケットを CloudFront ディストリビューションのオリジンとして使用する場合、OAC を有効にできます。これにより、指定した CloudFront ディストリビューションを介してのみバケット内のコンテンツにアクセスでき、バケットや他のディストリビューションからの直接アクセスは禁止されます。CloudFront はオリジンアクセスアイデンティティ (OAI) をサポートしていますが、OAC には追加機能があり、OAI を使用するディストリビューションは OAC に移行できます。OAI は S3 オリジンに安全にアクセスする方法を提供しますが、きめ細かなポリシー設定や、 AWS 署名バージョン 4 (SigV4) AWS リージョン を必要とする で POST メソッドを使用する HTTP/HTTPS リクエストのサポートがないなどの制限があります。OAI は による暗号化もサポートしていません AWS Key Management Service。OAC は、IAM サービスプリンシパルを使用して S3 オリジンで認証するという AWS ベストプラクティスに基づいています。

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

S3 オリジンの CloudFront ディストリビューション用に OAC を設定するには、「*Amazon CloudFront デベロッパーガイド*」の「[Amazon S3 オリジンへのアクセス制限](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html)」を参照してください。

## [CloudFront.14] CloudFront ディストリビューションにはタグを付ける必要があります
<a name="cloudfront-14"></a>

**カテゴリ:** 識別 > インベントリ > タグ付け

**重要度:** 低

**リソースタイプ :** `AWS::CloudFront::Distribution`

**AWS Config rule:**`tagged-cloudfront-distribution` (カスタム Security Hub CSPM ルール)

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

**パラメータ :**


| パラメータ | 説明 | タイプ | 許可されているカスタム値 | Security Hub CSPM のデフォルト値 | 
| --- | --- | --- | --- | --- | 
|  requiredTagKeys  | 評価されたリソースに含める必要があるシステム以外のタグキーのリスト。タグキーでは大文字と小文字が区別されます。 | StringList (最大 6 項目)  | [AWS 要件を満たす](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions) 1～6 個のタグキー。 | デフォルト値なし  | 

このコントロールは、Amazon CloudFront ディストリビューションにパラメータ `requiredTagKeys` で定義された特定のキーを持つタグがあるかどうかをチェックします。ディストリビューションにタグキーがない場合、またはパラメータ `requiredTagKeys` で指定されたすべてのキーがない場合、コントロールは失敗します。パラメータ `requiredTagKeys` が指定されていない場合、コントロールはタグキーの存在のみをチェックし、ディストリビューションにキーがタグ付けされていない場合は失敗します。自動的に適用され、`aws:` で始まるシステムタグは無視されます。

タグは、 AWS リソースに割り当てるラベルであり、キーとオプションの値で構成されます。タグを作成して、リソースを目的、所有者、環境、またはその他の基準別に分類できます。タグは、リソースの識別、整理、検索、フィルタリングに役立ちます。タグ付けは、アクションと通知の説明責任のあるリソース所有者を追跡するのに役立ちます。タグ付けを使用する場合、タグに基づいてアクセス許可を定義する認証戦略として属性ベースのアクセス制御 (ABAC) を実装できます。タグは、IAM エンティティ (ユーザーまたはロール) および AWS リソースにアタッチできます。IAM プリンシパルに対して、単一の ABAC ポリシー、または個別のポリシーセットを作成できます。これらの ABAC ポリシーを、プリンシパルのタグがリソースタグと一致するときに操作を許可するように設計することができます。詳細については、*IAM ユーザーガイド*の[「ABAC とは AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)」を参照してください。

**注記**  
タグには、個人を特定できる情報 (PII) や、機密情報あるいは秘匿性の高い情報は追加しないでください。タグには AWS のサービス、 を含む多くの がアクセスできます AWS Billing。タグ付けのベストプラクティスの詳細については、「*AWS 全般のリファレンス*」の「[AWS リソースのタグ付け](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices)」を参照してください。

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

CloudFront ディストリビューションにタグを追加するには、「*Amazon CloudFront デベロッパーガイド*」の「[Amazon CloudFront ディストリビューションのタグ付け](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/tagging.html)」を参照してください。

## [CloudFront.15] CloudFront ディストリビューションは、推奨される TLS セキュリティポリシーを使用する必要があります
<a name="cloudfront-15"></a>

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

**重要度:** 中

**リソースタイプ :** `AWS::CloudFront::Distribution`

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

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

**パラメータ:** `securityPolicies`: `TLSv1.2_2021,TLSv1.2_2025,TLSv1.3_2025` (カスタマイズ不可)

このコントロールは、Amazon CloudFront ディストリビューションが推奨 TLS セキュリティポリシーを使用するように設定されているかどうかを確認します。CloudFront ディストリビューションが推奨される TLS セキュリティポリシーを使用するように設定されていない場合、コントロールは失敗します。

ビューワーが HTTPS を使用してコンテンツにアクセスするように Amazon CloudFront ディストリビューションを設定する場合は、セキュリティポリシーを選択し、使用する最小 SSL/TLS プロトコルバージョンを指定する必要があります。これにより、CloudFront がビューワーとの通信に使用するプロトコルバージョンと、CloudFront が通信の暗号化に使用する暗号が決まります。CloudFront が提供する最新のセキュリティポリシーを使用することをお勧めします。これにより、CloudFront は最新の暗号スイートを使用して、ビューワーと CloudFront ディストリビューション間の転送中のデータを暗号化します。

**注記**  
このコントロールは、カスタム SSL 証明書を使用するように設定され、レガシークライアントをサポートするように設定されていない CloudFront ディストリビューションについてのみ結果を生成します。

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

CloudFront ディストリビューションのセキュリティポリシー設定の詳細については、「*Amazon CloudFront デベロッパーガイド*」の「[ディストリビューションの更新](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HowToUpdateDistribution.html)」を参照してください。ディストリビューションのセキュリティポリシーを設定するときは、最新のセキュリティポリシーを選択してください。

## [CloudFront.16] CloudFront ディストリビューションでは、Lambda 関数 URL オリジンのオリジンアクセスコントロールを使用する必要があります
<a name="cloudfront-16"></a>

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

**重要度:** 中

**リソースタイプ :** `AWS::CloudFront::Distribution`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-origin-lambda-url-oac-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-origin-lambda-url-oac-enabled.html)

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

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

このコントロールは、オリジンとして AWS Lambda 関数 URL を持つ Amazon CloudFront ディストリビューションでオリジンアクセスコントロール (OAC) が有効になっているかどうかを確認します。CloudFront ディストリビューションがオリジンとして Lambda 関数 URL を持っており、かつ OAC が有効になっていない場合、コントロールは失敗します。

 AWS Lambda 関数 URL は、Lambda 関数専用の HTTPS エンドポイントです。Lambda 関数 URL が CloudFront ディストリビューションのオリジンである場合、その関数 URL はパブリックアクセス可能である必要があります。したがって、セキュリティのベストプラクティスとして、OAC を作成し、ディストリビューションの Lambda 関数 URL に追加する必要があります。OAC は IAM サービスプリンシパルを使用して、CloudFront と関数 URL 間のリクエストを認証します。また、リソースベースのポリシーを使用して、リクエストがポリシーで指定された CloudFront ディストリビューションに代わって実行されている場合にのみ、関数の呼び出しを許可します。

### 修正
<a name="cloudfront-16-remediation"></a>

Lambda 関数 URL をオリジンとして使用する Amazon CloudFront ディストリビューションの OAC の設定については、*Amazon CloudFront * [デベロッパーガイド」の AWS Lambda 「関数 URL オリジンへのアクセスを制限する](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-lambda.html)」を参照してください。

## [CloudFront.17] CloudFront ディストリビューションは、署名付き URLsと Cookie に信頼されたキーグループを使用する必要があります
<a name="cloudfront-17"></a>

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

**重要度:** 中

**リソースタイプ :** `AWS::CloudFront::Distribution`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-distribution-key-group-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-distribution-key-group-enabled.html)

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

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

このコントロールは、Amazon CloudFront ディストリビューションが、署名付き URL または署名付き Cookie 認証に信頼されたキーグループを使用するように設定されているかどうかをチェックします。CloudFront ディストリビューションが信頼された署名者を使用する場合、またはディストリビューションに認証が設定されていない場合、コントロールは失敗します。

署名付き URL または署名付き Cookie を使用するには、*署名者*が必要です。署名者は、CloudFront で作成する信頼されたキーグループ、または CloudFront キーペアを含む AWS アカウントのいずれかです。CloudFront キーグループでは、CloudFront 署名付き URLsと署名付き Cookie のパブリックキーを管理するために AWS アカウントのルートユーザーを使用する必要がないため、信頼されたキーグループを使用することをお勧めします。

**注記**  
このコントロールは、マルチテナント CloudFront ディストリビューション を評価しません`(connectionMode=tenant-only)`。

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

署名付き URLs*Amazon CloudFront * [デベロッパーガイド」の「信頼されたキーグループ](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html)の使用」を参照してください。