パスワードの大/小文字の区別とアップグレードについて
デフォルトで、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
です。