プライマリ・コンテンツに移動
Oracle® Database Advanced Security管理者ガイド
11gリリース2 (11.2)
B56286-10
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

11 RADIUS認証の構成

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

11.1 RADIUSについて

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

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

ユーザーから見ると、認証手続き全体は透過的です。ユーザーがOracleデータベース・サーバーにアクセスしようとすると、RADIUSクライアントとして機能するOracleデータベース・サーバーはRADIUSサーバーに通知します。RADIUSサーバーは次の処理を行います。

  • ユーザーのセキュリティ情報を検索します。

  • 適切な認証サーバー(複数可)とOracleデータベース・サーバーの間で認証および認可情報の受渡しを行います。

  • Oracleデータベース・サーバーへのユーザー・アクセスを許可します。

  • ユーザーがいつ、どのくらいの頻度で、どのくらいの時間、Oracleデータベース・サーバーに接続していたかなどのセッション情報をログに記録します。


    注意:

    Oracle Advanced Securityでは、データベース・リンクを介したRADIUS認証はサポートされません。

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

図11-1 Oracle環境でのRADIUS

図11-1の説明が続きます
「図11-1 Oracle環境でのRADIUS」の説明

Oracleデータベース・サーバーはRADIUSクライアントとして機能し、OracleクライアントとRADIUSサーバーの間で情報の受渡しを行います。同様に、RADIUSサーバーはOracleデータベース・サーバーと適切な認証サーバーの間で情報の受渡しを行います。表11-1に、認証の構成要素を示します。

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

構成要素 格納される情報

Oracleクライアント

RADIUSによる通信のための構成設定

Oracleデータベース・サーバー/RADIUSクライアント

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

秘密鍵ファイル

RADIUSサーバー

すべてのユーザーの認証および認可情報

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

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

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

認証サーバー(複数可)

パス・コードやPINなどのユーザー認証情報(使用中の認証方式によって異なる)

注意: RADIUSサーバーは認証サーバーになることもできます。


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


関連項目:

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

11.2 RADIUS認証モード

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

11.2.1 同期認証モード

同期モードでは、RADIUSでパスワードやSecurIDトークン・カードなどの様々な認証方式を使用できます。図11-2に、同期認証が行われる順序を示します。

次の手順は、同期認証の順序を示しています。

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

  2. RADIUSクライアントとして機能するOracleデータベース・サーバーは、OracleクライアントからのデータをRADIUSサーバーに渡します。

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

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

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

  6. Oracleデータベース・サーバー/RADIUSクライアントは、レスポンスをOracleクライアントに返します。

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

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


関連項目:


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

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

図11-3に、チャレンジ・レスポンス(非同期)認証が行われる順序を示します。


注意:

RADIUSサーバーが認証サーバーである場合、図11-3の手順3、4、5および手順9、10、11は結合されます。

次の手順は、非同期認証の順序を示しています。

  1. ユーザーが、Oracleデータベース・サーバーへの接続を開始します。クライアント・システムは、データをOracleデータベース・サーバーに渡します。

  2. RADIUSクライアントとして機能するOracleデータベース・サーバーは、OracleクライアントからのデータをRADIUSサーバーに渡します。

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

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

  5. RADIUSサーバーは、チャレンジをOracleデータベース・サーバー/RADIUSクライアントに渡します。

  6. Oracleデータベース・サーバー/RADIUSクライアントは、それをOracleクライアントに渡します。グラフィカル・ユーザー・インタフェースで、ユーザーにチャレンジが表示されます。

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

  8. Oracleデータベース・サーバー/RADIUSクライアントは、ユーザーのレスポンスをRADIUSサーバーに送信します。

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

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

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

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

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

スマートカード認証では、ユーザーは、スマートカードを読み取るスマートカード・リーダーにスマートカードを挿入することによってログインします。スマートカードは、情報を格納するための集積回路が埋め込まれた、クレジット・カードのようなプラスチック・カードです。

Oracleクライアントは、Oracleデータベース・サーバー/RADIUSクライアントおよびRADIUSサーバーを経由して、スマートカードに含まれるログイン情報を認証サーバーに送信します。認証サーバーは、RADIUSサーバーおよびOracleデータベース・サーバーを経由してOracleクライアントにチャレンジを戻し、認証情報をユーザーに要求します。この情報は、PINやスマートカードに含まれている他の認証情報などです。

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

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

ActivCardトークンの1つに、キーパッドを備えた、動的パスワードを表示するハンドヘルド・デバイスがあります。ユーザーがパスワードを入力してOracleデータベース・サーバーにアクセスしようとすると、情報はOracleデータベース・サーバー/RADIUSクライアントおよびRADIUSサーバーを経由して、適切な認証サーバーに渡されます。認証サーバーは、RADIUSサーバーおよびOracleデータベース・サーバーを経由して、クライアントにチャレンジを戻します。ユーザーがそのチャレンジをトークンに入力すると、ユーザーがレスポンスで送信する番号がトークンに表示されます。

次に、Oracleクライアントは、Oracleデータベース・サーバーおよびRADIUSサーバーを経由して、ユーザーのレスポンスを認証サーバーに送信します。ユーザーが有効な番号を入力した場合、認証サーバーはRADIUSサーバーおよびOracleデータベース・サーバーを経由して、受入れパケットをOracleクライアントに戻します。これでユーザーは認証され、適切な表やアプリケーションへのアクセスが認可されます。ユーザーが誤ったレスポンスを入力した場合、認証サーバーはユーザーのアクセスを拒否するメッセージを戻します。

11.3 RADIUS認証、認可およびアカウンティングの有効化

この項の内容は次のとおりです。

11.3.1 手順1: Oracleデータベース・サーバーとOracleクライアントでのRADIUSのインストール

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


関連項目:

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

11.3.2 手順2: RADIUS認証の構成

この項の内容は次のとおりです。

11.3.2.1 手順2A: OracleクライアントでのRADIUSの構成

  1. Oracle Net Managerを起動します。

    • (UNIX) $ORACLE_HOME/binから、コマンドラインで次のコマンドを入力します。

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

  2. 「Oracle Netの構成」を展開し、「ローカル」から「プロファイル」を選択します。

  3. 「ネーミング」リストから、「ネットワーク・セキュリティ」を選択します。

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

  4. 「認証」タブを選択します。(デフォルトで選択されています。)radu0001.gifの説明が続きます。
    図radu0001.gifの説明'

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

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

  7. 「選択メソッド」リストでメソッドを選択し、「上へ」または「下へ」をクリックしてリスト内での位置を指定して、選択したメソッドを使用に必要な順序に並べます。

    たとえば、RADIUSをリストの最も上に置いて、使用される最初のサービスにします。

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

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

    SQLNET.AUTHENTICATION_SERVICES=(RADIUS)
    

11.3.2.2 手順2B: Oracleデータベース・サーバーでのRADIUSの構成

この項の内容は次のとおりです。

手順2B(1): Oracleデータベース・サーバーでのRADIUS秘密鍵ファイルの作成

  1. RADIUSサーバーからRADIUS秘密鍵を取得します。

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

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

    • (UNIX) $ORACLE_HOME/network/security

    • (Windows) ORACLE_BASE\ORACLE_HOME\network\security

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

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

  5. セキュリティのために、radius.keyのファイル権限を読取り専用に変更し、Oracle所有者のみがアクセスできるようにします。

    Oracleは、ファイル・システムに依存してこのファイルを秘密にします。


    関連項目:

    秘密鍵の取得の詳細は、RADIUSサーバーの管理ドキュメントを参照してください。

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

  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. 「使用可能なメソッド」リストから、RADIUSを選択します。

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

  7. 選択したメソッドを使用に必要な順序に並べるには、「選択メソッド」リストでメソッドを選択し、「上へ」または「下へ」を選択してリスト内での位置を指定します。

    たとえば、RADIUSを使用される最初のサービスにする場合は、リストの最も上に置きます。

  8. 「その他のパラメータ」タブを選択します。

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

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

    radu0002.gifの説明が続きます。
    図radu0002.gifの説明

  11. 「シークレット・ファイル」フィールドのデフォルト値が有効であることを確認します。

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

    sqlnet.oraファイルは次のエントリで更新されます。

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

    注意:

    IP_addressは、インターネット・プロトコル・バージョン4 (IPv4)またはインターネット・プロトコル・バージョン6 (IPv6)のアドレスです。RADIUSアダプタでは、IPv4ベースとIPv6ベースの両方のサーバーがサポートされています。

手順2B(3): Oracleデータベース・サーバー初期化パラメータの設定

  1. 次の設定をinit.ora初期化ファイルに追加します。

    OS_AUTHENT_PREFIX=""
    

    デフォルトでは、init.oraファイルは、LinuxおよびUNIXシステムの場合はORACLE_HOME/dbsディレクトリ(または同じデータ・ファイルの場所)、Windowsの場合はORACLE_HOME\databaseディレクトリにあります。

  2. データベースを再起動します。

    例:

    SQL> SHUTDOWN
    SQL> STARTUP
    

関連項目:

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

11.3.2.3 手順2C: その他のRADIUS機能の構成

この項の内容は次のとおりです。

手順2C(1): デフォルト設定の変更

  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. 「認証サービス」リストから、RADIUSを選択します。

  6. 次のフィールドについてデフォルト設定を変更します。

    • ポート番号: プライマリRADIUSサーバーのリスニング・ポートを指定します。デフォルト値は1645です。

    • タイムアウト(秒): Oracleデータベース・サーバーがプライマリRADIUSサーバーからの応答を待機する時間を指定します。デフォルトは15秒です。

    • 再試行回数: Oracleデータベース・サーバーがプライマリRADIUSサーバーにメッセージを再送する回数を指定します。デフォルトは3回の再試行です。RADIUSアカウンティングの構成の詳細は、「手順5: RADIUSアカウンティングの構成」を参照してください。

    • シークレット・ファイル: Oracleデータベース・サーバー上の秘密鍵の場所を指定します。このフィールドは、秘密鍵自体ではなく、秘密鍵ファイルの場所を指定します。秘密鍵の指定の詳細は、「手順2B(1): Oracleデータベース・サーバーでのRADIUS秘密鍵ファイルの作成」を参照してください。

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

    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)

手順2C(2): チャレンジ・レスポンスの構成

チャレンジ・レスポンス(非同期)モードでは、グラフィカル・インタフェースがユーザーに表示され、最初にパスワードが要求されて、次にユーザーがトークン・カードから取得する動的パスワードなどの追加情報が要求されます。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バージョンでは必要ありません。

  2. Oracle Net Managerを起動します。

    • (UNIX) $ORACLE_HOME/binから、コマンドラインで次のコマンドを入力します。

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

  3. 「Oracle Netの構成」を展開し、「ローカル」から「プロファイル」を選択します。

  4. 「ネーミング」リストから、「ネットワーク・セキュリティ」を選択します。

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

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

  6. 「チャレンジ・レスポンス」フィールドで、ONと入力してチャレンジ・レスポンスを有効にします。

  7. 「デフォルト・キーワード」フィールドで、チャレンジのデフォルト値を受け入れるか、RADIUSサーバーからチャレンジを要求するためのキーワードを入力します。

    キーワード機能は、Oracleから提供されており、一部のRADIUSサーバーでサポートされています(すべてではありません)。この機能は、RADIUSサーバーでサポートされている場合にのみ使用できます。

    キーワードを設定することで、ユーザーはパスワードを使用しなくても識別情報を証明できます。ユーザーがパスワードを入力しない場合、ここで設定するキーワードがRADIUSサーバーに渡され、RADIUSサーバーは運転免許証の番号や生年月日などを要求するチャレンジで応答します。ユーザーがパスワードを入力する場合、RADIUSサーバーの構成に応じて、RADIUSサーバーはチャレンジで応答する場合と応答しない場合があります。

  8. 「インタフェース・クラス名」フィールドで、デフォルト値DefaultRadiusInterfaceを受け入れるか、チャレンジ・レスポンス対話を処理するために作成したクラスの名前を入力します。

    デフォルトのRADIUSインタフェース以外を使用する場合は、sqlnet.oraファイルを編集してSQLNET.RADIUS_CLASSPATH=(location)を入力する必要もあります(locationは、jarファイルの完全なパス名です)。これは、デフォルトでは
    $ORACLE_HOME/network/jlib/netradius.jar: $ORACLE_HOME/JRE/lib/vt.jarです。

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

    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 ".")
    

手順2C(3): 代替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)

11.3.3 手順3: ユーザーの作成とアクセス権の付与

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

    SQL> CONNECT system@database_name;
    SQL> Enter password: 
    SQL> CREATE USER username IDENTIFIED EXTERNALLY;
    SQL> GRANT CREATE SESSION TO USER username;
    SQL> EXIT
    

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

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


関連項目:

  • 『Oracle Database管理者ガイド』

  • 『Oracle Database Heterogeneous Connectivityユーザーズ・ガイド』

  • RADIUSサーバーの管理ドキュメント


11.3.4 手順4: 外部RADIUS認可の構成(オプション)

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

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

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

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

    例:

    SQL> SHUTDOWN 
    SQL> STARTUP
    
  3. 「手順2C(2): チャレンジ・レスポンスの構成」に記載されている手順に従って、サーバーのRADIUSチャレンジ・レスポンス・モードをONに設定していない場合は設定します。

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

11.3.4.2 手順4B: ユーザーがログインするOracleクライアントの構成

「手順2C(2): チャレンジ・レスポンスの構成」に記載されている手順に従って、クライアントのRADIUSチャレンジ・レスポンス・モードをONに設定していない場合は設定します。

11.3.4.3 手順4C: RADIUSサーバーの構成

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

    属性名 コード
    VENDOR_SPECIFIC 26 整数
    ORACLE_ROLE 1 文字列

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

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

    VALUE VENDOR_SPECIFIC ORACLE 111

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

    ORA_databaseSID_rolename[_[A]|[D]]

    説明:

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

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

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

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

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

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

    例:

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

    関連項目:

    サーバーの構成の詳細は、RADIUSサーバーの管理ドキュメントを参照してください。

11.3.5 手順5: RADIUSアカウンティングの構成

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

この項の内容は次のとおりです。

11.3.5.1 手順5A: Oracleデータベース・サーバーでのRADIUSアカウンティングの設定

  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. 「認証サービス」リストから、RADIUSを選択します。

  6. 「アカウンティングの送信」フィールドで、アカウンティングを有効にするにはONと入力し、無効にするにはOFFと入力します。

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

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

    SQLNET.RADIUS_SEND_ACCOUNTING= ON
    

11.3.5.2 手順5B: RADIUSアカウンティング・サーバーの構成

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


関連項目:

RADIUSアカウンティングの構成の詳細は、RADIUSサーバーの管理ドキュメントを参照してください。

11.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ファイルを開きます。次のテキストと表が表示されます。

    @ (#) 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データベース・サーバーが実行されているホストのホスト名またはIPアドレスを入力します。KEY列に、共有シークレットを入力します。

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

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


    関連項目:

    RADIUSサーバーの管理ドキュメント

11.3.7 手順7: RADIUSとともに使用する認証サーバーの構成

認証サーバーの構成の詳細は、認証サーバーのドキュメントを参照してください。


関連項目:

使用可能なリソースのリストを含む「関連ドキュメント」

11.3.8 手順8: 認証サーバーとともに使用するRADIUSサーバーの構成

認証サーバーとともに使用するRADIUSサーバーの構成の詳細は、RADIUSサーバーのドキュメントを参照してください。

11.3.9 手順9: マッピング・ロールの構成

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

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

Oracleデータベース・サーバーでロールを構成する手順:

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

    デフォルトでは、init.oraファイルは、LinuxおよびUNIXシステムの場合はORACLE_HOME/dbsディレクトリ(または同じデータ・ファイルの場所)、Windowsの場合はORACLE_HOME\databaseディレクトリにあります。

  2. Oracleデータベース・サーバーを停止して再起動します。

    例:

    SQL> SHUTDOWN
    SQL> STARTUP
    
  3. RADIUSサーバーがOracleデータベース・サーバー上で管理する各ロールを、値IDENTIFIED EXTERNALLYを使用して作成します。

    RADIUSサーバーでロールを構成するには、次の構文を使用します。

    ORA_DatabaseName.DatabaseDomainName_RoleName
    

    次のように指定します。

    • DatabaseNameは、ロールが作成されているOracleデータベース・サーバーの名前です。これは、DB_NAME初期化パラメータの値と同じです。

    • DatabaseDomainNameは、Oracleデータベース・サーバーが属するドメインの名前です。この値は、DB_DOMAIN初期化パラメータの値と同じです。

    • RoleNameは、Oracleデータベース・サーバーで作成されたロールの名前です。

    例:

    ORA_USERDB.US.EXAMPLE.COM_MANAGER
    
  4. RADIUSチャレンジ・レスポンス・モードを構成します。

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

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

CONNECT username@database_alias
Enter password: password

注意:

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

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

CONNECT /@database_alias

注意:

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

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


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

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

  • ノード・シークレットを送信するようにRSA ACE/Serverのホスト・エージェントが設定されていることを確認します。バージョン5.0では、これを行うには「SENT Node secret」ボックスの選択を解除したままにします。RSA ACE/Serverがエージェントへのノード・シークレットの送信に失敗した場合は、ノード検証失敗メッセージがRSA ACE/Serverのログに書き込まれます。

  • RSA SecurIDトークンを使用している場合は、トークンがRSA ACE/Serverと同期されていることを確認します。


    関連項目:

    トラブルシューティングの詳細は、RSA ACE/Serverのドキュメントを参照してください。