27 RADIUS認証の構成
RADIUSは、リモート認証およびアクセスを実現するために広く使用されているクライアント/サーバー・セキュリティ・プロトコルです。
- RADIUS認証の構成について
Oracle Databaseでは、ユーザー認証にRADIUS標準がサポートされています。 - RADIUSの構成要素
RADIUSには、構成設定を管理できる一連の認証の構成要素があります。 - RADIUS認証モード
RADIUSサーバーは、FIDOやテキスト・メッセージ認証コードなどのテクノロジを使用してユーザーを認証できます。また、Oracle Databaseでは、同期およびチャレンジ・レスポンス(async
)認証モードがサポートされています。 - RADIUSパラメータ
Oracleには、RADIUS固有のパラメータのセットが用意されています。 - RADIUS認証、認可およびアカウンティングの有効化
RADIUS認証、認可およびアカウンティングは、コマンドラインから有効にできます。 - RADIUSを使用したデータベースへのログイン
RADIUSを使用してデータベースにログインするには、同期認証モードまたはチャレンジ・レスポンス・モードのいずれかを使用します。 - RADIUSを使用した認証デバイスの統合
RADIUSチャレンジ・レスポンス・ユーザー・インタフェースは、RADIUS構成での認証をさらに強化します。
親トピック: 厳密認証の管理
27.1 RADIUS認証の構成について
Oracle Databaseでは、ユーザー認証にRADIUS標準がサポートされています。
ノート:
Oracle Database 23c以降、Request for Comments (RFC) 2138に基づいた古いRADIUS APIは非推奨です。Oracle Database 23cでは、RFC 6613およびRFC 6614に基づいた更新済のRADIUS APIが導入されています。新しいRADIUS APIをできるだけ早く使用するために移行の計画を開始することをお薦めします。新しいAPIはデフォルトで有効になっています。古いRADIUS APIに関連付けられたパラメータSQLNET.RADIUS_ALTERNATE
、SQLNET.RADIUS_ALTERNATE_PORT
、SQLNET.RADIUS_AUTHENTICATION
およびSQLNET.RADIUS_AUTHENTICATION_PORT
も非推奨です。古いRADIUS APIを使用するようにデフォルトを変更する方法の詳細は、RADIUS APIのドキュメントを参照してください。
RADIUSは、Oracleデータベースへのアクセスに使用される場合、マルチファクタ認証(MFA)によく使用されます。特定のMFAテクノロジ(スマート・カードやバイオメトリック・カードなど)は、RADIUSサーバーによって決まります。データベース・サーバーおよびクライアントは、MFAの非同期および同期の課題に対応しています。
Oracle Database RADIUS実装では、RFC 6013および6014で記述されているTLS/TCPS標準を使用し、Oracleデータベースによってデフォルトで有効になっています。古いRADIUS標準を使用して(Oracle Databaseリリース23cより前の)古い実装を使用する場合は、古いRADIUS実装を使用するために、 SQLNET.RADIUS_ALLOW_WEAK_CLIENTS
パラメータとSQLNET.RADIUS_ALLOW_WEAK_PROTOCOL
パラメータの一方または両方を有効する必要があります。
エンド・ユーザーから見ると、認証手続き全体は透過的です。ユーザーがOracleデータベース・サーバーにアクセスしようとすると、RADIUSクライアントとして機能するOracleデータベース・サーバーはRADIUSサーバーに通知します。RADIUSサーバーは次の処理を行います。
-
ユーザーのセキュリティ情報を検索します。
-
適切な認証サーバー(複数可)とOracleデータベース・サーバーの間で認証および認可情報の受渡しを行います。
-
Oracleデータベース・サーバーへのユーザー・アクセスを許可します。
-
ユーザーがいつ、どのくらいの頻度で、どのくらいの時間、Oracleデータベース・サーバーに接続していたかなどのセッション情報をログに記録します。
ノート:
Oracle Databaseでは、データベース・リンクを介したRADIUS認証はサポートされません。
RADIUSを使用するようにOracle Databaseを構成するには、
sqlnet.ora
ファイルのパラメータを変更します。sqlnet.ora
での設定は、すべてのプラガブル・データベース(PDB)に適用されます。
図27-1に、Oracle Database-RADIUS環境を示します。
Oracle DatabaseサーバーはRADIUSクライアントとして機能し、OracleクライアントとRADIUSサーバーの間で情報の受渡しを行います。同様に、RADIUSサーバーはOracleデータベース・サーバーと適切な認証サーバーの間で情報の受渡しを行います。
RADIUSサーバーのベンダーが認証サーバーのベンダーでもある場合も多くあります。この場合、RADIUSサーバーで認証を処理できます。
親トピック: RADIUS認証の構成
27.2 RADIUSの構成要素
RADIUSには、構成設定を管理できる一連の認証の構成要素があります。
表27-1に、認証の構成要素を示します。
表27-1 RADIUS認証の構成要素
構成要素 | 格納される情報 |
---|---|
Oracleクライアント |
RADIUSによる通信のための構成設定 |
Oracleデータベース・サーバー/RADIUSクライアント |
OracleクライアントとRADIUSサーバーの間で情報の受渡しを行うための構成設定 秘密キー・ファイル |
RADIUSサーバー |
すべてのユーザーの認証および認可情報 各クライアントの名前またはIPアドレス 各クライアントの共有シークレット |
認証サーバー(複数可) |
パス・コードやPINなどのユーザー認証情報(使用中の認証方式によって異なる) ノート: RADIUSサーバーは認証サーバーになることもできます。 |
親トピック: RADIUS認証の構成
27.3 RADIUS認証モード
RADIUSサーバーは、FIDOやテキスト・メッセージ認証コードなどのテクノロジを使用してユーザーを認証できます。また、Oracle Databaseでは、同期およびチャレンジ・レスポンス(async
)認証モードがサポートされています。
- 同期認証モード
同期モードでは、ユーザーはパスワードと第2ファクタの両方をパスワード・フィールドに同時に入力します。この方法は、GUIチャレンジ・ウィンドウを開くことができないときにコマンドライン・インタフェースを使用する場合に適しています。 - チャレンジ・レスポンス(非同期)認証モード
システムで非同期モードが使用されている場合、ユーザーは、SQL*Plus CONNECT文字列でユーザー名とパスワードを入力する必要はありません。
親トピック: RADIUS認証の構成
27.3.1 同期認証モード
同期モードでは、ユーザーはパスワードと第2ファクタの両方をパスワード・フィールドに同時に入力します。この方法は、GUIチャレンジ・ウィンドウを開くことができないときにコマンドライン・インタフェースを使用する場合に適しています。
- 同期認証モードの順序
同期認証モードは6ステップの順序です。 - 例: トークンによる同期認証
トークン認証では、各ユーザーにトークン・カードあり、60秒ごとに変わる動的番号が表示されます。
親トピック: RADIUS認証モード
27.3.1.1 同期認証モードの順序
同期認証モードは6ステップの順序です。
図27-2に、同期認証が行われる順序を示します。
次のステップは、同期認証の順序を示しています。
-
ユーザーが、接続文字列、パス・コードまたはその他の値を入力してログインします。クライアント・システムは、このデータをOracleデータベース・サーバーに渡します。パス・コードは、多くの場合、パスワードの後にトークンまたはテキストの数字が続きます。両方の資格証明ファクタが同時に送信されます。
-
RADIUSクライアントとして機能するOracleデータベース・サーバーは、OracleクライアントからのデータをRADIUSサーバーに渡します。
-
RADIUSサーバーは、データを適切な認証サーバーに渡します。
-
認証サーバーは、アクセス受入れまたはアクセス拒否メッセージをRADIUSサーバーに返します。
-
RADIUSサーバーは、このレスポンスをOracleデータベース・サーバー/RADIUSクライアントに渡します。
-
Oracleデータベース・サーバー/RADIUSクライアントは、レスポンスをOracleクライアントに返します。
親トピック: 同期認証モード
27.3.1.2 例: トークンによる同期認証
トークン認証では、各ユーザーにトークン・カードあり、60秒ごとに変わる動的番号が表示されます。
Oracleデータベース・サーバー/RADIUSクライアントにアクセスするために、ユーザーは個人識別番号(PIN)とユーザーのトークンに現在表示されている動的番号の両方が含まれる有効なパス・コードを入力します。Oracleデータベース・サーバーは、Oracleクライアントからのこの認証情報をRADIUSサーバー(この場合は、検証のための認証サーバー)に渡します。認証サーバー(RSA ACE/Server)によってユーザーが検証されると、受入れパケットがOracleデータベース・サーバーに送られ、次に、Oracleクライアントに渡されます。これでユーザーは認証され、適切な表やアプリケーションにアクセスできます。
関連項目:
RSA Security社から提供されるドキュメント
親トピック: 同期認証モード
27.3.2 チャレンジ・レスポンス(非同期)認証モード
システムで非同期モードが使用されている場合、ユーザーは、SQL*Plus CONNECT文字列でユーザー名とパスワードを入力する必要はありません。
- チャレンジ・レスポンス(非同期)認証モードの順序
チャレンジ・レスポンス(非同期)認証モードは12ステップの順序です。 - 例: トークンによる非同期認証
非同期認証で使用されるトークン・タイプの1つとして、キーパッドとディスプレイがあります。
親トピック: RADIUS認証モード
27.3.2.1 チャレンジ・レスポンス(非同期)認証モードの順序
チャレンジ・レスポンス(非同期)認証モードは12ステップの順序です。
ノート:
データベース・サーバーへのクライアント接続に関係なく、Microsoft Windowsプラットフォームで実行されているデータベース・サーバーではチャレンジ・レスポンス(非同期)認証モードはサポートされていません。図27-3に、チャレンジ・レスポンス(非同期)認証が行われる順序を示します。RADIUSサーバーが認証サーバーである場合、ステップ3、4、5およびステップ9、10、11は1つに結合されます。
次のステップは、非同期認証の順序を示しています。
-
ユーザーが、Oracleデータベース・サーバーへの接続を開始します。クライアント・システムは、データをOracleデータベース・サーバーに渡します。
-
Oracleデータベース・サーバーは、TCPS (Transparent Layer Security (TLS))認証が構成されていることを確認します。
-
RADIUSクライアントとして機能するOracleデータベース・サーバーは、OracleクライアントからのデータをRADIUSサーバーに渡します。
-
RADIUSサーバーは、データをスマートカード、SecurID ACE、トークン・カード・サーバーなどの適切な認証サーバーに渡します。
-
認証サーバーは、ランダム番号などのチャレンジをRADIUSサーバーに送信します。
-
RADIUSサーバーは、チャレンジをOracleデータベース・サーバー/RADIUSクライアントに渡します。
-
Oracleデータベース・サーバー/RADIUSクライアントは、それをOracleクライアントに渡します。グラフィカル・ユーザー・インタフェースで、ユーザーにチャレンジが表示されます。Oracleには、チャレンジの表示に使用するために変更できるJAVA GUIコードの例が用意されています。
$ORACLE_HOME/network/jlib
ディレクトリのnetradius.jar
およびnetradius8.jar
ファイルを参照してください。(netradius8.jar
ファイルが最新です。) -
ユーザーは、チャレンジに対するレスポンスを入力します。レスポンスを作成するために、ユーザーは、たとえば、受け取ったチャレンジをトークン・カードに入力できます。トークン・カードによって、グラフィカル・ユーザー・インタフェースに入力する動的なパスワードが提供されます。Oracleクライアントは、ユーザーのレスポンスをOracleデータベース・サーバー/RADIUSクライアントに渡します。
-
Oracleデータベース・サーバー/RADIUSクライアントは、ユーザーのレスポンスをRADIUSサーバーに送信します。
-
RADIUSサーバーは、検証のためにユーザーのレスポンスを適切な認証サーバーに渡します。
-
認証サーバーは、アクセス受入れまたはアクセス拒否メッセージをRADIUSサーバーに返します。
-
RADIUSサーバーは、レスポンスをOracleデータベース・サーバー/RADIUSクライアントに渡します。
-
Oracleデータベース・サーバー/RADIUSクライアントは、レスポンスをOracleクライアントに渡します。
親トピック: チャレンジ・レスポンス(非同期)認証モード
27.3.2.2 例: トークンによる非同期認証
非同期認証で使用されるトークン・タイプの1つとして、キーパッドとディスプレイがあります。
ユーザーがパスワードを入力してOracleデータベース・サーバーにアクセスしようとすると、情報はOracleデータベース・サーバー/RADIUSクライアントおよびRADIUSサーバーを経由して、適切な認証サーバーに渡されます。認証サーバーは、RADIUSサーバーおよびOracleデータベース・サーバーを経由して、クライアントにチャレンジを戻します。ユーザーがそのチャレンジをトークンに入力すると、ユーザーがレスポンスで送信する番号がトークンに表示されます。
次に、Oracleクライアントは、Oracleデータベース・サーバーおよびRADIUSサーバーを経由して、ユーザーのレスポンスを認証サーバーに送信します。ユーザーが有効な番号を入力した場合、認証サーバーはRADIUSサーバーおよびOracleデータベース・サーバーを経由して、受入れパケットをOracleクライアントに戻します。これでユーザーは認証され、適切な表やアプリケーションへのアクセスが認可されます。ユーザーが誤ったレスポンスを入力した場合、認証サーバーはユーザーのアクセスを拒否するメッセージを戻します。
親トピック: チャレンジ・レスポンス(非同期)認証モード
27.4 RADIUSパラメータ
Oracleには、RADIUS固有のパラメータのセットが用意されています。
- クライアントおよびサーバーのRADIUSパラメータ
Oracle Databaseには、RADIUS認証を使用するための、クライアントおよびサーバーのパラメータが用意されています。 - 最小限のRADIUSパラメータ
少なくとも、SQLNET.AUTHENTICATION_SERVICES
パラメータとSQLNET.RADIUS.AUTHENTICATION
パラメータを使用する必要があります。 - RADIUSの初期化ファイル・パラメータ
RADIUSの場合、OS_AUTHENT_PREFIX
初期化パラメータを設定します。
親トピック: RADIUS認証の構成
27.4.1 クライアントとサーバーのRADIUSパラメータ
Oracle Databaseには、RADIUS認証を使用するためのクライアントとサーバーのパラメータが用意されています。
次の表に、RADIUSを使用するクライアントとサーバーの構成ファイルに挿入するパラメータを示します。
表27-2 RADIUS認証パラメータ
パラメータ | 説明 |
---|---|
|
1つ以上の認証サービスを使用可能にします |
|
プライマリ・サーバーが使用できない場合に、代替RADIUSサーバーを指定します |
|
代替RADIUSサーバーのリスニング・ポートを指定します |
|
データベースが代替RADIUSサーバーにメッセージを再送信する回数を指定します |
|
代替RADIUSサーバーが応答を待機する時間を設定します |
|
プライマリRADIUSサーバーの場所を、ホスト名またはIPアドレスで指定します |
|
ユーザーの対話操作のためのユーザー・インタフェースが含まれるクラスを指定します |
|
プライマリRADIUSサーバーのリスニング・ポートを指定します |
|
データベースがプライマリRADIUSサーバーにメッセージを再送する回数を指定します |
|
データベースがプライマリRADIUSサーバーからの応答を待機する時間を指定します |
|
RADIUSサーバーからのチャレンジを要求するためのキーワードを設定します |
|
チャレンジ・レスポンスの有効化または無効化 |
|
JavaクラスとJDK Javaライブラリのパスを設定します |
|
RADIUSシークレット・キーの場所を指定します |
|
アカウントの有効化と無効化 |
親トピック: RADIUSパラメータ
27.4.2 最小限のRADIUSパラメータ
少なくとも、SQLNET.AUTHENTICATION_SERVICES
パラメータとSQLNET.RADIUS.AUTHENTICATION
パラメータを使用する必要があります。
次の設定を使用します。
sqlnet.authentication_services = (radius) sqlnet.radius.authentication = IP-address-of-RADIUS-server
親トピック: RADIUSパラメータ
27.4.3 RADIUSの初期化ファイル・パラメータ
RADIUSの場合、OS_AUTHENT_PREFIX
初期化パラメータを設定します。
たとえば:
OS_AUTHENT_PREFIX=""
親トピック: RADIUSパラメータ
27.5 RADIUS認証、認可およびアカウンティングの有効化
RADIUS認証、認可およびアカウンティングは、コマンドラインから有効にできます。
- ステップ1: RADIUS認証の構成
RADIUS認証を構成するには、Oracleクライアントで最初に認証を構成してからサーバーで構成する必要があります。その後、追加のRADIUS機能を構成できます。 - ステップ2: ユーザーの作成とアクセス権の付与
RADIUS認証の完了後、RADIUS構成を担当するOracle Databaseユーザーを作成する必要があります。 - ステップ3: 外部RADIUS認可の構成(オプション)
Oracleデータベースに接続する必要があるRADIUSユーザーに対して、Oracleサーバー、OracleクライアントおよびRADIUSサーバーを構成する必要があります。 - ステップ4: RADIUSアカウンティングの構成
RADIUSアカウンティングは、Oracleデータベース・サーバーへのアクセスに関する情報をログに記録し、RADIUSアカウンティング・サーバー上のファイルに格納します。 - ステップ5: RADIUSクライアント名のRADIUSサーバー・データベースへの追加
選択するRADIUSサーバーは、RADIUS標準に準拠している必要があります。 - ステップ6: RADIUSとともに使用する認証サーバーの構成
RADIUSクライアント名をRADIUSサーバー・データベースに追加した後、RADIUSを使用するように認証サーバーを構成できます。 - ステップ7: 認証サーバーとともに使用するRADIUSサーバーの構成
RADIUSで使用するように認証サーバーを構成した後、その認証サーバーを使用するようにRADIUSサーバーを構成できます。 - ステップ8: マッピング・ロールの構成
RADIUSサーバーでベンダー・タイプ属性がサポートされている場合は、ロールをRADIUSサーバーに格納して管理できます。
親トピック: RADIUS認証の構成
27.5.1 ステップ1: RADIUS認証の構成
RADIUS認証を構成するには、Oracleクライアントで最初に認証を構成してからサーバーで構成する必要があります。その後、追加のRADIUS機能を構成できます。
- ステップ1A: OracleクライアントでのRADIUSの構成
sqlnet.ora
を使用して、OracleクライアントでRADIUSを構成できます。 - ステップ1B: Oracleデータベース・サーバーでのRADIUSの構成
RADIUSキーを保持するファイルを作成して、Oracleデータベース・サーバー上にこのファイルを格納する必要があります。次に、sqlnet.ora
ファイルで適切なパラメータを構成する必要があります。 - ステップ1C: その他のRADIUS機能の構成
デフォルト設定を変更し、チャレンジ・レスポンス・モードを構成して、代替RADIUSサーバーのパラメータを設定できます。
親トピック: RADIUS認証、認可およびアカウンティングの有効化
27.5.1.1 ステップ1A: OracleクライアントでのRADIUSの構成
sqlnet.ora
を使用して、OracleクライアントでRADIUSを構成できます。
親トピック: ステップ1: RADIUS認証の構成
27.5.1.2 ステップ1B: Oracleデータベース・サーバーでのRADIUSの構成
RADIUSキーを保持するファイルを作成して、Oracleデータベース・サーバー上にこのファイルを格納する必要があります。次に、sqlnet.ora
ファイルで適切なパラメータを構成する必要があります。
- ステップ1B(1): Oracleデータベース・サーバーでのRADIUS秘密キー・ファイルの作成
最初に、RADIUS秘密キー・ファイルを作成する必要があります。 - ステップ1B(2): サーバー(sqlnet.oraファイル)でのRADIUSパラメータの構成
RADIUS秘密キー・ファイルの作成後、sqlnet.ora
ファイルで適切なパラメータを構成します。 - ステップ1B(3): Oracleデータベース・サーバー初期化パラメータの設定
sqlnet.ora
ファイルの構成後、init.ora
初期化ファイルを構成する必要があります。
親トピック: ステップ1: RADIUS認証の構成
27.5.1.2.2 ステップ1B(2): サーバー(sqlnet.oraファイル)でのRADIUSパラメータの構成
RADIUS秘密キー・ファイルの作成後、sqlnet.ora
ファイルで適切なパラメータを構成します。
ノート:
- Oracle Database 23c以降、レガシーRADIUS APIを使用してデータベースに対して認証するユーザーには、管理権限が付与されなくなりました。
以前のリリースでは、RADIUS APIで認証するユーザーには、
SYSDBA
やSYSBACKUP
などの管理権限を付与できました。Oracle Database 23cのOracleでは、最新の標準を使用する新しいRADIUS APIが導入されています。ユーザーに管理権限を付与するには、必ず、データベースへのデータベース接続で新しいRADIUS APIを使用し、Oracle Database 23cクライアントを使用してOracle Database 23cサーバーに接続します。 - Oracle Database 23c以降、Request for Comments (RFC) 2138に基づいた古いRADIUS APIは非推奨です。
Oracle Database 23cでは、RFC 6613およびRFC 6614に基づいた更新済のRADIUS APIが導入されています。新しいRADIUS APIをできるだけ早く使用するために移行の計画を開始することをお薦めします。新しいAPIはデフォルトで有効になっています。古いRADIUS APIに関連付けられたパラメータ
SQLNET.RADIUS_ALTERNATE
、SQLNET.RADIUS_ALTERNATE_PORT
、SQLNET.RADIUS_AUTHENTICATION
およびSQLNET.RADIUS_AUTHENTICATION_PORT
も非推奨です。古いRADIUS APIを使用するようにデフォルトを変更する方法の詳細は、RADIUS APIのドキュメントを参照してください。
27.5.1.3 ステップ1C: その他のRADIUS機能の構成
デフォルト設定を変更し、チャレンジ・レスポンス・モードを構成して、代替RADIUSサーバーのパラメータを設定できます。
- ステップ1C(1): デフォルト設定の変更
sqlnet.ora
ファイルを編集して、デフォルトのRADIUS設定を変更できます。 - ステップ1C(2): チャレンジ・レスポンス・モードの構成
チャレンジ・レスポンス・モードを構成するには、トークン・カードから取得する動的パスワードなどの情報を指定する必要があります。 - ステップ1C(3): 代替RADIUSサーバーのパラメータの設定
代替RADIUSサーバーを使用する場合、追加パラメータを設定する必要があります。 - ステップ1C(4): TCPS以外のプロトコルまたは古いクライアントによるアクセスの有効化
TCPSプロトコルを使用しないクライアントが必要な場合は、追加でsqlnet.ora
RADIUSパラメータを設定する必要があります。
親トピック: ステップ1: RADIUS認証の構成
27.5.1.3.2 ステップ1C(2): チャレンジ・レスポンス・モードの構成
チャレンジ・レスポンス・モードを構成するには、トークン・カードから取得する動的パスワードなどの情報を指定する必要があります。
親トピック: ステップ1C: その他のRADIUS機能の構成
27.5.1.3.3 ステップ1C(3): 代替RADIUSサーバーのパラメータの設定
代替RADIUSサーバーを使用する場合、追加パラメータを設定する必要があります。
親トピック: ステップ1C: その他のRADIUS機能の構成
27.5.1.3.4 ステップ1C(4): TCPS以外のプロトコルまたは古いクライアントによるアクセスの有効化
TCPSプロトコルを使用しないクライアントが必要な場合は、追加でsqlnet.ora
RADIUSパラメータを設定する必要があります。
親トピック: ステップ1C: その他のRADIUS機能の構成
27.5.2 ステップ2: ユーザーの作成とアクセス権の付与
RADIUS認証の完了後、RADIUS構成を担当するOracle Databaseユーザーを作成する必要があります。
関連項目:
RADIUSサーバーの管理ドキュメント
親トピック: RADIUS認証、認可およびアカウンティングの有効化
27.5.3 ステップ3: 外部RADIUS認可の構成(オプション)
Oracleデータベースに接続する必要があるRADIUSユーザーに対して、Oracleサーバー、OracleクライアントおよびRADIUSサーバーを構成する必要があります。
- ステップ3A: Oracle Server (RADIUSクライアント)の構成
init.ora
ファイルを編集して、RADIUSクライアントにOracleサーバーを構成できます。 - ステップ3B: Oracleクライアント(ユーザーがログインする場所)の構成
次に、ユーザーがログインするOracleクライアントを構成する必要があります。 - ステップ3C: RADIUSサーバーの構成
RADIUSサーバーを構成するには、RADIUSサーバーの属性構成ファイルを変更する必要があります。
親トピック: RADIUS認証、認可およびアカウンティングの有効化
27.5.3.1 ステップ3A: Oracle Server (RADIUSクライアント)の構成
init.ora
ファイルを編集して、RADIUSクライアントにOracleサーバーを構成できます。
init.ora
ファイルを変更して、データベースを再起動し、RADIUSチャレンジ・レスポンス・モードを設定する必要があります。
- サーバーのRADIUSチャレンジ・レスポンス・モードを
ON
に設定していない場合は設定します。 - 外部で識別されるユーザーおよびロールを追加します。
親トピック: ステップ3: 外部RADIUS認可の構成(オプション)
27.5.3.2 ステップ3B: Oracleクライアント(ユーザーがログインする場所)の構成
次に、ユーザーがログインするOracleクライアントを構成する必要があります。
- クライアントのRADIUSチャレンジ・レスポンス・モードを
ON
に設定していない場合は設定します。
親トピック: ステップ3: 外部RADIUS認可の構成(オプション)
27.5.3.3 ステップ3C: RADIUSサーバーの構成
RADIUSサーバーを構成するには、RADIUSサーバーの属性構成ファイルを変更する必要があります。
親トピック: ステップ3: 外部RADIUS認可の構成(オプション)
27.5.4 ステップ4: RADIUSアカウンティングの構成
RADIUSアカウンティングは、Oracleデータベース・サーバーへのアクセスに関する情報をログに記録し、RADIUSアカウンティング・サーバー上のファイルに格納します。
この機能は、RADIUSサーバーと認証サーバーの両方でサポートされている場合にのみ使用します。
- ステップ4A: Oracleデータベース・サーバーでのRADIUSアカウンティングの設定
sqlnet.ora
を使用して、サーバーでRADIUSアカウンティングを有効にできます。 - ステップ4B: RADIUSアカウンティング・サーバーの構成
RADIUSアカウンティング・サーバーは、RADIUS認証サーバーと同じホストまたは別のホストにあります。
親トピック: RADIUS認証、認可およびアカウンティングの有効化
27.5.4.1 ステップ4A: Oracleデータベース・サーバーでのRADIUSアカウンティングの設定
sqlnet.ora
を使用して、サーバーでRADIUSアカウンティングを有効にできます。
親トピック: ステップ4: RADIUSアカウンティングの構成
27.5.4.2 Step 4B: RADIUSアカウンティング・サーバーの構成
RADIUSアカウンティング・サーバーは、RADIUS認証サーバーと同じホストまたは別のホストにあります。
- RADIUSアカウンティングの構成の詳細は、RADIUSサーバーの管理ドキュメントを参照してください。
親トピック: ステップ4: RADIUSアカウンティングの構成
27.5.5 ステップ5: RADIUSクライアント名のRADIUSサーバー・データベースへの追加
選択するRADIUSサーバーは、RADIUS標準に準拠している必要があります。
関連項目:
RADIUSサーバーの管理ドキュメント
親トピック: RADIUS認証、認可およびアカウンティングの有効化
27.5.6 ステップ6: RADIUSとともに使用する認証サーバーの構成
RADIUSクライアント名をRADIUSサーバー・データベースに追加した後、RADIUSを使用するように認証サーバーを構成できます。
- 認証サーバーの構成の詳細は、認証サーバーのドキュメントを参照してください。
親トピック: RADIUS認証、認可およびアカウンティングの有効化
27.5.7 ステップ7: 認証サーバーとともに使用するRADIUSサーバーの構成
RADIUSで使用するように認証サーバーを構成した後、その認証サーバーを使用するようにRADIUSサーバーを構成できます。
- 認証サーバーとともに使用するRADIUSサーバーの構成の詳細は、RADIUSサーバーのドキュメントを参照してください。
親トピック: RADIUS認証、認可およびアカウンティングの有効化
27.6 RADIUSを使用したデータベースへのログイン
RADIUSを使用してデータベースにログインするには、同期認証モードまたはチャレンジ・レスポンス・モードのいずれかを使用します。
親トピック: RADIUS認証の構成
27.7 RADIUSを使用した認証デバイスの統合
RADIUSチャレンジ・レスポンス・ユーザー・インタフェースは、RADIUS構成での認証をさらに強化します。
- RADIUSチャレンジ・レスポンス・ユーザー・インタフェースについて
サード・パーティ認証ベンダーを使用して、RADIUSチャレンジ・レスポンス・ユーザー・インタフェースを特定のデバイスに合うようにカスタマイズできます。 - RADIUSチャレンジ・レスポンス・ユーザー・インタフェースのカスタマイズ
OracleRadiusInterface
インタフェースは、独自のクラスを作成することでカスタマイズできます。 - 例: OracleRadiusInterfaceインタフェースの使用
OracleRadiusInterfaceインタフェースを使用して、ユーザー名とパスワードを取得できます。
親トピック: RADIUS認証の構成
27.7.1 RADIUSチャレンジ・レスポンス・ユーザー・インタフェースについて
サード・パーティ認証ベンダーを使用して、RADIUSチャレンジ・レスポンス・ユーザー・インタフェースを特定のデバイスに合うようにカスタマイズできます。
RADIUS規格をサポートする任意の認証デバイスを、Oracleユーザーが認証されるように設定できます。認証デバイスでチャレンジ・レスポンス・モードを使用する場合、グラフィカル・インタフェースでエンド・ユーザーはまずパスワードの入力、次に追加情報の入力を求められます(たとえば、ユーザーがトークン・カードから取得する動的パスワードがあります)。このインタフェースはJavaベースで、最適なプラットフォーム独立性を提供します。
認証デバイスのサード・パーティ・ベンダーは、その独自のデバイスに合せてこのグラフィカル・ユーザー・インタフェースをカスタマイズする必要があります。たとえば、スマートカード・ベンダーは、チャレンジをスマートカード・リーダーに発行するようにOracleクライアントをカスタマイズします。スマートカードはチャレンジを受け取ると、ユーザーにPINなどの追加情報の入力を求めることで応答します。
関連トピック
親トピック: RADIUSを使用した認証デバイスの統合
27.7.2 RADIUSチャレンジ・レスポンス・ユーザー・インタフェースのカスタマイズ
OracleRadiusInterface
インタフェースは、独自のクラスを作成することでカスタマイズできます。
サード・パーティは、ORACLE.NET.RADIUS
パッケージにあるOracleRadiusInterface
インタフェースを実装する必要があります。
親トピック: RADIUSを使用した認証デバイスの統合
27.7.3 例: OracleRadiusInterfaceインタフェースの使用
OracleRadiusInterfaceインタフェースを使用して、ユーザー名とパスワードを取得できます。
例27-1に、OracleRadiusInterface
インタフェースの使用方法を示します。
例27-1 OracleRadiusInterfaceインタフェースの使用
public interface OracleRadiusInterface { public void radiusRequest(); public void radiusChallenge(String challenge); public String getUserName(); public String getPassword(); }
詳細は、次のとおりです。
-
radiusRequest
は、エンド・ユーザーにユーザー名とパスワードの入力を求めます(これらは後でgetUserName
とgetPassword
を使用して取得されます)。 -
getUserName
は、ユーザーが入力したユーザー名を抽出します。空の文字列が戻された場合、ユーザーが操作をキャンセルするとみなされます。その後、ユーザーは認証に失敗したことを示すメッセージを受信します。 -
getPassword
は、ユーザーが入力したパスワードを抽出します。getUserName
が有効な文字列を戻し、getPassword
が空の文字列を戻した場合、データベースによってチャレンジ・キーワードがパスワードとして使用されます。ユーザーが有効なパスワードを入力した場合、チャレンジがRADIUSサーバーから戻される場合と戻されない場合がります。 -
radiusChallenge
は、ユーザーがサーバーのチャレンジに応答できるように、RADIUSサーバーから送信された要求を表示します。 -
getResponse
は、ユーザーが入力した応答を抽出します。有効な応答が戻された場合、その情報が新しいAccess-Request
パケットのUser-Password
属性に移入されます。空の文字列が戻された場合、操作は対応する値を戻すことによって両側から取り消されます。
親トピック: RADIUSを使用した認証デバイスの統合