ヘッダーをスキップ
Oracle Database Advanced Security管理者ガイド
11g リリース1(11.1)
E05729-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

6 RADIUS認証の構成

この章では、RADIUS(Remote Authentication Dial-In User Service)を使用するOracle Databaseサーバーの構成方法について説明します。次の項目について説明します。

6.1 RADIUSの概要

RADIUSは、リモート認証およびアクセスを実現するために広く使用されているクライアント/サーバー・セキュリティ・プロトコルです。Oracle Advanced Securityでは、クライアント/サーバー・ネットワーク環境でこの業界標準を使用しています。

RADIUSのプロトコルをインストールして構成すると、トークン・カードやスマートカードなど、RADIUS標準をサポートする認証方式をネットワークで使用できます。さらに、RADIUSを使用すると、OracleクライアントまたはOracle Databaseサーバーを変更することなく、認証方式を変更できます。

ユーザーの立場で見ると、認証手続き全体が透過的です。ユーザーがOracle Databaseサーバーへのアクセスを要求すると、RADIUSクライアントとして動作するOracle DatabaseサーバーがRADIUSサーバーに通知します。RADIUSサーバーは次のように動作します。

Oracle/RADIUS環境を図6-1に示します。

図6-1 Oracle環境でのRADIUS

図6-1の説明は次にあります。
「図6-1 Oracle環境でのRADIUS」の説明

Oracle DatabaseサーバーはRADIUSクライアントとして動作し、OracleクライアントとRADIUSサーバーの間で情報の受渡しを行います。同様に、RADIUSサーバーはOracle Databaseサーバーと適切な認証サーバー(複数可)の間で情報の受渡しを行います。表6-1に、認証の構成要素をリストします。

表6-1 RADIUS認証の構成要素

構成要素 格納される情報

Oracleクライアント

RADIUSを使用した通信のための構成設定

Oracle Databaseサーバー/RADIUSクライアント

OracleクライアントとRADIUSサーバーの間で情報の受渡しを行うための構成設定 

秘密鍵ファイル

RADIUSサーバー

全ユーザーの認証と認可情報

各クライアントの名前またはIPアドレス

各クライアントの共有シークレット

すでに認証されているユーザーが再接続せずに別のログイン・オプションを選択できる無制限の数のメニュー・ファイル

認証サーバー(複数可)

使用中の認証方式に対応する、パス・コードやPINなどのユーザー認証情報

注意: RADIUSサーバーは認証サーバーにもなります。


RADIUSサーバーのベンダーが認証サーバーのベンダーを兼ねている場合も多くあります。この場合、認証はRADIUSサーバーで処理できます。たとえば、RSA ACE/Serverは、RADIUSサーバーでもあり認証サーバーでもあります。このため、この製品は、ユーザーのパス・コードを認証します。


関連項目:


sqlnet.oraファイルの詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

6.2 RADIUS認証モード

ユーザー認証は次の方法で実行されます。

6.2.1 同期認証モード

同期モードのRADIUSでは、パスワードやSecurIDトークン・カードなど、各種の認証方式を使用できます。図6-2は、同期認証のシーケンスを示しています。

図6-2 同期認証のシーケンス

図6-2の説明は次にあります。
「図6-2 同期認証のシーケンス」の説明

同期認証は、次のシーケンスで実行されます。

  1. ユーザーは接続文字列、パス・コード、またはその他の値を入力してログインします。クライアント・マシンは、このデータをOracle Databaseサーバーに渡します。

  2. RADIUSクライアントとして動作しているOracle Databaseサーバーは、OracleクライアントからのデータをRADIUSサーバーに渡します。

  3. RADIUSサーバーはデータを検証するため、スマートカードやSecurID ACEなどの適切な認証サーバーにデータを渡します。

  4. 認証サーバーは、アクセス受入れメッセージまたはアクセス拒否メッセージをRADIUSサーバーに返します。

  5. RADIUSサーバーは、このレスポンスをOracle Databaseサーバー/RADIUSクライアントに渡します。

  6. Oracle Databaseサーバー/RADIUSクライアントは、Oracleクライアントにレスポンスを渡します。

例: SecurIDトークン・カードによる同期認証

SecurID認証では、各ユーザーがトークン・カードを持ち、カードに表示される動的番号は60秒ごとに変わります。Oracle Databaseサーバー/RADIUSクライアントにアクセスするために、ユーザーは個人識別番号(PIN)とユーザーのSecurIDカード上に表示されている動的番号を含む有効なパス・コードを入力します。Oracle Databaseサーバーは、この認証情報をOracleクライアントからRADIUSサーバー(この場合は、確認のための認証サーバー)に渡します。認証サーバー(RSA ACE/Server)によってユーザーが確認されると、受入れパケットがOracle Databaseサーバーに送られ、次に、Oracleクライアントに渡されます。これでユーザーが認証され、適切な表やアプリケーションへのアクセスが可能となります。


関連項目:


6.2.2 チャレンジ/レスポンス(非同期)認証モード

システムで非同期モードを使用している場合は、ユーザーはSQL*Plus CONNECT文字列でユーザー名とパスワードを入力する必要がありません。そのかわりに、プロセスの後半で、グラフィカル・ユーザー・インタフェースを使用して入力します。

図6-3に、チャレンジ/レスポンス認証(非同期認証)のシーケンスを示します。


注意:


RADIUSサーバーが認証サーバーの場合、図6-3の手順3〜5および手順9〜11は、それぞれが1つの手順として結合されます。

図6-3 非同期認証のシーケンス

図6-3の説明は次にあります。
「図6-3 非同期認証のシーケンス」の説明

非同期認証は、次のシーケンスで行われます。

  1. ユーザーは、Oracle Databaseサーバーへの接続を要求します。クライアント・マシンは、データをOracle Databaseサーバーに渡します。

  2. RADIUSクライアントとして動作しているOracle Databaseサーバーは、OracleクライアントからのデータをRADIUSサーバーに渡します。

  3. RADIUSサーバーは、スマートカード、SecurID ACE、トークン・カードなどの適切な認証サーバーにデータを渡します。

  4. 認証サーバーはランダム番号などのチャレンジをRADIUSサーバーに送ります。

  5. RADIUSサーバーは、このチャレンジをOracle Databaseサーバー/RADIUSクライアントに送ります。

  6. Oracle Databaseサーバー/RADIUSクライアントは、このチャレンジをOracleクライアントに送ります。グラフィカル・ユーザー・インタフェースによってユーザーにチャレンジが表示されます。

  7. ユーザーはチャレンジに対するレスポンスを入力します。レスポンスを生成するために、ユーザーはたとえば、受け取ったチャレンジをトークン・カードに入力できます。これにより、トークン・カードからグラフィカル・ユーザー・インタフェースに入力する動的なパスワードが提供されます。Oracleクライアントは、Oracle Databaseサーバー/RADIUSクライアントにユーザーのレスポンスを渡します。

  8. Oracle Databaseサーバー/RADIUSクライアントが、ユーザーのレスポンスをRADIUSサーバーに送ります。

  9. RADIUSサーバーは、ユーザーのレスポンスを検証するため、適切な認証サーバーに渡します。

  10. 認証サーバーは、アクセス受入れメッセージまたはアクセス拒否メッセージをRADIUSサーバーに返します。

  11. RADIUSサーバーは、レスポンスをOracle Databaseサーバー/RADIUSクライアントに渡します。

  12. Oracle Databaseサーバー/RADIUSクライアントは、Oracleクライアントにレスポンスを渡します。

例: スマートカードによる非同期認証

スマートカード認証では、ユーザーはスマートカード(クレジット・カードのような形で、情報を格納するためのICが埋め込まれたプラスチック・カード)を読取り用のハードウェア・デバイスに挿入することによってログインします。Oracleクライアントは、このスマートカードに格納されているログイン情報をOracle Databaseサーバー/RADIUSクライアントとRADIUSサーバーを経由して認証サーバーに送ります。認証サーバーは、RADIUSサーバーとOracle Databaseサーバーを経由してOracleクライアントにチャレンジを戻し、認証情報を入力するようユーザーに求めます。この認証情報には、PINやスマートカードに格納されている他の認証情報を使用できます。

Oracleクライアントは、Oracle DatabaseサーバーとRADIUSサーバーを経由して、ユーザーのレスポンスを認証サーバーに送ります。ユーザーが入力した番号が有効である場合、認証サーバーはRADIUSサーバーとOracle Databaseサーバーを経由して、受入れパケットをOracleクライアントに戻します。これでユーザーが認証され、適切な表やアプリケーションへのアクセスが認可されます。ユーザーが入力した情報が正しくない場合は、認証サーバーはユーザーのアクセスを拒否するメッセージを戻します。

例: ActivCardトークンによる非同期認証

ActivCardトークンの1つに、キーパッドを装備した、動的パスワードを表示できる携帯式のデバイスがあります。Oracle Databaseサーバーへのアクセスを要求するため、ユーザーがパスワードを入力すると、その情報はOracle Databaseサーバー/RADIUSクライアントとRADIUSサーバーを経由して、適切な認証サーバーに渡されます。認証サーバーは、RADIUSサーバーとOracle Databaseサーバーを経由して、クライアントにチャレンジを戻します。ユーザーがチャレンジをトークンに入力すると、ユーザーがレスポンスとして返送する番号がトークンに表示されます。

Oracleクライアントは、Oracle DatabaseサーバーとRADIUSサーバーを経由して、ユーザーのレスポンスを認証サーバーに送ります。ユーザーが入力した番号が有効である場合、認証サーバーはRADIUSサーバーとOracle Databaseサーバーを経由して、受入れパケットをOracleクライアントに戻します。これでユーザーが認証され、適切な表やアプリケーションへのアクセスが認可されます。ユーザーが入力したレスポンスが正しくない場合は、認証サーバーはユーザーのアクセスを拒否するメッセージを戻します。

6.3 RADIUS認証、認可およびアカウントを使用可能にする

RADIUS認証およびアカウントを使用可能にするには、次の作業を実行します。

6.3.1 タスク1: Oracle DatabaseサーバーとOracleクライアントへのRADIUSのインストール

RADIUSは、Oracle Databaseの標準のインストール時に、Oracle Advanced Securityとともにインストールされます。


関連項目:


Oracle Advanced SecurityとRADIUSアダプタのインストールの詳細は、オペレーティング・システム固有のOracle Databaseインストレーション・ガイドを参照してください。

6.3.2 タスク2: RADIUS認証の構成

この作業には、次の手順があります。

特に指示されていないかぎり、これらの構成作業を行うには、Oracle Net Managerを使用するか、テキスト・エディタを使用してsqlnet.oraファイルを変更します。

6.3.2.1 手順1: OracleクライアントでのRADIUSの構成

OracleクライアントでRADIUSを構成するには、Oracle Net Managerを使用します(「Oracle Net Managerの起動」を参照してください)。

  1. Oracle Advanced Securityプロファイルにナビゲートします(詳細は、「Oracle Advanced Securityプロファイルへのナビゲート」を参照)。「Oracle Advanced Security」というタブ・ウィンドウが表示されます(図6-4)。

図6-4 Oracle Advanced Securityの「認証」ウィンドウ

図6-4の説明は次にあります。
「図6-4 Oracle Advanced Securityの「認証」ウィンドウ」の説明

  1. 認証」タブをクリックします。

  2. 「使用可能なメソッド」リストから「RADIUS」を選択します。

  3. 右矢印(>)をクリックして、「RADIUS」を「選択メソッド」リストに移動します。他に使用するメソッドがあれば同じ方法で移動します。

  4. 「選択メソッド」リストでメソッドを選択し、そのリストのその位置に対して「上へ」または「下へ」をクリックして、選択したメソッドを使用する順に並べます。たとえば、RADIUSが最初に使用するサービスとなるようにリストの最も上に置きます。

  5. ファイル」→「ネットワーク構成の保存」を選択します。

    sqlnet.oraファイルが更新され、次のエントリが追加されます。

    SQLNET.AUTHENTICATION_SERVICES=(RADIUS)
    

6.3.2.2 手順2: Oracle DatabaseサーバーでのRADIUSの構成

RADIUSを構成するには、次の手順を実行します。

Oracle DatabaseサーバーでのRADIUS秘密鍵ファイルの作成

Oracle Databaseサーバーを作成する手順は、次のとおりです。

  1. RADIUSサーバーからRADIUS秘密鍵を取得します。 共有秘密鍵は、RADIUSサーバーの管理者がRADIUSクライアントごとに作成します。鍵の長さは、必ず16文字以下にする必要があります。

  2. Oracle Databaseサーバーで、次のディレクトリを作成します。

    • (UNIXの場合)$ORACLE_HOME/network/security

    • (Windowsの場合)ORACLE_BASE¥ORACLE_HOME¥network¥security

  3. RADIUSサーバーからコピーした共有シークレットを格納するために、radius.keyファイルを作成します。このファイルを手順2で作成したディレクトリに配置します。

  4. 共有秘密鍵をコピーし、この鍵のみを、Oracle Databaseサーバーに作成したradius.keyファイルに貼り付けます。

  5. セキュリティを強化するために、radius.keyのファイル・アクセス権を読取り専用に変更し、Oracleの所有者のみがアクセスできるようにします。Oracleはファイル・システムに依存して、このファイルの機密を保護します。


    関連項目:


    秘密鍵の取得方法は、RADIUSサーバーの管理マニュアルを参照してください。

サーバー(sqlnet.oraファイル)でのRADIUSパラメータの構成

サーバーでRADIUSパラメータを構成するには、Oracle Net Managerを使用します(「Oracle Net Managerの起動」を参照してください)。

  1. Oracle Advanced Securityプロファイルにナビゲートします。(「Oracle Advanced Securityプロファイルへのナビゲート」を参照)。「Oracle Advanced Security」というタブ・ウィンドウが表示されます。(図6-4

  2. 認証」タブをクリックします。

  3. 「使用可能なメソッド」リストから「RADIUS」を選択します。

  4. 次に、右矢印(>)を選択して、「RADIUS」を「選択メソッド」リストに移動します。

  5. 選択した方式を使用優先度の高い順に並べるには、「選択メソッド」リストで方式を選択し、「上へ」または「下へ」を選択して並べ替えます。たとえば、最初に使用するサービスをRADIUSにするには、リストの先頭に移動します。

  6. その他のパラメータ」をクリックします(図6-5)。

図6-5 Oracle Advanced Securityの「その他のパラメータ」ウィンドウ

図6-5の説明は次にあります。
「図6-5 Oracle Advanced Securityの「その他のパラメータ」ウィンドウ」の説明

  1. 「認証サービス」リストから「RADIUS」を選択します。

  2. ホスト名」フィールドで、デフォルトのプライマリRADIUSサーバーとして「localhost」をそのまま使用するか、または別のホスト名を入力します。

  3. シークレット・ファイル」フィールドのデフォルト値が有効であるか確認してください。

  4. ファイル」→「ネットワーク構成の保存」を選択します。

    sqlnet.oraファイルが更新され、次のエントリが追加されます。

    SQLNET.AUTHENTICATION_SERVICES=RADIUS
    SQLNET.RADIUS_AUTHENTICATION=RADIUS_server_{hostname|IP_address}
    

Oracle Databaseサーバー初期化パラメータの設定

次の位置に格納されている初期化パラメータ・ファイルを構成します。

  • (UNIXの場合)$ORACLE_HOME/admin/db_name/pfile

  • (Windowsの場合)ORACLE_BASE¥ORACLE_HOME¥admin¥db_name¥pfile

次の値を初期化パラメータ・ファイルに設定します。

REMOTE_OS_AUTHENT=FALSE
OS_AUTHENT_PREFIX=""

注意:

REMOTE_OS_AUTHENTTRUEに設定すると、非保護プロトコル(TCPなど)を使用するユーザーがオペレーティング・システム許可ログイン(以前のOPS$ログイン)を実行できるので、セキュリティが侵害されるおそれがあります。



注意:


REMOTE_OS_AUTHENT初期化パラメータ・ファイルをFALSEに設定する他に、PFILEオプションを使用して起動コマンドを発行する必要があります。これにより、initSID.oraのパラメータが確実に使用されるようになります。


関連項目:


Oracle Databaseサーバーでの初期化パラメータの設定方法は、『Oracle Databaseリファレンス』および『Oracle Database管理者ガイド』を参照してください。

6.3.2.3 手順3: その他のRADIUS機能の構成

デフォルト設定の変更

デフォルト設定を変更するには、Oracle Net Managerを使用します(「Oracle Net Managerの起動」を参照してください)。

  1. Oracle Advanced Securityプロファイルにナビゲートします(「Oracle Advanced Securityプロファイルへのナビゲート」を参照)。「Oracle Advanced Security」というタブ・ウィンドウが表示されます。(図6-5

  2. その他のパラメータ」タブをクリックします。

  3. 「認証サービス」リストから「RADIUS」を選択します。

  4. 次のいずれかのフィールドに対するデフォルト設定を変更します。

    フィールド 説明
    ポート番号 プライマリRADIUSサーバーのリスニング・ポートを指定します。デフォルト値は1645です。
    タイムアウト(秒) プライマリRADIUSサーバーに対するOracle Databaseサーバーのレスポンス待ち時間を指定します。デフォルトは15秒です。
    再試行回数 プライマリRADIUSサーバーに対するOracle Databaseサーバーのメッセージ再送回数を指定します。デフォルトの再試行の回数は3回です。

    RADIUSアカウントの構成方法は、「タスク5: RADIUSアカウントの構成」を参照してください。

    シークレット・ファイル Oracle Databaseサーバー上の秘密鍵の場所を指定します。このフィールドは、秘密鍵自体ではなく、秘密鍵ファイルの場所を指定します。

    秘密鍵の指定方法については、「Oracle DatabaseサーバーでのRADIUS秘密鍵ファイルの作成」を参照してください。


  5. ファイル」→「ネットワーク構成の保存」を選択します。

    sqlnet.oraファイルが更新され、次のエントリが追加されます。

    SQLNET.RADIUS_AUTHENTICATION_PORT=(PORT)
    SQLNET.RADIUS_AUTHENTICATION_TIMEOUT= (NUMBER OF SECONDS TO WAIT FOR response)
    SQLNET.RADIUS_AUTHENTICATION_RETRIES= (NUMBER OF TIMES TO RE-SEND TO RADIUS server)
    SQLNET.RADIUS_SECRET=(path/radius.key)
    

チャレンジ/レスポンスの構成

チャレンジ/レスポンス(非同期)モードでは、グラフィカル・インタフェースを通じて最初にパスワードが要求され、次にユーザーがトークン・カードから取得する動的パスワードなどの追加情報が要求されます。RADIUSアダプタを使用する場合、このインタフェースはJavaベースとして最適なプラットフォームの独立性を提供します。


注意:


認証デバイスのサード・パーティ・ベンダーは、そのデバイスに適したグラフィカル・ユーザー・インタフェースにカスタマイズする必要があります。 たとえば、スマートカード・ベンダーはJavaインタフェースをカスタマイズして、Oracleクライアントがスマートカードから動的パスワードなどのデータを読み取るようにします。 スマートカードがチャレンジを受け取ると、PINなどの追加情報をユーザーに入力させて応答します。


関連項目:


チャレンジ/レスポンス・ユーザー・インタフェースをカスタマイズする方法については、付録C「RADIUSによる認証デバイスの統合」を参照してください。

チャレンジ/レスポンスを構成する手順は、次のとおりです。

  1. JDK 1.1.7またはJRE 1.1.7を使用する場合は、環境変数JAVA_HOMEを使用して、Oracleクライアントを実行するシステムのJREまたはJDKのある場所を設定します。

    • UNIXの場合は、プロンプトで次のコマンドを入力します。

      % setenv JAVA_HOME /usr/local/packages/jre1.1.7B
      
    • Windowsの場合は、「スタート」→「設定」→「コントロール パネル」→「システム」→「環境」の順に選択し、JAVA_HOME変数を次のように設定します。

      c:\java\jre1.1.7B
      

      注意:


      この手順は、JDK/JREの他のバージョンでは必要ありません。

  1. Oracle Net Managerで、Oracle Advanced Securityプロファイルにナビゲートします(「Oracle Advanced Securityプロファイルへのナビゲート」を参照)。「Oracle Advanced Security」ウィンドウの「その他のパラメータ」タブが表示されます。(図6-5

  2. 「認証サービス」リストから「RADIUS」を選択します。

  3. チャレンジ・レスポンス」フィールドで、「ON」と入力して、チャレンジ/レスポンスを使用可能にします。

  4. デフォルト・キーワード」フィールドで、チャレンジのデフォルト値をそのまま使用するか、RADIUSサーバーからチャレンジを依頼するためのキーワードを入力します。


    注意:


    キーワード機能はOracleが提供するもので、すべてのRADIUSサーバーでサポートされているとはかぎりません。この機能は、RADIUSサーバーでサポートされている場合にのみ使用できます。

    キーワードを設定すると、ユーザーはパスワードを使用せずに識別情報を検証されるようになります。ユーザーがパスワードを入力しなかった場合は、ここで設定したキーワードがRADIUSサーバーに渡され、RADIUSサーバーから運転免許証の番号や誕生日などのチャレンジが戻されます。ユーザーがパスワードを入力した場合は、RADIUSサーバーの構成によって、チャレンジが戻される場合と戻されない場合があります。


  1. インタフェース・クラス名」フィールドで、デフォルト値「DefaultRadiusInterface」をそのまま使用するか、チャレンジ/レスポンス変換を処理するために作成したクラスの名前を入力します。デフォルトのRADIUSインタフェース以外を使用する場合は、sqlnet.oraファイルを編集して、SQLNET.RADIUS_CLASSPATH=(location)を追加する必要があります。ここで、locationはjarファイルの完全なパス名です。これは、$ORACLE_HOME/network/jlib/netradius.jar: $ORACLE_HOME/JRE/lib/vt.jarにデフォルト設定されています。

  2. ファイル」→「ネットワーク構成の保存」を選択します。

    sqlnet.oraファイルが更新され、次のエントリが追加されます。

    SQLNET.RADIUS_CHALLENGE_RESPONSE=([ON | OFF])
    SQLNET.RADIUS_CHALLENGE_KEYWORD=(KEYWORD)
    SQLNET.RADIUS_AUTHENTICATION_INTERFACE=(name of interface including the package name delimited by "/" for ".")
    

代替RADIUSサーバーのパラメータの設定

代替RADIUSサーバーを使用する場合は、テキスト・エディタを使用してsqlnet.oraファイルに次のパラメータを設定します。

SQLNET.RADIUS_ALTERNATE=(hostname or ip address of alternate radius server)
SQLNET.RADIUS_ALTERNATE_PORT=(1812)
SQLNET.RADIUS_ALTERNATE_TIMEOUT=(number of seconds to wait for response)
SQLNET.RADIUS_ALTERNATE_RETRIES=(number of times to re-send to radius server)

6.3.3 タスク3: ユーザーの作成とアクセス権の付与

ユーザーにアクセス権を付与する手順は、次のとおりです。

  1. SQL*Plusを起動し、次のコマンドを実行してOracle Databaseサーバーの外部で認証されるユーザーを作成し、アクセス権を付与します。

    SQL> CONNECT system/manager@database_name;
    SQL> CREATE USER username IDENTIFIED EXTERNALLY;
    SQL> GRANT CREATE SESSION TO USER username;
    SQL> EXIT
    

    Windowsを使用する場合は、Oracle Enterprise ManagerのSecurity Managerツールを使用することもできます。


    関連項目:

    • 『Oracle Database管理者ガイド』

    • 『Oracle Database Heterogeneous Connectivity管理者ガイド』


  2. RADIUSサーバーのusersファイルにも同じユーザーを入力します。


    関連項目:


    RADIUSサーバーの管理マニュアル

6.3.4 タスク4: 外部RADIUS認可の構成(オプション)

Oracle Databaseに接続するRADIUSユーザーに対して外部RADIUS認可が必要な場合は、次の手順を実行してOracleサーバー、OracleクライアントおよびRADIUSサーバーを構成する必要があります。

Oracleサーバー(RADIUSクライアント)の構成手順

Oracleサーバー(RADIUSクライアント)を構成する手順は次のとおりです。

  1. OS_ROLEパラメータをinit.oraファイルに追加し、このパラメータを次のようにTRUEに設定します。

    OS_ROLE=TRUE
    

    データベースを再起動します。init.oraファイルに対する変更がシステムに反映されます。

  2. 「チャレンジ/レスポンスの構成」にリストされている手順が済んでいない場合は、サーバーのRADIUSチャレンジ/レスポンス・モードをONに設定します。

  3. 外部的に識別されるユーザーおよびロールを追加します。

Oracleクライアント(ユーザーがログインする場所)の構成手順

「チャレンジ/レスポンスの構成」にリストされている手順が済んでいない場合は、クライアントのRADIUSチャレンジ/レスポンス・モードをONに設定します。

RADIUSサーバーの構成手順

RADIUSサーバーを構成する手順は次のとおりです。

  1. 次の属性をRADIUSサーバー属性構成ファイルに追加します。

    属性名 コード
    VENDOR_SPECIFIC 26 int型
    ORACLE_ROLE 1 String型

  2. SMIネットワーク管理プライベート・エンタープライズ・コードが含まれているRADIUSサーバー属性構成ファイルで、111番をOracleのベンダーIDとして割り当てます。

    たとえば、RADIUSサーバー属性構成ファイルに次のように入力します。

    VALUE     VENDOR_SPECIFIC     ORACLE     111

  3. 次の構文を使用して、ORACLE_ROLE属性を外部RADIUS認可を使用するユーザーのユーザー・プロファイルに追加します。

    ORA_databaseSID_rolename[_[A]|[D]]

    ここで、

    • ORAは、このロールをOracle用に使用することを指定します。

    • databaseSIDは、データベース・サーバーのinit.oraファイルに構成されているOracleシステム識別子です。

    • rolenameは、データ・ディクショナリに定義されているロール名です。たとえば、SYSDBAです。

    • Aは、ユーザーにはこのロールに対する管理者権限があることを示すオプションの文字です。

    • Dは、このロールをデフォルトで使用可能にすることを示すオプションの文字です。

    OracleロールにマップするRADIUSグループが、ORACLE_ROLEの構文に準拠していることを確認します。

    例:

    USERNAME     USERPASSWD="user_password",
                 SERVICE_TYPE=login_user,
                 VENDOR_SPECIFIC=ORACLE,
                 ORACLE_ROLE=ORA_ora920_sysdba
    

    関連項目:


    サーバーの構成方法は、RADIUSサーバーの管理マニュアルを参照してください。

6.3.5 タスク5: RADIUSアカウントの構成

RADIUSアカウントでは、Oracle Databaseサーバーへのアクセス情報を記録し、RADIUSアカウント・サーバーのファイルに格納します。この機能は、RADIUSサーバーと認証サーバーの両方でサポートされている場合にのみ使用できます。

6.3.5.1 Oracle DatabaseサーバーでのRADIUSアカウントの設定

RADIUSアカウントを使用可能または使用禁止にするには、Oracle Net Managerを使用します(「Oracle Net Managerの起動」を参照してください)。

  1. Oracle Advanced Securityプロファイルにナビゲートします。(「Oracle Advanced Securityプロファイルへのナビゲート」を参照)。「その他のパラメータ」ウィンドウが表示されます(図6-5)。

  2. 「認証サービス」リストから「RADIUS」を選択します。

  3. アカウントを使用可能にするには、「アカウンティングの送信」フィールドに「ON」と入力し、使用禁止にするには「OFF」と入力します。

  4. ファイル」→「ネットワーク構成の保存」を選択します。

    sqlnet.oraファイルが更新され、次のエントリが追加されます。

    SQLNET.RADIUS_SEND_ACCOUNTING= ON
    

6.3.5.2 RADIUSアカウント・サーバーの構成

RADIUSアカウント・サーバーは、RADIUS認証サーバーと同じホストまたは別のホストにあるアカウント・サーバーから構成されます。


関連項目:


RADIUSアカウントの構成方法は、RADIUSサーバーの管理マニュアルを参照してください。

6.3.6 タスク6: RADIUSクライアント名のRADIUSサーバー・データベースへの追加

Internet Engineering Task Force(IETF)RFC #2138 Remote Authentication Dial In User Service(RADIUS)およびRFC #2139 RADIUS Accountingの規格に準拠するRADIUSサーバーを使用できます。RADIUSサーバーにはいろいろな種類があるため、固有の相互運用要件がないか、RADIUSサーバーのマニュアルで確認しておいてください。

次の手順により、RADIUSクライアント名をLivingston RADIUSサーバーに追加します。

  1. /etc/raddb/clientsにあるクライアント・ファイルを開きます。次のテキストと表が表示されます。

    @ (#) clients 1.1 2/21/96 Copyright 1991 Livingston Enterprises Inc
    This file contains a list of clients which are allowed to make authentication requests and their encryption key. The first field is a valid hostname. The second field (separated by blanks or tabs) is the encryption key.
    Client Name                     Key
    
  2. CLIENT NAME列に、Oracle Databaseサーバーが実行されているホストのホスト名またはIPアドレスを入力します。KEY列に共有シークレットを入力します。

    CLIENT NAME列に入力する値は、クライアントの名前またはIPアドレスにかかわらず、RADIUSサーバーによって異なります。

  3. clientsファイルを保存して閉じます。


    関連項目:


    RADIUSサーバーの管理マニュアル

6.3.7 タスク7: RADIUSとともに使用する認証サーバーの構成

認証サーバーの構成方法は、認証サーバーのマニュアルを参照してください。


関連項目:


使用可能なリソースのリストは、「関連ドキュメント」を参照してください。

6.3.8 タスク8: 認証サーバーとともに使用するRADIUSサーバーの構成

RADIUSサーバーのマニュアルを参照してください。

6.3.9 タスク9: マッピング・ロールの構成

RADIUSサーバーでベンダー・タイプ属性をサポートしている場合は、ロールをRADIUSサーバーに格納して管理できます。RADIUSを使用したCONNECT要求があると、Oracle Databaseサーバーがロールをダウンロードします。

この機能を使用するには、Oracle DatabaseサーバーとRADIUSサーバーの両方でロールを構成します。

次の手順で、Oracle Databaseサーバーにロールを構成します。

  1. テキスト・エディタを使用して、Oracle Databaseサーバーの初期化パラメータ・ファイルにOS_ROLESパラメータを設定します。

  2. Oracle Databaseサーバーを停止して再起動します。

  3. 値IDENTIFIED EXTERNALLYを指定して、RADIUSサーバーがOracle Databaseサーバー上で管理対象とする各ロールを作成します。

    RADIUSサーバーでロールを構成するには、次の構文を使用します。各項目の意味は、表6-2を参照してください。

    ORA_DatabaseName.DatabaseDomainName_RoleName
    

    :

    ORA_USERDB.US.ORACLE.COM_MANAGER
    

表6-2 RADIUS構成パラメータ

パラメータ 説明

DatabaseName

ロールが作成されているOracle Databaseサーバーの名前。DB_NAME初期化パラメータと同じ値です。

DatabaseDomainName

Oracle Databaseサーバーが属するドメインの名前。DB_DOMAIN初期化パラメータと同じ値です。

RoleName

Oracle Databaseサーバーに作成したロールの名前。


  1. RADIUSチャレンジ/レスポンス・モードを構成します。

6.4 RADIUSを使用したデータベースへのログイン

同期認証モードを使用している場合は、SQL*Plusを起動して、プロンプトで次のコマンドを入力します。

CONNECT username@database_alias
Enter password: password

注意:


このコマンドでログインできるのは、チャレンジ/レスポンスがONになっていない場合のみです。

チャレンジ/レスポンス(非同期)モードを使用している場合は、SQL*Plusを起動して、プロンプトで次のコマンドを入力します。

CONNECT /@database_alias

注意:


このコマンドでログインできるのは、チャレンジ/レスポンスがONになっている場合のみです。


注意:


チャレンジ/レスポンス・モードは、ログインのすべてのケースについて構成できます。

6.5 RSA ACE/Server構成チェックリスト

RSA ACE/ServerをRADIUSサーバーとして使用している場合は、最初の接続を行う前に、次の項目をチェックしてください。