パスワードの大/小文字の区別とアップグレードについて
デフォルトで、Oracle Database 12cリリース2 (12.2)以降のリリースは排他モードにアップグレードされます。排他モードは大/小文字を区別しないパスワードを基にした認証をサポートしません。
サーバーが排他モードで実行されている場合、10Gパスワード・バージョンだけを持つアカウントにはアクセスできなくなります。
以前のリリースのOracle Databaseでは、SEC_CASE_SENSITIVE_LOGON=FALSEを設定することにより、大/小文字を区別しないパスワード・ベースの認証を許可するように認証プロトコルを構成できます。Oracle Database 12cリリース2 (12.2)以降は、デフォルトのパスワード・ベースの認証プロトコル構成で、大/小文字を区別しない10Gパスワード・バージョンの使用が排除されています。デフォルトでは、SQLNET.ORAパラメータSQLNET.ALLOWED_LOGON_VERSION_SERVERが12(排他モード)に設定されています。データベースが排他モードで設定されている場合、パスワード・ベースの認証プロトコルでは大/小文字を区別するいずれかのパスワード・バージョン(11Gまたは12C)が、認証されるアカウントに存在する必要があります。このモードは、以前のリリースで使用されていた10Gパスワード・バージョンの使用を排除します。Oracle Database 12cリリース2以降のリリースにアップグレードした後は、大/小文字を区別しない10Gパスワード・バージョンしか持たないアカウントにはアクセスできなくなります。この変更が発生するのは、サーバーがデフォルトで排他モードで実行されるためです。Oracle Databaseが排他モードで構成されていると、古い10Gパスワード・バージョンを使用してクライアントを認証できません。サーバーにはそのクライアントの認証に使用するパスワード・バージョンがありません。
セキュリティを高めるためには、大/小文字を区別するパスワード・ベースの認証を有効にしておくことをお薦めします。この設定がデフォルトです。ただし、新しいOracle Databaseリリースへのアップグレード中に、大/小文字を区別する認証を一時的に無効にすることはできます。アップグレード後に、パスワード・バージョンを管理するための実装計画の一環として、大/小文字を区別するパスワード・ベースの認証機能を有効にするかどうかを決定できます。
アップグレード前に、デフォルトのパスワード・ベースの認証プロトコル構成に対するこの変更により影響を受けるかどうかを判定することをお薦めします。次のことを確認してください。
-
10Gの大/小文字を区別しないパスワード認証バージョンだけを持つアカウントがあるかどうかを確認します。 -
重要なパッチ更新
CPUOct2012またはそれ以降のパッチ更新を適用していないOracle Database 11gリリース2 (11.2.0.3)データベースがあるかどうか、かつ、大/小文字を区別しない10Gパスワード・バージョンを持たないアカウントがあるかどうかを確認します。 -
FALSEに設定した非推奨のパラメータSEC_CASE_SENSITIVE_LOGONがないことを確認します。このパラメータをFALSEに設定すると、大/小文字を区別するパスワード・バージョン(
11Gおよび12Cパスワード・バージョン)を認証に使用できません。
大/小文字を区別しないバージョンを使用するアカウントのオプション
大/小文字を区別しない10Gパスワード・バージョンのみを持つユーザー・アカウントがある場合は、次の代替方式のいずれかを選択する必要があります。
-
アップグレード前に、
10Gパスワード・バージョンだけを持つそれぞれのアカウントのパスワード・バージョンを更新します。パスワード・バージョンを更新するには、10Gパスワード・バージョンを使用するユーザー・パスワードを期限切れにして、そうしたユーザーにアカウントにログインするように要求します。ユーザーがログインを試行すると、サーバーはパスワード・バージョンのリストを自動的に更新しますが、これには大/小文字を区別するパスワード・バージョンが含まれます。 -
SQLNET.ORAパラメータ
SQLNET.ALLOWED_LOGON_VERSION_SERVERの設定を、排他モード以外の設定に変更します。たとえば、SQLNET.ALLOWED_LOGON_VERSION_SERVER=11です。