この章では、RADIUS (Remote Authentication Dial-In User Service)とともに使用するOracle Databaseサーバーの構成方法について説明します。内容は次のとおりです。
注意: RSA Security社の認証製品であるSecurIDは、Oracle Advanced Securityで直接的にはサポートされていませんが、RADIUS準拠として認定されています。したがって、RADIUSのもとでSecurIDを実行できます。詳細は、RSA Security社のSecurIDのドキュメントを参照してください。 |
RADIUSは、リモート認証およびアクセスを実現するために広く使用されているクライアント/サーバー・セキュリティ・プロトコルです。Oracle Advanced Securityは、クライアント/サーバー・ネットワーク環境でこの業界標準を使用しています。
RADIUSプロトコルをインストールして構成することで、トークン・カードやスマートカードなど、RADIUS規格をサポートする任意の認証方式がネットワークで使用可能になります。さらに、RADIUSを使用すると、OracleクライアントまたはOracleデータベース・サーバーを変更することなく、認証方式を変更できます。
ユーザーから見ると、認証手続き全体は透過的です。ユーザーがOracleデータベース・サーバーにアクセスしようとすると、RADIUSクライアントとして機能するOracleデータベース・サーバーはRADIUSサーバーに通知します。RADIUSサーバーは次の処理を行います。
ユーザーのセキュリティ情報を検索します。
適切な認証サーバー(複数可)とOracleデータベース・サーバーの間で認証および認可情報の受渡しを行います。
Oracleデータベース・サーバーへのユーザー・アクセスを許可します。
ユーザーがいつ、どのくらいの頻度で、どのくらいの時間、Oracleデータベース・サーバーに接続していたかなどのセッション情報をログに記録します。
Oracle/RADIUS環境を図11-1に示します。
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管理者ガイド』 を参照してください。 |
同期モードでは、RADIUSでパスワードやSecurIDトークン・カードなどの様々な認証方式を使用できます。図11-2に、同期認証が行われる順序を示します。
次の手順は、同期認証の順序を示しています。
ユーザーが、接続文字列、パス・コードまたはその他の値を入力してログインします。クライアント・システムは、このデータをOracleデータベース・サーバーに渡します。
RADIUSクライアントとして機能するOracleデータベース・サーバーは、OracleクライアントからのデータをRADIUSサーバーに渡します。
RADIUSサーバーは、検証のためにデータをスマートカードやSecurID ACEなどの適切な認証サーバーに渡します。
認証サーバーは、アクセス受入れまたはアクセス拒否メッセージをRADIUSサーバーに返します。
RADIUSサーバーは、このレスポンスをOracleデータベース・サーバー/RADIUSクライアントに渡します。
Oracleデータベース・サーバー/RADIUSクライアントは、レスポンスをOracleクライアントに返します。
例: SecurIDトークン・カードによる同期認証
SecurID認証では、各ユーザーにトークン・カードあり、60秒ごとに変わる動的番号が表示されます。Oracleデータベース・サーバー/RADIUSクライアントにアクセスするために、ユーザーは個人識別番号(PIN)とユーザーのSecurIDカード上に現在表示されている動的番号の両方を含む有効なパス・コードを入力します。Oracleデータベース・サーバーは、Oracleクライアントからのこの認証情報をRADIUSサーバー(この場合は、検証のための認証サーバー)に渡します。認証サーバー(RSA ACE/Server)によってユーザーが検証されると、受入れパケットがOracleデータベース・サーバーに送られ、次に、Oracleクライアントに渡されます。これでユーザーは認証され、適切な表やアプリケーションにアクセスできます。
システムで非同期モードが使用されている場合、ユーザーは、SQL*Plus CONNECT文字列でユーザー名とパスワードを入力する必要はありません。かわりに、ユーザーは後からグラフィカル・ユーザー・インタフェースでこの情報を要求されます。
図11-3に、チャレンジ・レスポンス(非同期)認証が行われる順序を示します。
次の手順は、非同期認証の順序を示しています。
ユーザーが、Oracleデータベース・サーバーへの接続を開始します。クライアント・システムは、データをOracleデータベース・サーバーに渡します。
RADIUSクライアントとして機能するOracleデータベース・サーバーは、OracleクライアントからのデータをRADIUSサーバーに渡します。
RADIUSサーバーは、データをスマートカード、SecurID ACE、トークン・カード・サーバーなどの適切な認証サーバーに渡します。
認証サーバーは、ランダム番号などのチャレンジをRADIUSサーバーに送信します。
RADIUSサーバーは、チャレンジをOracleデータベース・サーバー/RADIUSクライアントに渡します。
Oracleデータベース・サーバー/RADIUSクライアントは、それをOracleクライアントに渡します。グラフィカル・ユーザー・インタフェースで、ユーザーにチャレンジが表示されます。
ユーザーは、チャレンジに対するレスポンスを入力します。レスポンスを作成するために、ユーザーは、たとえば、受け取ったチャレンジをトークン・カードに入力できます。トークン・カードによって、グラフィカル・ユーザー・インタフェースに入力する動的なパスワードが提供されます。Oracleクライアントは、ユーザーのレスポンスをOracleデータベース・サーバー/RADIUSクライアントに渡します。
Oracleデータベース・サーバー/RADIUSクライアントは、ユーザーのレスポンスをRADIUSサーバーに送信します。
RADIUSサーバーは、検証のためにユーザーのレスポンスを適切な認証サーバーに渡します。
認証サーバーは、アクセス受入れまたはアクセス拒否メッセージをRADIUSサーバーに返します。
RADIUSサーバーは、レスポンスをOracleデータベース・サーバー/RADIUSクライアントに渡します。
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クライアントに戻します。これでユーザーは認証され、適切な表やアプリケーションへのアクセスが認可されます。ユーザーが誤ったレスポンスを入力した場合、認証サーバーはユーザーのアクセスを拒否するメッセージを戻します。
この項の内容は次のとおりです。
RADIUSは、Oracle Databaseの標準インストール時に、Oracle Advanced Securityとともにインストールされます。
関連項目: Oracle Advanced SecurityとRADIUSアダプタのインストールの詳細は、Oracle Databaseのオペレーティング・システム固有のインストール関連ドキュメントを参照してください。 |
Oracle Net Managerを起動します。
(UNIX) $ORACLE_HOME
/bin
から、コマンドラインで次のコマンドを入力します。
netmgr
(Windows)「スタート」→「プログラム」→「Oracle - HOME_NAME」→「Configuration and Migration Tools」→「Net Manager」を選択します。
「Oracle Netの構成」を展開し、「ローカル」から「プロファイル」を選択します。
「ネーミング」リストから、「ネットワーク・セキュリティ」を選択します。
ネットワーク・セキュリティのタブ付きウィンドウが表示されます。
「認証」タブを選択します。(デフォルトで選択されています。)
図radu0001.gifの説明'
「使用可能なメソッド」リストから、RADIUSを選択します。
右矢印(>)を選択して、RADIUSを「選択メソッド」リストに移動します。使用するその他のメソッドを同じ方法で移動します。
「選択メソッド」リストでメソッドを選択し、「上へ」または「下へ」をクリックしてリスト内での位置を指定して、選択したメソッドを使用に必要な順序に並べます。
たとえば、RADIUSをリストの最も上に置いて、使用される最初のサービスにします。
「ファイル」メニューから、「ネットワーク構成の保存」を選択します。
sqlnet.ora
ファイルが次のエントリで更新されます。
SQLNET.AUTHENTICATION_SERVICES=(RADIUS)
この項の内容は次のとおりです。
手順2B(1): Oracleデータベース・サーバーでのRADIUS秘密鍵ファイルの作成
RADIUSサーバーからRADIUS秘密鍵を取得します。
RADIUSクライアントごとに、RADIUSサーバーの管理者が共有秘密鍵を作成します。長さは16文字以下である必要があります。
Oracleデータベース・サーバーで、次のディレクトリを作成します。
(UNIX) $ORACLE_HOME
/network/security
(Windows) ORACLE_BASE
\
ORACLE_HOME
\network\security
RADIUSサーバーからコピーした共有シークレットを格納するために、ファイルradius.key
を作成します。このファイルを手順2で作成したディレクトリに配置します。
共有秘密鍵をコピーし、この鍵のみを、Oracleデータベース・サーバーに作成したradius.key
ファイルに貼り付けます。
セキュリティのために、radius.key
のファイル権限を読取り専用に変更し、Oracle所有者のみがアクセスできるようにします。
Oracleは、ファイル・システムに依存してこのファイルを秘密にします。
関連項目: 秘密鍵の取得の詳細は、RADIUSサーバーの管理ドキュメントを参照してください。 |
手順2B(2): サーバー(sqlnet.oraファイル)でのRADIUSパラメータの構成
Oracle Net Managerを起動します。
(UNIX) $ORACLE_HOME
/bin
から、コマンドラインで次のコマンドを入力します。
netmgr
(Windows)「スタート」→「プログラム」→「Oracle - HOME_NAME」→「Configuration and Migration Tools」→「Net Manager」を選択します。
「Oracle Netの構成」を展開し、「ローカル」から「プロファイル」を選択します。
「ネーミング」リストから、「ネットワーク・セキュリティ」を選択します。
ネットワーク・セキュリティのタブ付きウィンドウが表示されます。
「認証」タブを選択します。
「使用可能なメソッド」リストから、RADIUSを選択します。
右矢印(>)を選択して、RADIUSを「選択メソッド」リストに移動します。
選択したメソッドを使用に必要な順序に並べるには、「選択メソッド」リストでメソッドを選択し、「上へ」または「下へ」を選択してリスト内での位置を指定します。
たとえば、RADIUSを使用される最初のサービスにする場合は、リストの最も上に置きます。
「その他のパラメータ」タブを選択します。
「認証サービス」リストから、RADIUSを選択します。
「ホスト名」フィールドで、デフォルトのプライマリRADIUSサーバーとしてlocalhostを受け入れるか、または別のホスト名を入力します。
「シークレット・ファイル」フィールドのデフォルト値が有効であることを確認します。
「ファイル」メニューから、「ネットワーク構成の保存」を選択します。
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データベース・サーバー初期化パラメータの設定
次の設定をinit.ora
初期化ファイルに追加します。
OS_AUTHENT_PREFIX=""
デフォルトでは、init.ora
ファイルは、LinuxおよびUNIXシステムの場合はORACLE_HOME
/dbs
ディレクトリ(または同じデータ・ファイルの場所)、Windowsの場合はORACLE_HOME
\database
ディレクトリにあります。
データベースを再起動します。
例:
SQL> SHUTDOWN SQL> STARTUP
関連項目: Oracle Databaseサーバーでの初期化パラメータの設定の詳細は、『Oracle Databaseリファレンス』および『Oracle Database管理者ガイド』を参照してください。 |
この項の内容は次のとおりです。
手順2C(1): デフォルト設定の変更
Oracle Net Managerを起動します。
(UNIX) $ORACLE_HOME
/bin
から、コマンドラインで次のコマンドを入力します。
netmgr
(Windows)「スタート」→「プログラム」→「Oracle - HOME_NAME」→「Configuration and Migration Tools」→「Net Manager」を選択します。
「Oracle Netの構成」を展開し、「ローカル」から「プロファイル」を選択します。
「ネーミング」リストから、「ネットワーク・セキュリティ」を選択します。
ネットワーク・セキュリティのタブ付きウィンドウが表示されます。
「その他のパラメータ」タブをクリックします。
「認証サービス」リストから、RADIUSを選択します。
次のフィールドについてデフォルト設定を変更します。
ポート番号: プライマリRADIUSサーバーのリスニング・ポートを指定します。デフォルト値は1645です。
タイムアウト(秒): Oracleデータベース・サーバーがプライマリRADIUSサーバーからの応答を待機する時間を指定します。デフォルトは15秒です。
再試行回数: Oracleデータベース・サーバーがプライマリRADIUSサーバーにメッセージを再送する回数を指定します。デフォルトは3回の再試行です。RADIUSアカウンティングの構成の詳細は、「手順5: RADIUSアカウンティングの構成」を参照してください。
シークレット・ファイル: Oracleデータベース・サーバー上の秘密鍵の場所を指定します。このフィールドは、秘密鍵自体ではなく、秘密鍵ファイルの場所を指定します。秘密鍵の指定の詳細は、「手順2B(1): Oracleデータベース・サーバーでのRADIUS秘密鍵ファイルの作成」を参照してください。
「ファイル」メニューから、「ネットワーク構成の保存」を選択します。
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ベースであり、最適なプラットフォーム独立性を提供します。
チャレンジ・レスポンスを構成するには、次の手順を実行します。
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バージョンでは必要ありません。
Oracle Net Managerを起動します。
(UNIX) $ORACLE_HOME
/bin
から、コマンドラインで次のコマンドを入力します。
netmgr
(Windows)「スタート」→「プログラム」→「Oracle - HOME_NAME」→「Configuration and Migration Tools」→「Net Manager」を選択します。
「Oracle Netの構成」を展開し、「ローカル」から「プロファイル」を選択します。
「ネーミング」リストから、「ネットワーク・セキュリティ」を選択します。
ネットワーク・セキュリティのタブ付きウィンドウが表示されます。
「認証サービス」リストから、RADIUSを選択します。
「チャレンジ・レスポンス」フィールドで、ONと入力してチャレンジ・レスポンスを有効にします。
「デフォルト・キーワード」フィールドで、チャレンジのデフォルト値を受け入れるか、RADIUSサーバーからチャレンジを要求するためのキーワードを入力します。
キーワード機能は、Oracleから提供されており、一部のRADIUSサーバーでサポートされています(すべてではありません)。この機能は、RADIUSサーバーでサポートされている場合にのみ使用できます。
キーワードを設定することで、ユーザーはパスワードを使用しなくても識別情報を証明できます。ユーザーがパスワードを入力しない場合、ここで設定するキーワードがRADIUSサーバーに渡され、RADIUSサーバーは運転免許証の番号や生年月日などを要求するチャレンジで応答します。ユーザーがパスワードを入力する場合、RADIUSサーバーの構成に応じて、RADIUSサーバーはチャレンジで応答する場合と応答しない場合があります。
「インタフェース・クラス名」フィールドで、デフォルト値DefaultRadiusInterfaceを受け入れるか、チャレンジ・レスポンス対話を処理するために作成したクラスの名前を入力します。
デフォルトのRADIUSインタフェース以外を使用する場合は、sqlnet.ora
ファイルを編集してSQLNET.RADIUS_CLASSPATH=(location)
を入力する必要もあります(location
は、jarファイルの完全なパス名です)。これは、デフォルトでは
$
ORACLE_HOME/network/jlib/netradius.jar:
$
ORACLE_HOME/JRE/lib/vt.jar
です。
「ファイル」メニューから、「ネットワーク構成の保存」を選択します。
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)
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ツールを使用できます。
同じusername
をRADIUSサーバーのusersファイルに入力します。
関連項目:
|
Oracleデータベースに接続するRADIUSユーザーに対して外部RADIUS認可が必要な場合は、次の手順を実行してOracleサーバー、OracleクライアントおよびRADIUSサーバーを構成する必要があります。
OS_ROLE
パラメータをinit.ora
ファイルに追加し、このパラメータを次のようにTRUE
に設定します。
OS_ROLE=TRUE
init.ora
ファイルに対する変更がシステムに反映されるように、データベースを再起動します。
例:
SQL> SHUTDOWN SQL> STARTUP
「手順2C(2): チャレンジ・レスポンスの構成」
に記載されている手順に従って、サーバーのRADIUSチャレンジ・レスポンス・モードをONに設定していない場合は設定します。
外部で識別されるユーザーおよびロールを追加します。
「手順2C(2): チャレンジ・レスポンスの構成」
に記載されている手順に従って、クライアントのRADIUSチャレンジ・レスポンス・モードをONに設定していない場合は設定します。
次の属性をRADIUSサーバー属性構成ファイルに追加します。
属性名 | コード | 型 |
---|---|---|
VENDOR_SPECIFIC |
26 | 整数 |
ORACLE_ROLE |
1 | 文字列 |
SMIネットワーク管理プライベート・エンタープライズ・コード111
が含まれているRADIUSサーバー属性構成ファイルで、OracleのベンダーIDを割り当てます。
たとえば、RADIUSサーバー属性構成ファイルに次のように入力します。
VALUE VENDOR_SPECIFIC ORACLE 111
次の構文を使用して、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サーバーの管理ドキュメントを参照してください。 |
RADIUSアカウンティングは、Oracleデータベース・サーバーへのアクセスに関する情報をログに記録し、RADIUSアカウンティング・サーバー上のファイルに格納します。この機能は、RADIUSサーバーと認証サーバーの両方でサポートされている場合にのみ使用します。
この項の内容は次のとおりです。
Oracle Net Managerを起動します。
(UNIX) $ORACLE_HOME
/bin
から、コマンドラインで次のコマンドを入力します。
netmgr
(Windows)「スタート」→「プログラム」→「Oracle - HOME_NAME」→「Configuration and Migration Tools」→「Net Manager」を選択します。
「Oracle Netの構成」を展開し、「ローカル」から「プロファイル」を選択します。
「ネーミング」リストから、「ネットワーク・セキュリティ」を選択します。
ネットワーク・セキュリティのタブ付きウィンドウが表示されます。
「その他のパラメータ」タブを選択します。
「認証サービス」リストから、RADIUSを選択します。
「アカウンティングの送信」フィールドで、アカウンティングを有効にするにはONと入力し、無効にするにはOFFと入力します。
「ファイル」メニューから、「ネットワーク構成の保存」を選択します。
sqlnet.ora
ファイルが次のエントリで更新されます。
SQLNET.RADIUS_SEND_ACCOUNTING= ON
RADIUSアカウンティング・サーバーは、RADIUS認証サーバーと同じホストまたは別のホストにあるアカウンティング・サーバーで構成されます。
関連項目: 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サーバーに追加する手順:
/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
CLIENT NAME
列に、Oracleデータベース・サーバーが実行されているホストのホスト名またはIPアドレスを入力します。KEY
列に、共有シークレットを入力します。
CLIENT NAME
列に入力する値は、クライアントの名前かIPアドレスかにかかわらず、RADIUSサーバーによって異なります。
clientsファイルを保存して閉じます。
関連項目: RADIUSサーバーの管理ドキュメント |
認証サーバーの構成の詳細は、認証サーバーのドキュメントを参照してください。
認証サーバーとともに使用するRADIUSサーバーの構成の詳細は、RADIUSサーバーのドキュメントを参照してください。
RADIUSサーバーでベンダー・タイプ属性がサポートされている場合は、ロールをRADIUSサーバーに格納して管理できます。RADIUSを使用したCONNECT
要求があると、Oracleデータベース・サーバーはロールをダウンロードします。
この機能を使用するには、Oracleデータベース・サーバーとRADIUSサーバーの両方でロールを構成します。
Oracleデータベース・サーバーでロールを構成する手順:
テキスト・エディタを使用して、Oracleデータベース・サーバーの初期化パラメータ・ファイルでOS_ROLES
パラメータを設定します。
デフォルトでは、init.ora
ファイルは、LinuxおよびUNIXシステムの場合はORACLE_HOME
/dbs
ディレクトリ(または同じデータ・ファイルの場所)、Windowsの場合はORACLE_HOME
\database
ディレクトリにあります。
Oracleデータベース・サーバーを停止して再起動します。
例:
SQL> SHUTDOWN SQL> STARTUP
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
RADIUSチャレンジ・レスポンス・モードを構成します。
同期認証モードを使用している場合は、SQL*Plusを起動して、プロンプトで次のコマンドを入力します。
CONNECT username@database_alias
Enter password: password
注意: このコマンドでログインできるのは、チャレンジ・レスポンスがON になっていない場合のみです。 |
チャレンジ・レスポンス・モードを使用している場合は、SQL*Plusを起動して、プロンプトで次のコマンドを入力します。
CONNECT /@database_alias
注意:
|
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のドキュメントを参照してください。 |