

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

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

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

## [APIGateway.1] API Gateway REST および WebSocket API 実行ログ記録を有効にする必要があります
<a name="apigateway-1"></a>

**関連する要件:** NIST.800-53.r5 AC-4(26)、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-7(8)

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

**重要度:** 中

**リソースタイプ:** `AWS::ApiGateway::Stage`、`AWS::ApiGatewayV2::Stage`

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

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

**パラメータ :**


| パラメータ | 説明 | タイプ | 許可されているカスタム値 | Security Hub CSPM のデフォルト値 | 
| --- | --- | --- | --- | --- | 
|  `loggingLevel`  |  ログ記録レベル  |  列挙型  |  `ERROR`, `INFO`  |  `No default value`  | 

このコントロールは、Amazon API Gateway REST または WebSocket API のすべてのステージでログ記録が有効になっているかどうかをチェックします。API のすべてのステージで、`loggingLevel` が `ERROR` でも `INFO` でもない場合、コントロールは失敗します。特定のログタイプを有効にする必要があることを示すカスタムパラメータ値を指定しない限り、Security Hub CSPM は、ログレベルが `ERROR`または のいずれかである場合に合格した結果を生成します`INFO`。

API Gateway REST または WebSocket API ステージでは、関連するログを有効にする必要があります。API Gateway REST および WebSocket API 実行ログ記録は、API Gateway REST および WebSocket API ステージに対して行われたリクエストの詳細な記録を提供します。ステージには、API 統合バックエンドレスポンス、Lambda オーソライザーレスポンス、 AWS 統合エンドポイント`requestId`の が含まれます。

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

REST および WebSocket API オペレーションのログ記録を有効にするには、「API Gateway 開発者ガイド」の「[API Gateway コンソールを使用した CloudWatch による API のログの設定](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html#set-up-access-logging-using-console)」を参照してください。

## [APIGateway.2] API Gateway REST API ステージでは、バックエンド認証に SSL 証明書を使用するように設定する必要があります
<a name="apigateway-2"></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::ApiGateway::Stage`

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

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

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

このコントロールは、Amazon API Gateway REST API ステージに SSL 証明書が設定されているかどうかをチェックします。バックエンドシステムは、これらの証明書を使用して、API Gateway からの受信リクエストであることを認証します。

API Gateway からのリクエストをバックエンドシステムが認証できるようにするには、API Gateway REST API ステージを SSL 証明書を設定する必要があります。

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

API Gateway REST API SSL 証明書を生成し設定する方法の詳細については、「API Gateway 開発者ガイド」の「[バックエンド認証用 SSL 証明書の生成と設定](https://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-client-side-ssl-authentication.html)」を参照してください。

## [APIGateway.3] API Gateway REST API ステージでは、 AWS X-Ray トレースを有効にする必要があります
<a name="apigateway-3"></a>

**関連する要件:** NIST.800-53.r5 CA-7

**カテゴリ:** 検出 > 検出サービス

**重要度:** 低

**リソースタイプ :** `AWS::ApiGateway::Stage`

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

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

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

このコントロールは、Amazon API Gateway REST API ステージで AWS X-Ray アクティブトレースが有効になっているかどうかを確認します。

X-Ray アクティブトレースを使用すると、基盤となるインフラストラクチャのパフォーマンスの変化に対してより迅速に対応できます。パフォーマンスの変化により、API が利用できなくなる可能性があります。X-Ray アクティブトレースは、API Gateway REST API オペレーションと接続サービスを介して流れるユーザーリクエストのリアルタイムメトリクスを提供します。

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

API Gateway REST API オペレーションの X-Ray アクティブトレースを有効にする方法の詳細については、[AWS X-Ray 開発者ガイド]の[[AWS X-Rayの Amazon API Gateway アクティブトレースサポート](https://docs.aws.amazon.com/xray/latest/devguide/xray-services-apigateway.html)]を参照してください。

## [APIGateway.4] API Gateway は、WAF ウェブ ACL に関連付けられている必要があります
<a name="apigateway-4"></a>

**関連する要件:** NIST.800-53.r5 AC-4(21)

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

**重要度:** 中

**リソースタイプ :** `AWS::ApiGateway::Stage`

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

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

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

このコントロールは、API Gateway ステージが AWS WAF ウェブアクセスコントロールリスト (ACL) を使用しているかどうかをチェックします。 AWS WAF ウェブ ACL が REST API Gateway ステージにアタッチされていない場合、このコントロールは失敗します。

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

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

API Gateway コンソールを使用して AWS WAF リージョンウェブ ACL を既存の API Gateway API ステージに関連付ける方法については、「 API *Gateway デベロッパーガイド*」の[「 を使用して AWS WAF API を保護する APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-control-access-aws-waf.html)」を参照してください。

## [APIGateway.5] API Gateway REST API のキャッシュデータは、保管中に暗号化する必要があります
<a name="apigateway-5"></a>

**関連する要件:** NIST.800-53.r5 CA-9(1)、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 SI-7(6)

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

**重要度:** 中

**リソースタイプ :** `AWS::ApiGateway::Stage`

**AWS Config rule:** `api-gw-cache-encrypted` (カスタム Security Hub CSPM ルール)

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

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

このコントロールは、キャッシュが有効になっている API Gateway REST API ステージ内のすべてのメソッドが暗号化されているかどうかをチェックします。API Gateway REST API ステージ内のメソッドのキャッシュ機能が設定されており、そのキャッシュが暗号化されていない場合、コントロールは失敗します。Security Hub CSPM は、そのメソッドでキャッシュが有効になっている場合にのみ、特定のメソッドの暗号化を評価します。

保管中のデータを暗号化することで、ディスクに保存されているデータが認証されていないユーザーがアクセスするリスクが軽減されます AWS。これにより、権限のないユーザーによるデータへのアクセスを制限するために、別の一連のアクセスコントロールが追加されます。例えば、データを読み取る前にデータを復号化するには、API の許可が必要です。

API Gateway REST API キャッシュは、セキュリティを強化するために、保管中に暗号化する必要があります。

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

ステージの API キャッシュを設定するには、「*API Gateway デベロッパーガイド*」の「[Amazon API Gateway のキャッシュを有効にする](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html#enable-api-gateway-caching)」を参照してください。**[キャッシュ設定]** で、**[キャッシュデータを暗号化する]** を選択します。

## [APIGateway.8] API Gateway ルートには認可タイプを指定する必要があります
<a name="apigateway-8"></a>

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

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

**重要度:** 中

**リソースタイプ :** `AWS::ApiGatewayV2::Route`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/api-gwv2-authorization-type-configured.html](https://docs.aws.amazon.com/config/latest/developerguide/api-gwv2-authorization-type-configured.html)

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

**パラメータ :**


| パラメータ | 説明 | タイプ | 許可されているカスタム値 | Security Hub CSPM のデフォルト値 | 
| --- | --- | --- | --- | --- | 
|  `authorizationType`  |  API ルートの認可タイプ  |  列挙型  |  `AWS_IAM`, `CUSTOM`, `JWT`  |  デフォルト値なし  | 

このコントロールは、Amazon API Gateway ルートに認可タイプが設定されているかどうかを確認します。API Gateway ルートで認可タイプが指定されていない場合、コントロールは失敗します。`authorizationType` パラメータで指定された認可タイプをルートが使用する場合にのみコントロールを成功させたい場合は、必要に応じてカスタムパラメータ値を指定できます。

API Gateway は API へのアクセスを制御し管理する複数のメカニズムをサポートしています。認可タイプを指定することで、API へのアクセスを許可されたユーザーまたはプロセスのみに制限できます。

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

HTTP API の認可タイプを設定するには、「*API Gateway デベロッパーガイド*」の「[API Gateway での HTTP API へのアクセスの制御と管理](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-access-control.html)」を参照してください。WebSocket API の認可タイプを設定するには、「*API Gateway デベロッパーガイド*」の「[API Gateway での WebSocket API へのアクセスの制御と管理](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-control-access.html)」を参照してください。

## [APIGateway.9] API Gateway V2 ステージにアクセスロギングを設定する必要があります
<a name="apigateway-9"></a>

**関連する要件:** NIST.800-53.r5 AC-4(26)、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-7(8)、PCI DSS v4.0.1/10.4.2

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

**重要度:** 中

**リソースタイプ :** `AWS::ApiGatewayV2::Stage`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/api-gwv2-access-logs-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/api-gwv2-access-logs-enabled.html)

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

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

このコントロールは、Amazon API Gateway V2 ステージのアクセスログが設定されているかどうかをチェックします。アクセスログ設定が定義されていない場合、このコントロールは失敗します。

API Gateway アクセスログは、誰が API にアクセスしたかや、発信者が API にアクセスした方法に関する詳細情報を提供します。これらのログは、セキュリティ監査やアクセス監査、証拠調査などのアプリケーションに役立ちます。トラフィックパターンの分析や問題のトラブルシューティングを行うには、これらのアクセスログを有効にします。

その他のベストプラクティスについては、「*API Gateway デベロッパーガイド*」の「[REST API のモニタリング](https://docs.aws.amazon.com/apigateway/latest/developerguide/rest-api-monitor.html)」を参照してください。

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

アクセスログ記録を設定するには、「*API Gateway デベロッパーガイド*」の「[API Gateway コンソールを使用した CloudWatch による API のログの設定](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html#set-up-access-logging-using-console)」を参照してください。

## [APIGateway.10] API Gateway V2 統合では、プライベート接続に HTTPS を使用する必要があります
<a name="apigateway-10"></a>

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

**重要度:** 中

**リソースタイプ :** `AWS::ApiGatewayV2::Integration`

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

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

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

このコントロールは、API Gateway V2 統合でプライベート接続に対して HTTPS が有効になっているかどうかを確認します。プライベート接続に TLS が設定されていない場合、コントロールは失敗します。

VPC リンクは API Gateway をプライベートリソースに接続します。VPC リンクはプライベート接続を作成しますが、本質的にデータを暗号化しません。TLS を設定すると、API Gateway を介してクライアントからバックエンドへのend-to-end暗号化に HTTPS を使用できます。TLS を使用しない場合、機密性の高い API トラフィックはプライベート接続間で暗号化されません。HTTPS 暗号化は、データ傍受、man-in-the-middle攻撃、認証情報の漏洩からプライベート接続を介してトラフィックを保護します。

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

API Gateway v2 統合でプライベート接続の転送中の暗号化を有効にするには、*Amazon API Gateway デベロッパーガイド*」の[「プライベート統合の更新](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-private-integration.html#set-up-private-integration-update)」を参照してください。プライベート統合が HTTPS プロトコルを使用するように [TLS 設定](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/apis-apiid-integrations-integrationid.html#apis-apiid-integrations-integrationid-model-tlsconfig)を構成します。