次の方法で共有


Azure Cosmos DB の今後の TLS 1.3 サポートに備える

適用対象: NoSQL MongoDB カサンドラ グレムリン

Von Bedeutung

2025 年 3 月 31 日より、Azure Cosmos DB で TLS 1.3 のサポートが有効になります。

2025 年 8 月 31 日以降は、TLS 1.0/1.1 が正式に非推奨となります。 サポートされるのは TLS 1.2 以上だけです。

Azure Cosmos DB では、セキュリティのベスト プラクティスに準拠するために、プラットフォーム全体のパブリック エンドポイントで TLS 1.3 のサポートをグローバルに有効にします。 この記事では、Azure Cosmos DB の TLS 1.3 の今後のサポートに備える方法について追加のガイダンスを提供します。

TLS 1.3 では、以前のバージョンと比較して大幅に機能が改良されています。 TLS 1.3 の機能改良では、パフォーマンスとセキュリティの両方に重点が置かれ、より高速なハンドシェイクと、より安全な暗号スイート (TLS_AES_256_GCM_SHA384 および TLS_AES_128_GCM_SHA256) の合理化されたセットが特徴です。 特に、TLS 1.3 では、サポートされていないキー交換アルゴリズムを排除することで、Perfect Foward Secrecy (PFS) が優先されます。 

使用可能な最新の TLS バージョンを利用するクライアントは、使用可能な場合は TLS 1.3 を自動的に選択します。 Azure Cosmos DB では、TLS 1.3 に加えて TLS 1.2 も引き続きサポートされます。 

以下の問題は、TLS 1.3 の有効化、潜在的な影響、軽減策に関する既知の問題の一部です。

既知の問題、影響、軽減策

  • JDK 関連の問題: 4.1.68.Final から 4.1.86.Final までの io.netty バージョンには、Java ランタイム エンジンで TLS 1.3 がサポートされていない場合に、クライアントが直接モード接続で TLS ハンドシェイクに失敗する原因となるバグが含まれています。 4.20.0 から 4.40.0 までの Azure Cosmos DB Java SDK バージョンは、このバグに関して io.netty に推移的な依存関係を持ちます。 次に示すように、クライアントは java.lang.IllegalArgumentException 例外で失敗します。

     Caused by: io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: General OpenSslEngine problem at 
    ...       
    Caused by: java.lang.IllegalArgumentException: TLSv1.3 at sun.security.ssl.ProtocolVersion.valueOf(ProtocolVersion.java:187)
    
  • 軽減策に関する推奨事項:

    • オプション 1: (必須) Azure Cosmos DB Java SDK を最小推奨バージョン以上にアップグレードします。
    • オプション 2: Microsoft は、最新の SDK バージョンへのアップグレードが必ず実行できるとは限らないことを認識しています。 アプリケーションを最新の SDK に移行するときに、接続をゲートウェイ モードに切り替えることで、この問題に対処できます。 運用環境にデプロイする前に、アプリケーションを十分にテストしてください。

クライアントで TLS 1.3 を使用できるようにするには、Java ランタイムで TLS 1.3 をサポートする必要があります