Windows認証でNTLMがデフォルトで使用されなくなった

AUTHENTICATION_SERVICES=NTSを使用したMicrosoft Windowsインストールでは、このOracle Databaseリリースでsqlnet.oraファイルのSQLNET.NO_NTLMパラメータの設定がデフォルトでTRUEになり、ORA-12638エラーが発生する可能性があります。

日付: 2023年8月

以前のリリースでは、AUTHENTICATION_SERVICES=NTSのデフォルトはFALSEでした。SQLNET.NO_NTLMは、NTS認証でNTLMを使用できるかどうかを制御します。TRUE設定が、NTS認証でNTLMを使用できないことを意味します。NTLMは、通常、相互認証を提供せず安全性が低くなるため、SQLNET.NO_NTLMTRUEを設定すると、データベースとクライアントがよりセキュアになります。

SQLNET.NO_NTLMパラメータは、サーバーとクライアントの両方で使用されます。SQLNET.NO_NTLMが設定されていないOracleデータベースまたはクライアントのMicrosoft Windowsインストールをアップグレードした場合、デフォルトはTRUEになります。この場合、sqlnet.oraSQLNET.AUTHENTICATION_SERVICES=NTSがあると、クライアントでエラーORA-12638: Credential retrieval failedが発生する可能性があります。

特定のクライアントに対してNTLM認証を使用する場合は、クライアント側のsqlnet.oraファイルで必要に応じてこのパラメータを設定します。

SQLNET.NO_NTLM=FALSE

この設定はサーバーとクライアントの両方に含める必要があり、両方で同じ設定になっている必要があります。SQLNET.NO_NTLMTRUEに設定されていることを確認することをお薦めします。ただし、extproc、仮想アカウントまたはWindowsのローカル・アカウントで認証に失敗した場合は、クライアントSQLNET.NO_NTLMFALSEに設定してからログインを再試行してください。サーバーのSQLNET.NO_NTLMを変更した場合は、データベースを再起動する必要があります。