プライマリ・コンテンツに移動
Oracle® Databaseセキュリティ・ガイド
12c リリース1 (12.1)
B71285-10
目次へ移動
目次
索引へ移動
索引

前
次

20 厳密認証の使用のカスタマイズ

Oracle Databaseのネットワーク暗号化および厳密認証のもとで、複数の認証方法を構成できます。

内容は次のとおりです。

厳密認証を使用したデータベースへの接続

パスワード認証を使用して、厳密認証を使用するように構成されたデータベースに接続できます。

  1. Oracleネットワークおよび厳密認証方式が構成されている場合に、ユーザー名とパスワードを使用してOracleデータベース・サーバーに接続するには、外部認証を無効化します。

    Oracleネットワークおよび厳密認証方式が構成されている場合、ユーザー名とパスワードを使用してOracle Databaseサーバーに接続する前に、最初に「厳密認証およびネットワーク暗号化の無効化」の手順に従って外部認証を無効にする必要があります。

  2. 外部認証を無効化し、次の形式を使用してデータベースに接続します。

    % sqlplus username@net_service_name
    Enter password: password
    

    例:

    % sqlplus hr@emp
    Enter password: password

注意:

単一データベースに、外部認証ユーザーとパスワード認証ユーザーの両方を含む複数の認証方式を構成できます。

厳密認証およびネットワーク暗号化の無効化

Oracle Net Managerを使用して、厳密認証およびネットワーク暗号化を無効にすることができます。

  1. Oracle Net Managerを起動します。
    • (UNIX) $ORACLE_HOME/binから、コマンドラインで次のコマンドを入力します。

      netmgr
      
    • (Windows)「スタート」「プログラム」「Oracle - HOME_NAME」「Configuration and Migration Tools」「Net Manager」を選択します。

  2. 「Oracle Netの構成」を展開し、「ローカル」から「プロファイル」を選択します。
  3. 「ネーミング」リストから、「ネットワーク・セキュリティ」を選択します。

    ネットワーク・セキュリティのタブ付きウィンドウが表示されます。

  4. 「認証」タブ(デフォルトで選択されています)を選択します。
  5. 「選択メソッド」リスト内の認証方式を順番に選択して左矢印[<]をクリックすることによって「使用可能なメソッド」リストにすべて移動します。
  6. 「暗号化」タブを選択します。
  7. 次を実行します。
    • 「暗号化」メニューから、SERVERを選択します。
    • 「暗号化タイプ」rejectedに設定します。
    • 「暗号化シード」フィールドで、暗号化シードが使用された場合の有効な暗号化シードを入力します。
    • 「メソッドの選択」で、任意のメソッドを「使用可能なメソッド」フィールドに移動します。
  8. これらの手順を繰り返します。「暗号化」メニューからCLIENTを選択して、クライアントのネットワーク暗号化を無効にします。
  9. 「ファイル」メニューから、「ネットワーク構成の保存」を選択します。

    sqlnet.oraファイルは、厳密認証およびネットワーク暗号化が無効化されていることを示す次のエントリで更新されます。

    厳密認証:

    SQLNET.AUTHENTICATION_SERVICES = (NONE)
    

    ネットワーク暗号化の場合、サーバー側およびクライアント側に個別に設定できます。次の例では、サーバーとクライアントの両方で無効化されているネットワーク暗号化を示します。

    SQLNET.ENCRYPTION_SERVER = REJECTED
    SQLNET.ENCRYPTION_CLIENT = REJECTED

    マルチテナント環境では、sqlnet.oraファイルの設定はすべてのプラガブル・データベース(PDB)に適用されることに注意してください。

複数の認証方式の構成

多くのネットワークにおいて、単一のセキュリティ・サーバーで複数の認証方式が使用されています。

そのため、Oracle Databaseでは、Oracleクライアントが特定の認証方式を使用できるように、および、Oracleデータベース・サーバーが指定された任意の方式を受け入れることができるように、ネットワークを構成できます。

Oracle Net Managerを使用するか、または任意のテキスト・エディタを使用してsqlnet.oraファイルを変更することによって、クライアント・システムとサーバー・システムの両方で複数の認証方式を設定できます。クライアントとサーバーの両方に認証方式を追加するには、Oracle Net Managerを使用します。

  1. Oracle Net Managerを起動します。
    • (UNIX) $ORACLE_HOME/binから、コマンドラインで次のコマンドを入力します。

      netmgr
      
    • (Windows)「スタート」「プログラム」「Oracle - HOME_NAME」「Configuration and Migration Tools」「Net Manager」を選択します。

  2. 「Oracle Netの構成」を展開し、「ローカル」から「プロファイル」を選択します。
  3. 「ネーミング」リストから、「ネットワーク・セキュリティ」を選択します。

    ネットワーク・セキュリティのタブ付きウィンドウが表示されます。

  4. 「認証」タブを選択します。
  5. 「使用可能なメソッド」リストに一覧表示されている方式を選択します。
  6. 右矢印(>)をクリックして、選択した方式を順番に「選択メソッド」リストに移動します。
  7. 選択した方式を目的の利用順に並べます。

    そのためには、「選択メソッド」リストで方式を選択し、「上へ」または「下へ」を選択してリスト内での位置を変更します。

  8. 「ファイル」メニューから、「ネットワーク構成の保存」を選択します。

    sqlnet.oraファイルが次のエントリで更新され、選択した認証方式が一覧表示されます。

    SQLNET.AUTHENTICATION_SERVICES = (KERBEROS5, RADIUS)

注意:

SecurID機能はRADIUSによって提供されます。RADIUSサポートはRSA ACE/Serverに組み込まれています。

関連項目:

詳細は、RADIUS認証の構成を参照してください

外部認証のためのOracle Databaseの構成

パラメータを使用して、ネットワーク認証を使用するようにOracle Databaseを構成できます。

内容は次のとおりです。

関連項目:

sqlnet.oraでのSQLNET.AUTHENTICATION_SERVICESパラメータの設定

SQLNET.AUTHENTICATION_SERVICESパラメータでは、使用する認証方式とバージョンを定義します。

すべてのクライアントおよびサーバーで、サポートされている認証方式をそれぞれが使用できるようにするには、sqlnet.oraファイルでSQLNET.AUTHENTICATION_SERVICESパラメータを設定する必要があります。

  • 次の構文を使用して、SQLNET.AUTHENTICATION_SERVICESパラメータを設定します。

    SQLNET.AUTHENTICATION_SERVICES=(oracle_authentication_method)

たとえば、すべてのクライアントとサーバーがKerberos認証を使用する場合は次のようにします。

SQLNET.AUTHENTICATION_SERVICES=(KERBEROS5)

デフォルトでは、sqlnet.oraファイルは、ORACLE_HOME/network/adminディレクトリ、またはTNS_ADMIN環境変数によって設定されている場所にあります。TNS_ADMIN変数が正しいsqlnet.oraファイルを指定するように適切に設定されていることを確認します。

関連項目:

TNS_ADMIN変数の詳細および設定例は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください

OS_AUTHENT_PREFIXのNull値への設定

OS_AUTHENT_PREFIXパラメータでは、Oracle Databaseがサーバーに接続しようとするユーザーの認証に使用する接頭辞を指定します。

認証サービス・ベースのユーザー名は長くてもかまいませんが、Oracleユーザー名は30文字までに制限されています。OS_AUTHENT_PREFIXパラメータをnull値に設定することを強くお薦めします。

  • データベース・インスタンスの初期化ファイルで、OS_AUTHENT_PREFIXを次のように設定します。

    OS_AUTHENT_PREFIX=""

注意:

  • OS_AUTHENT_PREFIXのデフォルト値はOPS$ですが、任意の文字列に設定できます。

  • データベースでOS_AUTHENT_PREFIXの値がすでにNULL (" ")以外に設定されている場合は、変更しないでください(変更すると、以前に作成され、外部で識別されたユーザーがOracleサーバーに接続できなくなる可能性があります)。

OS_AUTHENT_PREFIXをnullに設定した後、次の構文を使用して外部ユーザーを作成できます。

CREATE USER os_authent_prefix_username IDENTIFIED EXTERNALLY;

たとえば、ユーザーkingを作成するとします。

CREATE USER king IDENTIFIED EXTERNALLY;

このようにユーザーを作成すると、外部で識別されたユーザーの様々なユーザー名の管理が不要になるという利点があります。これは、サポートされているすべての認証方式に当てはまります。