https://blogs.oracle.com/WebLogicServer/entry/data_source_security_part_2
Part 1では、デフォルトのセキュリティの振る舞いと、振る舞いを変更するために利用可能な様々なオプションをご紹介しました。理解する上でキモとなるトピックの一つは、直接データベースユーザとパスワードの値を使う場合と、WLSユーザとパスワードを関連するデータベースの値にマッピングする場合の違いです。データベースの資格証明の直接の利用は、お客様からのフィードバックに基づいてWLSに最近追加されたものです。この記事ではトレードオフをご紹介します。
資格証明のマッピング vs データベースの資格証明
各WLSデータソースには、キーをマップ、この場合WLSユーザをセキュリティ資格情報(ユーザとパスワード)マップするための機構である資格証明マップがあります。デフォルトでは、接続を取得するときにユーザ名とパスワードが指定されている場合、それらはWLSユーザのクレデンシャルとして扱われ、検証され、データソースに関連付けられている資格マップを使用して、データベースのユーザとパスワードに変換されます。一致するエントリがデータソースの資格証明マップで見つからない場合、データソース定義に関連付けられているユーザとパスワードが使用されます。このデフォルトの機構を考慮して、デフォルトのユーザにどの権限が付与されているか注意する必要があります。対して、無効なデフォルトユーザを定義して、偶然突破できないようにしておくことができます(この場合、プールの初期サイズとしてゼロに設定し、有効なユーザだけがプールに存在できるようにしておく必要があります)。資格証明マップでエントリを作成するには…
- まず、WLSユーザを作成します。管理コンソールで、[セキュリティ・レルム]に移動してレルムを選択します(例:myrealm)。[ユーザーとグループ]>[ユーザー]を選択して、[新規]をクリックします。
- 次に、マップを作成します。管理コンソールで、[サービス]>[データ・ソース]からデータソースを選択し、[セキュリティ]>[資格証明マッピング]で[新規]をクリックします。詳細は以下のドキュメントをご覧下さい。
- Oracle Fusion Middleware Oracle WebLogic Server Administration Console Online Help 12c Release 1 (12.1.1)
Configure credential mapping for a JDBC data source
http://docs.oracle.com/cd/E24329_01/apirefs.1211/e24401/taskhelp/jdbc/jdbc_datasources/ConfigureCredentialMappingForADataSource.html
- データベースユーザ、パスワードをプログラムにハードコーディングする必要がなく、WLSユーザやパスワードに加えてデータベースユーザ、パスワードを求められることがなくなる
- WLSセキュリティとデータベース設定の間に抽象化レイヤを提供するため、多くのWLS資格証明をより小さなデータベース資格証明とマッピングできる。それによって、WLSのユーザが追加されたり削除されたりした場合には、中間層の構成を更新するだけでよくなる。
資格証明マッピングのデメリットは以下の通りです。
- ユーザ数が多いと管理(作成、更新、削除)が難しい。WLSTスクリプトやカスタムJMXクライアントユーティリティを使って資格証明マップエントリを管理可能。
- 資格証明マップをデータソース間で共有できないため、重複する可能性が高い。
Oracle Fusion Middleware Oracle WebLogic Server Administration Console Online Help 12c Release 1 (12.1.1)[データベース資格証明の使用]オプションは現在のところマルチデータソース構成をサポートしていません。有効にすると、次の属性について、汎用データソースとActive GridLink·データソースの資格証明マッピングをオフにします。
Configure Oracle parameters
http://docs.oracle.com/cd/E24329_01/apirefs.1211/e24401/taskhelp/jdbc/jdbc_datasources/ConfigureOracleParameters.html
- [アイデンティティ・ベースの接続プールを有効化] (このオプションは10.3.6.0以後で利用可能)
- [Oracleプロキシ・セッション] (このオプションは10.3.6.0以後で利用可能)
- [接続時にクライアントIDを設定](このオプションは10.3.6以後で利用可能)。データーソーススキーマで、クライアントIDの設定機能は[資格証明マッピングを有効化]とわかりづらく命名されていることに注意して下さい(訳注:WLS12.1.1では[接続時にクライアントIDを設定]という表現になっています)。ドキュメントやコンソールでは[クライアントIDを設定]として言及しています。
- 資格証明マップを使う場合、データベースにアクセスする必要があるユーザについてデータベースユーザに各WLSユーザをマッピングする必要がある。そうでない場合は、データソースのデフォルトのユーザを使用する。接続を取得する際に常にユーザ、パスワードを指定する場合は、そのような特定ユーザの資格マップエントリがだけを必要とする。
- ユーザ、パスワードを指定せずにデータベースの資格情報を使う場合、デフォルトユーザとデータソースディスクリプタ内のパスワードを常に使用する。接続を取得するときにユーザ、パスワードを指定すると、そのユーザを資格情報のために使用する。WLSユーザはデータソース接続プロセスに一切関与しない。
0 件のコメント:
コメントを投稿