API Gateway で REST API カスタムドメインのセキュリティポリシーを選択する - Amazon API Gateway

API Gateway で REST API カスタムドメインのセキュリティポリシーを選択する

Amazon API Gateway カスタムドメインのセキュリティを強化するために、API Gateway コンソール、AWS CLI、または AWS SDK でセキュリティポリシーを選択できます。

セキュリティポリシーは、API Gateway が提供する TLS の最小バージョンと暗号スイートの事前定義された組み合わせです。TLS バージョン 1.2 または TLS バージョン 1.0 のセキュリティポリシーを選択できます。TLS プロトコルは、クライアントとサーバーの間の改ざんや傍受などのネットワークセキュリティの問題に対処します。クライアントがカスタムドメインを介して API に TLS ハンドシェイクを確立すると、セキュリティポリシーにより、TLS バージョンと暗号スイートのオプションが適用されます。ここで使用するオプションは、クライアントが選択できます。

カスタムドメインの設定では、セキュリティポリシーによって 2 つの設定が決定されます。

  • API クライアントとの通信に API Gateway が使用する TLS の最小バージョン

  • API クライアントに返すコンテンツを暗号化するために API Gateway が使用する暗号化方式

TLS 1.0 のセキュリティポリシーを選択した場合、セキュリティポリシーは、TLS 1.0、TLS 1.2、TLS 1.3 のトラフィックを受け入れます。TLS 1.2 セキュリティポリシーを選択した場合、セキュリティポリシーは TLS 1.2 と TLS 1.3 のトラフィックを受け入れ、TLS 1.0 のトラフィックを拒否します。

注記

セキュリティポリシーは、カスタムドメインにのみ指定できます。デフォルトエンドポイントを使用する API の場合、API Gateway は次のセキュリティポリシーを使用します。

  • エッジ最適化 API の場合: TLS-1-0

  • リージョン API の場合: TLS-1-0

  • プライベート API の場合: TLS-1-2

各セキュリティポリシーの暗号については、このページの以下の表で説明しています。

カスタムドメインのセキュリティポリシーの指定方法

カスタムドメイン名を作成するときに、セキュリティポリシーを指定します。カスタムドメインの作成方法については、「API Gateway でエッジ最適化カスタムドメイン名を設定する」または「API Gateway でリージョン別カスタムドメイン名を設定する」を参照してください。

カスタムドメイン名のセキュリティポリシーを変更するには、カスタムドメイン設定を更新します。カスタムドメイン名の設定を更新するには、AWS Management Console、AWS CLI、または AWS SDK を使用できます。

API Gateway REST API または AWS CLI を使用する場合は、securityPolicy パラメータで新しい TLS バージョンとして TLS_1_0 または TLS_1_2 を指定します。詳細については、「Amazon API Gateway REST API リファレンス」の「domainname:update」または「AWS CLI リファレンス」の「update-domain-name」を参照してください。

更新オペレーションは、完了するまで数分かかることがあります。

エッジ最適化カスタムドメインで、セキュリティポリシー、TLS プロトコルバージョン、暗号をサポート

次の表では、エッジ最適化カスタムドメイン名に指定できるセキュリティポリシーについて説明します。

TLS プロトコル

TLS_1_0 セキュリティポリシー

TLS_1_2 セキュリティポリシー

TLSv1.3 はい はい
TLSv1.2 はい はい
TLSv1.1 はい いいえ
TLSv1 はい いいえ

以下の表は、各セキュリティポリシーで使用できる TLS 暗号について説明しています。

TLS 暗号

TLS_1_0 セキュリティポリシー

TLS_1_2 セキュリティポリシー

TLS_AES_128_GCM_SHA256 はい はい
TLS_AES_256_GCM_SHA384 はい はい
TLS_CHACHA20_POLY1305_SHA256 はい はい
ECDHE-ECDSA-AES128-GCM-SHA256 はい はい
ECDHE-ECDSA-AES128-SHA256 はい はい
ECDHE-ECDSA-AES128-SHA はい いいえ
ECDHE-ECDSA-AES256-GCM-SHA384 はい はい
ECDHE-ECDSA-CHACHA20-POLY1305 はい はい
ECDHE-ECDSA-AES256-SHA384 はい はい
ECDHE-ECDSA-AES256-SHA はい いいえ
ECDHE-RSA-AES128-GCM-SHA256 はい はい
ECDHE-RSA-AES128-SHA256 はい はい
ECDHE-RSA-AES128-SHA はい いいえ
ECDHE-RSA-AES256-GCM-SHA384 はい はい
ECDHE-RSA-CHACHA20-POLY1305 はい はい
ECDHE-RSA-AES256-SHA384 はい はい
ECDHE-RSA-AES256-SHA はい いいえ
AES128-GCM-SHA256 はい いいえ
AES256-GCM-SHA384 はい はい
AES128-SHA256 はい はい
AES256-SHA はい いいえ
AES128-SHA はい いいえ
DES-CBC3-SHA はい いいえ

リージョンカスタムドメインで、セキュリティポリシー、TLS プロトコルバージョン、暗号をサポート

次の表は、リージョンカスタムドメイン名のセキュリティポリシーについて説明しています。

TLS プロトコル

TLS_1_0 セキュリティポリシー

TLS_1_2 セキュリティポリシー

TLSv1.3

はい はい

TLSv1.2

はい はい

TLSv1.1

はい いいえ

TLSv1

はい いいえ

以下の表は、各セキュリティポリシーで使用できる TLS 暗号について説明しています。

TLS 暗号

TLS_1_0 セキュリティポリシー

TLS_1_2 セキュリティポリシー

TLS_AES_128_GCM_SHA256

はい はい

TLS_AES_256_GCM_SHA384

はい はい

TLS_CHACHA20_POLY1305_SHA256

はい はい

ECDHE-ECDSA-AES128-GCM-SHA256

はい はい

ECDHE-RSA-AES128-GCM-SHA256

はい はい

ECDHE-ECDSA-AES128-SHA256

はい はい

ECDHE-RSA-AES128-SHA256

はい はい

ECDHE-ECDSA-AES128-SHA

はい いいえ

ECDHE-RSA-AES128-SHA

はい いいえ

ECDHE-ECDSA-AES256-GCM-SHA384

はい はい

ECDHE-RSA-AES256-GCM-SHA384

はい はい

ECDHE-ECDSA-AES256-SHA384

はい はい

ECDHE-RSA-AES256-SHA384

はい はい

ECDHE-RSA-AES256-SHA

はい いいえ

ECDHE-ECDSA-AES256-SHA

はい いいえ

AES128-GCM-SHA256

はい はい

AES128-SHA256

はい はい

AES128-SHA

はい いいえ

AES256-GCM-SHA384

はい はい

AES256-SHA256

はい はい

AES256-SHA

はい いいえ

プライベート API で、TLS プロトコルバージョンと暗号をサポート

次の表では、プライベート API でサポートされている TLS プロトコルについて説明します。プライベート API でのセキュリティポリシーの指定はサポートされていません。

TLS プロトコル

TLS_1_2 セキュリティポリシー

TLSv1.2

はい

次の表は、プライベート API の TLS_1_2 セキュリティポリシーで使用できる TLS 暗号について説明しています。各セキュリティポリシー。

TLS 暗号

TLS_1_2 セキュリティポリシー

ECDHE-ECDSA-AES128-GCM-SHA256

はい

ECDHE-RSA-AES128-GCM-SHA256

はい

ECDHE-ECDSA-AES128-SHA256

はい

ECDHE-RSA-AES128-SHA256

はい
ECDHE-ECDSA-AES256-GCM-SHA384 はい
ECDHE-RSA-AES256-GCM-SHA384 はい
ECDHE-ECDSA-AES256-SHA384 はい
ECDHE-RSA-AES256-SHA384 はい
AES128-GCM-SHA256 はい
AES128-SHA256 はい
AES256-GCM-SHA384 はい
AES256-SHA256 はい

OpenSSL および RFC の暗号名

OpenSSL と IETF RFC 5246 では、同じ暗号に異なる名前を使用します。以下の表では、各暗号化方式の OpenSSL 名 から RFC 名までを示しています。

OpenSSL の暗号名

RFC の暗号名

TLS_AES_128_GCM_SHA256

TLS_AES_128_GCM_SHA256

TLS_AES_256_GCM_SHA384

TLS_AES_256_GCM_SHA384

TLS_CHACHA20_POLY1305_SHA256

TLS_CHACHA20_POLY1305_SHA256

ECDHE-RSA-AES128- GCM-SHA256

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

ECDHE-RSA-AES128-SHA256

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

ECDHE-RSA-AES128-SHA

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

ECDHE-RSA-AES256- GCM-SHA384

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

ECDHE-RSA-AES256-SHA384

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

ECDHE-RSA-AES256-SHA

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

AES128-GCM-SHA256

TLS_RSA_WITH_AES_128_GCM_SHA256

AES256-GCM-SHA384

TLS_RSA_WITH_AES_256_GCM_SHA384

AES128-SHA256

TLS_RSA_WITH_AES_128_CBC_SHA256

AES256-SHA

TLS_RSA_WITH_AES_256_CBC_SHA

AES128-SHA

TLS_RSA_WITH_AES_128_CBC_SHA

DES-CBC3-SHA

TLS_RSA_WITH_3DES_EDE_CBC_SHA

HTTP API と WebSocket API に関する情報

HTTP API と WebSocket API の詳細については、「API Gateway での HTTP API のセキュリティポリシー」と「API Gateway での WebSocket API のセキュリティポリシー」を参照してください。