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 のセキュリティポリシー」を参照してください。