プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Serverセキュリティの管理
12c (12.2.1.3.0)
E90347-06
目次へ移動
目次

前
次

14 RDBMS認証プロバイダの構成

WebLogic Serverでは、RDBMS認証プロバイダはユーザー名/パスワード・ベースの認証プロバイダであり、ユーザー、パスワードおよびグループ情報のアイデンティティ・ストアとして、LDAPシステムではなく、リレーショナル・データベースを使用します。

この章には次のトピックが含まれます:

RDBMS認証プロバイダの構成について

WebLogic Serverには、SQLデータベースおよびリレーショナル・データベース用のRDBMS認証プロバイダが組み込まれています。これらのプロバイダを次に示します。
  • SQLオーセンティケータ - SQLデータベースを使用し、データベースへの読み書きアクセスを許可します。この認証プロバイダは、デフォルトによって一般的なSQLデータベース・スキーマを使用するように構成されていますが、使用するデータベースのスキーマに合わせて構成できます。「SQL認証プロバイダの構成」を参照してください。

  • 読取り専用SQLオーセンティケータ - SQLデータベースを使用し、データベースへの読取り専用アクセスを許可します。書込みアクセスの場合、WebLogicセキュリティ・プロバイダではなくSQLデータベース独自のインタフェースを使用します。「読取り専用SQLオーセンティケータの構成」を参照してください。

  • カスタムRDBMSオーセンティケータ - プラグイン・クラスを書き込む必要があります。このプロバイダは、認証データ・ストアとしてリレーショナル・データベースを使用するが、SQLオーセンティケータのスキーマ構成が既存のデータベース・スキーマとうまく一致しない場合に使用します。「カスタムDBMSオーセンティケータの構成」を参照してください。

RDBMS認証プロバイダのセキュリティ・レルムへの追加については、Oracle WebLogic Server管理コンソール・オンライン・ヘルプ認証およびIDアサーション・プロバイダの構成に関する項を参照してください。RDBMS認証プロバイダのインスタンスを作成したら、WebLogic Server管理コンソールのRDBMS認証プロバイダの「構成」「プロバイダ固有」ページでそのインスタンスを構成します。

一般的なRDBMS認証プロバイダ属性

WebLogic Serverに組み込まれている3つのRDBMS認証プロバイダすべてに、データ・ソース名、「グループ・メンバーシップ検索」属性、「グループ・メンバーシップ検索の最大レベル」属性およびグループ・キャッシング属性を設定するための構成オプションがあります。次の各項では、これらの構成オプションについて説明します。

データ・ソース属性

「データ・ソース名」では、データベースに接続するためのWebLogic Serverデータ・ソースを指定します。

グループ検索属性

「グループ・メンバーシップ検索」および「グループ・メンバーシップ検索の最大レベル」属性では、再帰的なグループ・メンバーシップ検索を制限付きか無制限のどちらにするか、および制限付きにした場合、検索するグループ・メンバーシップ・レベルの数を指定します。たとえば、「グループ・メンバーシップ検索」をlimitedに、「グループ・メンバーシップ検索の最大レベル」を0に設定した場合、RDBMS認証プロバイダはユーザーが直接メンバーであるグループだけを検索します。グループ・メンバーシップ検索の最大レベルを指定すると、認証中に実行されるDBMS問合せの数が減少する場合があるので、特定のシナリオで認証のパフォーマンスが大幅に向上します。しかし、グループ・メンバーシップ検索レベルを制限するのは、必要なグループ・メンバーシップがその検索レベル制限の範囲内にあることが確認できている場合のみにしてください。

ノート:

RDBMSに循環グループが含まれる場合や、それ自身を含むように定義されているグループが含まれる場合、RDBMS認証プロバイダは認証プロセスを完了できないことがあります。「グループ・メンバーシップ検索」と「グループ・メンバーシップ検索の最大レベル」の属性を設定すると、グループ名の再帰ルックアップを制限できます。ただし、RDBMS認証プロバイダを循環グループで使用することはサポートされていないので、避ける必要があります。

グループ・キャッシング属性

グループ階層ルックアップの結果をキャッシュすることによって、RDBMS認証プロバイダのパフォーマンスを向上できます。このキャッシュを使用すると、RDBMS認証プロバイダがデータベースにアクセスする頻度を下げることができます。このキャッシュの使い方、サイズおよび期間を構成するには、WebLogic Server管理コンソールで認証プロバイダの「パフォーマンス」ページを使用します。詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプ「セキュリティ・レルム: セキュリティ・プロバイダ: SQL認証: パフォーマンス」を参照してください。

SQL認証プロバイダの構成

SQL認証プロバイダを使用している場合、プロバイダとその関連するデータベースでユーザー・パスワードを処理する方法と、データベース内のユーザー情報へのアクセスに必要なSQL文属性を構成します。次の各項では、これらの属性の構成について説明します。

SQL認証プロバイダの構成の詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプ「セキュリティ・レルム: セキュリティ・プロバイダ: SQL認証: プロバイダ固有」を参照してください。

パスワード属性

以下の属性によって、SQL認証プロバイダとその基底データベースがパスワードを処理する方法を指定します。

  • プレーンテキスト・パスワードの有効化 - プレーンテキスト・パスワードを使用できるかどうかを指定します。

  • パスワードのスタイルを保持 - 既存のユーザーのパスワードを更新する場合の、パスワードのデータベースへの格納方法を制御します。有効な場合、デフォルトでは、データベース内の元のパスワードで使用されていたパスワードのスタイルおよびアルゴリズムが新しいパスワードで使用されます。無効な場合、プロバイダでは、新しいパスワードの「パスワード・アルゴリズム」および「パスワードのスタイル」属性に指定されている設定が使用されます。

  • パスワードのスタイル - 新しいユーザーのパスワードを格納する場合、および「パスワードのスタイルを保持」属性が無効である場合に既存のユーザーのユーザーを更新する場合に使用するパスワードのスタイルを指定します。有効なオプションは、PLAINTEXTHASHEDまたはSALTEDHASHEDです。

  • パスワード・アルゴリズム - パスワードを保存用にハッシュ化する際に使用されるメッセージ・ダイジェスト・アルゴリズム。指定する値は標準的なアルゴリズム名で、実行時に使用可能なJava Cryptography Extension (JCE)プロバイダが認識できる名前にする必要があります。例には、SHA-1およびSHA-256が含まれます。Java暗号化アーキテクチャ(JCA)は、https://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#algspecで説明されている標準アルゴリズム仕様を定義します。

    ノート:

    SQL認証プロバイダでは、SALTEDHASHEDパスワード用として次の公式が使用されます。

    {SSHA} + プレーン・テキストのsalt + base64Encode (sha-1{salt + プレーン・テキストのパスワード})

    ここに示す公式では、デフォルト値のsha-1が使用されます。パスワード・アルゴリズムに対してSHA-1以外の値を指定すると、その値が代わりに使用されます。SQL認証プロバイダでは、ハッシュ済パスワード値を保持するために文字列型が使用されるため、この公式ではbase64エンコーディングを使用することにより、パスワード・アルゴリズムによって生成されるバイトをRDBMS表に文字列として格納できるようにします。

SQL文属性

SQL文属性では、プロバイダがデータベース内のユーザー名、パスワード、およびグループ情報にアクセスして編集するために使用するSQL文を指定します。SQL文属性のデフォルト値は、データベース・スキーマに次の表が含まれていることを前提としたものです。

  • ユーザー(ユーザー名、パスワード、「説明」)

  • グループ・メンバー(グループ名、グループ・メンバー)

  • グループ(グループ名、グループの説明)

    ノート:

    SQL文によって参照される表は、データベースに存在しなければなりません。プロバイダによって表は作成されません。これらの属性は、使用するデータベースのスキーマに合せて適宜変更できます。しかし、データベース・スキーマがこのデフォルト・スキーマと根本的に異なる場合、代わりにカスタムDBMS認証プロバイダを使用できます。

読取り専用SQLオーセンティケータの構成

読取り専用SQL認証プロバイダの構成可能な属性には、データベース内のユーザー名、パスワードおよびグループ情報をリストするためにプロバイダで使用されるSQL文を指定する属性があります。これらの属性は、使用するデータベースのスキーマに合せて適宜変更できます。読取り専用SQL認証プロバイダの構成の詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプ「セキュリティ・レルム: セキュリティ・プロバイダ: 読取り専用SQL認証プロバイダ: プロバイダ固有」を参照してください。

カスタムDBMSオーセンティケータの構成

カスタムDBMS認証プロバイダは、他のRDBMS認証プロバイダと同様、ユーザー、パスワード、およびグループ情報のデータ・ストアとしてリレーショナル・データベースを使用します。 このプロバイダは、使用するデータベース・スキーマがSQL認証プロバイダで必要なSQLスキーマと一致しない場合に使用します。「一般的なRDBMS認証プロバイダ属性」で説明した属性の他に、カスタムDBMS認証プロバイダの構成可能な属性にはプラグイン・クラス用の属性があります。

プラグイン・クラス属性

カスタムDBMS認証プロバイダでは、weblogic.security.providers.authentication.CustomDBMSAuthenticatorPluginインタフェースを実装するプラグイン・クラスを作成する必要があります。このクラスはシステム・クラスパスに存在しなくてはならず、カスタムDBMS認証プロバイダの「プラグイン・クラス名」属性に指定する必要があります。必要な場合、「プラグインのプロパティ」属性を使用して、プラグイン・クラスによって定義されるプロパティ値を指定します。