Azure SQL Managed Instance で最小 TLS バージョンを構成する

最小トランスポート層セキュリティ (TLS) バージョン設定を使用すると、お客様は Azure SQL Managed Instance で使用される TLS のバージョンを制御することができます。

現時点では、TLS 1.0、1.1、1.2 がサポートされています。 最小 TLS バージョンを設定すると、以降の新しい TLS バージョンがサポートされるようになります。 たとえば、1.1 より大きい TLS バージョンを選択します。 ことは、TLS 1.1 および 1.2 との接続のみが受け入れられ、TLS 1.0 は拒否されることを意味します。 テスト後、アプリケーションでこれがサポートされていることを確認するために、最小 TLS バージョンを 1.2 に設定することをお勧めします。これは、以前のバージョンの脆弱性に対する修正プログラムが含まれており、Azure SQL Managed Instance でサポートされる TLS の最高バージョンであるためです。

以前のバージョンの TLS に依存するアプリケーションを使用しているお客様には、アプリケーションの要件に従って最小 TLS バージョンを設定することをお勧めします。 暗号化されていない接続を使用して接続するアプリケーションに依存しているお客様は、最少 TLS バージョンを設定しないことをお勧めします。

詳細については、「SQL Database の接続に関する TLS の考慮事項」を参照してください。

最小 TLS バージョンを設定すると、サーバーの最小 TLS バージョンより低い TLS バージョンを使用しているクライアントからのログイン試行は、次のエラーで失敗します。

Error 47072
Login failed with invalid TLS version

注意

最小 TLS バージョンを構成すると、その最小バージョンがアプリケーション層で適用されます。 プロトコル層で TLS のサポートを確認しようとするツールは、マネージド インスタンス エンドポイントに対して直接実行された場合、最低限必要なバージョンに加えて、TLS バージョンを返す場合があります。

PowerShell を使用して最小 TLS バージョンを設定する

Note

この記事では、Azure と対話するために推奨される PowerShell モジュールである Azure Az PowerShell モジュールを使用します。 Az PowerShell モジュールの使用を開始するには、「Azure PowerShell をインストールする」を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。

重要

PowerShell Azure Resource Manager モジュールは Azure SQL Database で引き続きサポートされますが、今後の開発はすべて Az.Sql モジュールを対象に行われます。 これらのコマンドレットについては、「AzureRM.Sql」を参照してください。 Az モジュールと AzureRm モジュールのコマンドの引数は実質的に同じです。 次のスクリプトは Azure PowerShell モジュールを必要とします。

次の PowerShell スクリプトは、最少 TLS バージョン プロパティをインスタンス レベルで Get および Set する方法を示しています。

#Get the Minimal TLS Version property
(Get-AzSqlInstance -Name sql-instance-name -ResourceGroupName resource-group).MinimalTlsVersion

# Update Minimal TLS Version Property
Set-AzSqlInstance -Name sql-instance-name -ResourceGroupName resource-group -MinimalTlsVersion "1.2"

Azure CLI 経由で最小 TLS バージョンを設定する

重要

このセクションのすべてのスクリプトでは Azure CLI が必要です。

bash シェルでの Azure CLI

次の CLI スクリプトは、bash シェルでの最少 TLS バージョンの変更方法を示しています。

# Get current setting for Minimal TLS Version
az sql mi show -n sql-instance-name -g resource-group --query "minimalTlsVersion"

# Update setting for Minimal TLS Version
az sql mi update -n sql-instance-name -g resource-group --set minimalTlsVersion="1.2"