Flex Gateway新着情報
Governance新着情報
Monitoring API Managerポリシー名  | 
Transport Layer Security (TLS) - アウトバウンド  | 
概要  | 
API プロキシとアップストリームサービス間の双方向認証を有効にする  | 
カテゴリ  | 
セキュリティ  | 
使用可能な最小 Flex バージョン  | 
v1.4.0  | 
返される状況コード  | 
このポリシーの戻りコードは存在しません。  | 
| 
 次のドキュメントは、ローカルモードで実行されている Flex Gateway にのみ適用されます。接続モードで TLS を設定するには、接続モードでの Flex Gateway の TLS コンテキストの設定を参照してください。  | 
Flex Gateway では、ローカルモードでアウトバウンド TLS (Transport Layer Security) とアウトバウンド相互認証 TLS (mTLS) がサポートされます。
デフォルトでは、Flex Gateway はアウトバウンド TLS をサポートし、安全な通信チャネルを必要とするアップストリームサービスと通信します。デフォルトのアウトバウンド通信では、Flex Gateway は TLS 1.2 のみを使用します。デフォルトの TLS 1.2 暗号化を見つけるには、Flex Gateway でサポートされる暗号化を参照してください。暗号化を見つけるには、Flex Gateway でサポートされる暗号化を参照してください。TLS コンテキストをアップストリームに適用すると、そのアップストリームのデフォルトの TLS コンテキストが上書きされます。デフォルトの暗号化は以降の Flex Gateway バージョンでは変更される可能性があるため、TLS コンテキストをアップストリームに適用して同じ暗号化を維持することができます。
ローカルモードでアウトバウンド TLS を適用するには、「ローカルモードでの Flex Gateway の TLS コンテキストの設定」チュートリアルを使用して、このドキュメントの次の設定ファイルを参照してください。
アウトバウンド TLS コンテキストを設定して API インスタンスとアップストリームサービス間の認証を有効にするには、TLS ポリシーをアップストリームサービスにバインドすることができます。
インバウンド TLS とは異なり、API アップストリームサービスは異なるプロバイダーから提供される可能性があるため、Flex Gateway のすべての API インスタンスに同じアウトバウンド TLS コンテキストを適用することはお勧めできません。そのため、すべてのインスタンスでのアウトバウンド TLS の設定例は提供されていません。
ポート共有はアウトバウンド TLS では懸念になりません。アップストリームサービスごとにアウトバウンド TLS コンテキストを適用できます。
| 
 TLS ポリシーでは、ポリシー順序はサポートされません。  | 
| 
 アップストリーム証明書にはサブジェクト代替名 (SAN) 拡張機能を含める必要があります。共通名 (CN) 項目は非推奨です。 Flex Gateway では、  | 
| 
 アウトバウンド TLS コンテキストを設定する際には、Authority Information Access (AIA) 証明書拡張機能はサポートされません。  | 
Flex Gateway をランタイムとして使用して API インスタンスとアップストリームサービス間のアウトバウンド TLS を有効にするには、YAML 設定ファイルで TLS コンテキストを手動で設定する必要があります。
以下のポリシー定義とパラメーターの表を参照してください。
- policyRef:
    name: tls-outbound
  config:
    skipValidation: <boolean> // REQUIRED
    certificate: // OPTIONAL
        key: <string> // OPTIONAL
        crt: <string> // OPTIONAL
    alpn: <array> // OPTIONAL
    minversion: <string> // OPTIONAL
    maxversion: <string> // OPTIONAL
    ciphers: <array> // OPTIONAL
省略可能なパラメーターを設定ファイルに含めない場合、パラメーターのデフォルト値が TLS コンテキストに適用されます。
ciphers パラメーターを設定する場合、リストされている暗号化が API アップストリームでサポートされることを確認してください。サポートされる暗号化については、「Flex Gateway での TLS 暗号化のサポート」を参照してください。
| パラメーター | 必須または省略可能 | デフォルト値 | 説明 | 
|---|---|---|---|
  | 
必須  | 
false  | 
検証をスキップすると、アウトバウンド mTLS が無効になります  | 
  | 
省略可能 (  | 
なし  | 
mTLS で使用するクライアント証明書  | 
  | 
省略可能  | 
なし  | 
TLS 証明書とキーのペア。セキュリティ標準に準拠するには、すべての証明書が 2048 ビット以上である必要があります。  | 
  | 
省略可能  | 
なし  | 
証明書の非公開鍵部分  | 
  | 
省略可能  | 
なし  | 
証明書の公開鍵部分  | 
  | 
省略可能  | 
  | 
サポートされているアプリケーションレベルプロトコルの優先リスト (h2、http/1.1 など)。  | 
  | 
省略可能  | 
  | 
許容される最小 TLS バージョン  | 
  | 
省略可能  | 
  | 
許容される最大 TLS バージョン  | 
  | 
省略可能  | 
デフォルトおよび他のサポートされる暗号化については、「Flex Gateway での TLS 暗号化のサポート」を参照してください。  | 
サポートされる TLS 暗号化のリスト (IANA 形式)。  | 
YAML ファイルを書式設定して、アップストリームサービス用に TLS または mTLS を設定できます。
特定のアップストリームサービスのアウトバウンド TLS コンテキストを追加するためのサンプル設定:
apiVersion: gateway.mulesoft.com/v1alpha1
kind: PolicyBinding
metadata:
  name: tls-outbound
spec:
  targetRef:
    kind: Service
    name: ingress-test-outbound-upstream
  policyRef:
    name: tls-outbound
  config:
    skipValidation: true
    certificate:
      key: |
        # -----BEGIN PRIVATE KEY-----
        # insert certificate key
        # -----END PRIVATE KEY-----
      crt: |
        # -----BEGIN CERTIFICATE-----
        # insert certificate
        # -----END CERTIFICATE-----
この例では、alpn、minversion、maxversion、ciphers のデフォルト値を使用します。
特定のアップストリームサービスのアウトバウンド mTLS コンテキストを追加するためのサンプル設定:
apiVersion: gateway.mulesoft.com/v1alpha1
kind: PolicyBinding
metadata:
  name: mtls-outbound
spec:
  targetRef:
    kind: Service
    name: ingress-test-outbound-upstream
  policyRef:
    name: tls-outbound
  config:
    skipValidation: false
    trustedCA: |
      # -----BEGIN CERTIFICATE-----
      # insert certificate
      # -----END CERTIFICATE-----
    certificate:
      key: |
        # -----BEGIN PRIVATE KEY-----
        # insert certificate key
        # -----END PRIVATE KEY-----
      crt: |
        # -----BEGIN CERTIFICATE-----
        # insert certificate
        # -----END CERTIFICATE-----
    alpn:
      - http/1.1
      - h2
    minversion: "1.1"
    maxversion: "1.3"
    ciphers:
      - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
      - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
      - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
      - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
      - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
      - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
Flex は、TLS 1.1 ~ TLS 1.3 の範囲の TLS バージョンをサポートでき、サポートする暗号化の一部をカスタマイズすることもできます。
TLS 1.3 暗号化のリストをカスタマイズすることはできません。TLS 1.3 をサポートする場合、設定ファイルにリストされている暗号化に関係なく、TLS 1.3 のデフォルトの暗号化がすべてサポートされます。TLS 1.3 をサポートしない場合、これらの暗号化は含まれません。
TLS 1.2 の場合、暗号化をリストすると、TLS 1.2 のデフォルトの暗号化が上書きされます。デフォルトの TLS 1.2 暗号化以外の暗号化をリストする場合は、サポートするデフォルトの暗号化を含め、サポートするすべての暗号化をリストする必要があります。サポートされる暗号化のリストからデフォルトの暗号化を除外すると、それらの暗号化はサポートされなくなります。デフォルトの暗号化のみをサポートする場合は、暗号化リストを空白のままにします。暗号化をリストしても、デフォルトの TLS 1.3 暗号化には影響しません。
TLS 1.1 にはデフォルトの暗号化がありません。TLS 1.1 をサポートするには、サポートする暗号化をリストする必要があります。TLS 1.1 および TLS 1.2 をサポートする場合、TLS 1.1 暗号をリストすると、TLS 1.2 のデフォルトが上書きされます。これらのバージョンの両方をサポートするには、サポートするすべての暗号化をリストします。
| アウトバウンド TLS コンテキストの場合、選択した暗号化とバージョンがアップストリームサービスでサポートされることを確認してください。 | 
Flex Gateway では、接続モードとローカルモードで次の TLS 暗号化がサポートされます。
| 暗号化 | TLS バージョン | デフォルト | アドバイス | 
|---|---|---|---|
TLS_AES_128_GCM_SHA256  | 
1.3  | 
はい  | 
セキュア  | 
TLS_AES_256_GCM_SHA384  | 
1.3  | 
はい  | 
セキュア  | 
TLS_CHACHA20_POLY1305_SHA256  | 
1.3  | 
はい  | 
セキュア  | 
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256  | 
1.2  | 
はい  | 
推奨  | 
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384  | 
1.2  | 
はい  | 
推奨  | 
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256  | 
1.2  | 
はい  | 
推奨  | 
TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256  | 
1.2  | 
いいえ  | 
推奨  | 
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256  | 
1.2  | 
はい  | 
セキュア  | 
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384  | 
1.2  | 
はい  | 
セキュア  | 
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256  | 
1.2  | 
はい  | 
セキュア  | 
TLS_RSA_WITH_AES_128_GCM_SHA256  | 
1.2  | 
いいえ  | 
脆弱  | 
TLS_RSA_WITH_AES_256_GCM_SHA384  | 
1.2  | 
いいえ  | 
脆弱  | 
TLS_RSA_WITH_AES_128_CBC_SHA  | 
1.1、1.2  | 
いいえ  | 
脆弱  | 
TLS_RSA_WITH_AES_256_CBC_SHA  | 
1.1、1.2  | 
いいえ  | 
脆弱  | 
TLS_PSK_WITH_AES_128_CBC_SHA  | 
1.1、1.2  | 
いいえ  | 
脆弱  | 
TLS_PSK_WITH_AES_256_CBC_SHA  | 
1.1、1.2  | 
いいえ  | 
脆弱  | 
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA  | 
1.1、1.2  | 
いいえ  | 
脆弱  | 
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA  | 
1.1、1.2  | 
いいえ  | 
脆弱  | 
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA  | 
1.1、1.2  | 
いいえ  | 
脆弱  | 
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA  | 
1.1、1.2  | 
いいえ  | 
脆弱  | 
TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA  | 
1.1、1.2  | 
いいえ  | 
脆弱  | 
TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA  | 
1.1、1.2  | 
いいえ  | 
脆弱  | 
TLS_RSA_WITH_3DES_EDE_CBC_SHA  | 
1.1  | 
いいえ  | 
脆弱  |