Oracle® Fusion Middleware Oracle Privileged Account Manager管理者ガイド 11gリリース2 (11.1.2) B69534-07 |
|
前 |
次 |
この章では、Oracle Privileged Account ManagerのJavaプラグインに関する背景情報と、Oracle Privileged Account Managerコンソールを使用してプラグインを構成およびデプロイする方法について説明します。
この章では、次の項目について説明します。
注意: Oracle Privileged Account Managerのプラグインは、コマンド行またはOracle Privileged Account ManagerのRESTfulインタフェースを使用して管理することもできます。
|
プラグインはカスタマイズされたプログラムであり、これによって自身の固有のビジネスおよび技術要件によりよく対応できるようにOracle Privileged Account Managerの機能を拡張することができます。プラグインによって、カスタム・ロジックをトランザクションの一部として、またはカスタム・データ・ソースに接続することで提供できます。
Oracle Privileged Account Managerプラグインは、Oracle Privileged Account Managerサーバー内に構成エントリを持つJavaプログラムであってもかまいません。構成エントリでは、プラグイン起動の条件が指定されます。次のものがあります。
操作(checkout
、update
など)
リソース(アカウント、ターゲット、サーバーなど)
操作に関連するタイミング(pre_checkout
、post_update
など)
Oracle Privileged Account Managerプラグインは、次のような様々なタイプの追加機能を提供できます。
Oracle Privileged Account Managerサーバーが操作を実行する前にその対象データを検証し、サーバーが操作を実行した後に、指定されたアクションを実行する
Oracle Privileged Account Manager操作に基づいて通知を送信する
ステップアップ認証および認可を実行する
外部アイデンティティ・ストアを介してユーザーを認証する
Oracle Privileged Account Managerサーバーは、起動時にプラグイン構成およびライブラリをロードします。そのサーバーがリクエストを処理するときに、指定されたイベントが発生するたびに、プラグイン・ファンクションをコールします。
Oracle Privileged Account Manager用のプラグインを開発する方法の概要を説明します。内容は次のとおりです。
次のJARファイルに含まれているOracle Privileged Account Managerプラグイン・フレームワークを使用してプラグインを開発できます。
ORACLE_HOME/opam/jlib/opam-plugin-framework.jar
注意: 現在、Oracle Privileged Account Managerには、完全なプラグインは付属していません。Oracle Privileged Account Manager用のプラグインの開発に関する追加情報は、第16章「Oracle Privileged Account Manager用のプラグインの開発」を参照してください。 |
図10-1は、Oracle Privileged Account Managerプラグイン・フレームワークを示しています。
Oracle Privileged Account Managerの操作に対してプラグインを構成できます。プラグインは、その操作が実行され、かつそのプラグインのフィルタ・ルールが満たされるたびに起動されます。コマンド行ツールやOracle Privileged Account Managerコンソールなど、どのようなタイプのOracle Privileged Account Managerクライアントでもこれらの操作を実行できます。Oracle Privileged Account Managerサーバーおよびプラグイン・プログラムは、プラグインJAVAインタフェースを介して通信します。プラグインが起動されるときに、Oracle Privileged Account Managerサーバーから、その操作およびそのプラグインに関係するエンティティに関する情報が送信されます。その後、プラグインによってその情報に対する処理が実行され、実行が完了すると、その結果がOracle Privileged Account Managerサーバーに送り返されます。
プラグインを開発したら、それをOracle Privileged Account Managerに登録します。登録することにより、Oracle Privileged Account Managerがそのプラグインを検出し、チェックイン、チェックアウトなどのOracle Privileged Account Managerイベントに対して起動されるようにプラグインを構成できるようになります。
Oracle Privileged Account ManagerのJavaベースのプラグイン・フレームワークで、新しいプラグインを作成したり、既存のものをカスタマイズしたりすることができます。
現在、Oracle Privileged Account Managerでは、Javaで記述されたプラグインのみがサポートされています。
Oracle Privileged Account Managerプラグインを開発するには、次の事項をよく理解している必要があります。
Oracle Privileged Account Manager
Oracle Privileged Account Manager RESTful API
さらに、Javaでのプログラミングにある程度熟達している必要があります。
Oracle Privileged Account Managerの操作を拡張するためにプラグインを使用する方法としては、次のものがあります。
サーバーが操作を実行する前にその対象データを検証する
サーバーが操作を正常に終了した後に、定義したアクションを実行する
拡張操作を定義する
外部資格証明ストアを使用してユーザーを認証する
既存のサーバー・モジュールを独自のモジュールに置換する
Oracle Privileged Account Managerサーバーは、起動時にプラグイン構成およびライブラリをロードします。サーバーは様々なOracle Privileged Account Managerリクエストの処理中にプラグイン・ファンクションをコールします。
プラグインを設計する際は、次のガイドラインを使用することをお薦めします。
プラグインを使用して、Oracle Privileged Account Managerによって特定の操作が実行されるときに、関連アクションも必ず実行されるようにします。
プラグインは、プログラム本体の文をどのユーザーやアプリケーションが発行したかに関係なく、その文に対して起動される、一元化されたグローバル操作にのみ使用します。
再帰プラグインは作成しないでください。
たとえば、それ自体がcheckout
文を発行するpre_checkout
プラグインを作成すると、リソースが不足するまでこのプラグインが再帰的に実行されるようになります。
プラグインは慎重に使用してください。プラグインは、関連する操作が発生するたびに実行されることを忘れないでください。
Oracle Privileged Account Managerプラグイン・フレームワークとは、プラグインを開発、構成および適用する環境です。個々のプラグイン・インスタンスは、プラグイン・モジュールと呼びます。
Oracle Privileged Account Managerプラグイン・フレームワークには、次のものが含まれます。
プラグイン構成ツール
プラグイン・モジュール・インタフェース
Javaパッケージoracle.xxx.xxxなどのプラグインRESTful API
Oracle Privileged Account Managerサーバー・プラグイン・フレームワークを使用する手順は、次のとおりです。
ユーザー定義プラグイン・プロシージャをJavaで作成します。
プラグイン・モジュールをコンパイルします。
Oracle Privileged Account Managerの次のものを使用して、構成エントリ・インタフェースを介して、プラグイン・モジュールを登録します。
コンソール。第11.3項「プラグイン構成の作成」で説明します。
コマンド行ツール。第A.7項「プラグインの操作」で説明します。
RESTfulインタフェース。第B.10項「プラグイン・リソース」で説明します。
Oracle Privileged Account Managerでは、次のリソースに対する操作のためのプラグインがサポートされています。
ターゲット・リソースに対する操作 | アカウント・リソースに対する操作 | サーバー・リソースに対する操作 |
---|---|---|
|
|
|
プラグインを開発するときは、Oracle Privileged Account Managerによって、それらのプラグインをいつ実行するのかを指定できます。Oracle Privileged Account Managerでは、プラグインに対して操作の前と後のタイミングがサポートされています。これについては次の各項で説明します。
Oracle Privileged Account Managerは、操作前プラグインをキューに追加し、それらを、指定されている操作を実行する前に指定された順序で実行します。Oracle Privileged Account Managerが、キューに入れられているpreプラグインそれぞれを実行する際は、その結果が現在のプラグインからキュー内の次のものに渡されます。たとえば、target-add preプラグインによってプラグインの説明が変更されると、次のプラグインは変更された説明を受け取ります。
すべてのpreプラグインの実行が正常に終了するまで、Oracle Privileged Account Managerは操作を実行しません。preプラグインが失敗するかタイムアウトになった場合、操作も失敗し、その操作のためにキューに入れられている他のpreプラグインは実行されません。
多数のpreプラグインを追加すると、Oracle Privileged Account Managerは操作を実行する前にすべてのpreプラグインを実行する必要があるため、操作にかかる時間が長くなることがあります。
Oracle Privileged Account Managerは、操作後プラグインをキューに追加し、それらを、指定されている操作を実行した後に実行します。Oracle Privileged Account Managerは、成功した操作と失敗した操作の両方に対してpostプラグインを実行します。postプラグインは、操作の成功または失敗のステータスなどの結果を検出しますが、操作はすでに終了しているため、結果を変更することはできません。Oracle Privileged Account Managerは、キューに入れられているpostプラグインをそれらのいくつかが失敗しても関係なくすべて実行します。1つのpostプラグインからの結果を別のものに渡すことはできません。
postプラグインを追加しても、操作にかかる時間が長くなることはありません。それは、操作の実行後までそれらが実行されないためです。
Oracle Privileged Account Managerサーバーは、特定のエンド・ユーザーのために明示的に構成された操作に対してプラグインを実行します。どのユーザーまたはグループにプラグインを実行するかまたはしないか、およびどの結果コードに対してpostプラグインが実行されるのかを決定するフィルタリング・ルールを構成できます。
注意: セキュリティ管理者管理ロールを持つ管理者のみが、フィルタリング・ルールを追加、編集または削除できます。
|
ユーザーおよびグループについて
ユーザーまたはグループを「有効」ユーザーまたはグループ・リストに追加することで、どのユーザーまたはグループに対してプラグインを実行するのかを指定できます。同様に、ユーザーまたはグループを「無効」ユーザーまたはグループ・リストに追加することで、どのユーザーまたはグループに対してプラグインを実行しないのかを指定できます。
Oracle Privileged Account Managerは、他のルールに比べてどのルールが優先されるのかを決定するため、次の順序でフィルタリング・ルールを評価します。
HTTP結果コード(postプラグインの場合)
「無効化」ユーザー
「有効化」ユーザー
「無効化」グループ
「有効化」グループ
一般に、ユーザー・レベルで定義されているルールは、グループ・レベルで定義されているものより優先されます。それは、ユーザー・レベル・ルールの方がより限定されているためです。ユーザー・レベル・ルールは、ユーザーのグループではなく、特定のユーザーを対象にします。
さらに、「無効」リストは「有効」リストより優先されます。
注意: 結果コードは、他のすべてのフィルタリング・ルールより優先されます。 |
たとえば、person1がAdministratorsグループのユーザーであるとします。person1を「無効」ユーザー・リストに、Administratorsを「有効」グループ・リストに入れると、Oracle Privileged Account Managerはperson1に対してプラグインを起動しません。サーバーは、「有効」グループ・リストを調べる前に「無効」ユーザー・リストを調べるためであり、ユーザーレベル・ルールがグループレベル・ルールより優先されるためです。
ただし、person1を「有効」ユーザー・リストに、Administratorsを「無効」グループ・リストに入れると、person1はプラグインを起動できます。「有効」ユーザー・チェックが「無効」グループ・チェックより前に実行されるためです。これらの4つのフィールドに値がない場合は、すべてのユーザーおよびグループがプラグインを起動できます。ただし、「有効」ユーザー・リストまたは「有効」グループ・リストに1人のユーザーまたは1つのグループが含まれている場合は、そのユーザーまたはグループのみがプラグインを起動できます。他のものはそのプラグインを起動できません。person1が「有効」ユーザー・リストの唯一のユーザーである場合、他のすべてのユーザーおよびグループはプラグインを起動できません。
注意: フィルタリング・ルール評価シーケンスは、一致したものが見つかると停止します。たとえば、フィルタが、アクションを実行しているユーザーに一致する有効化ユーザーを見つけた場合、そのフィルタリング・ステージは停止します。そのユーザーが「有効化」または「無効化」グループ・フィルタに存在しているかどうかは関係ありません。 |
結果コードについて
サーバーは、Oracle Privileged Account Managerの操作を実行した後、HTTPステータス整数(成功の場合は200、作成の場合は201、権限が不十分な場合は401など)が含まれるHTTPレスポンスを返します。
postプラグインに対して、1つ以上のHTTP結果コード値に基づくフィルタリング・ルールを構成できます。たとえば、結果コード200に対するフィルタリング・ルールを指定すると、サーバーは、結果ステータスが200である場合にのみそのpostプラグインを実行します。
注意: 結果コードは、他のすべてのフィルタリング・ルールより優先されます。 |
プラグイン構成の作成とは、プラグイン・リソース(アカウント、サーバーまたはターゲット)にそのプラグインに関する詳細を登録することを意味します。
注意: プラグインを作成するには、「アプリケーション構成者」管理ロールを持つOracle Privileged Account Manager管理者である必要があります。 新しいプラグイン構成を作成したときは、そのステータスは無効化されており、そのプラグインは実行できません。セキュリティ管理者管理ロールを持つ管理者のみが、プラグイン構成を有効にでき、どの条件下でこれらのプラグインを実行できるかを決定できます。 |
コンソールからプラグイン構成を作成する手順は、次のとおりです。
「構成」アコーディオンで「プラグイン構成」を選択し、「プラグイン構成の検索」ページを開きます。
検索結果表のツールバーにある「作成」をクリックします。
「プラグイン構成: タイトルなし」ページが表示されたら、「構成設定」セクションに次の情報を入力します。
パラメータ名 | 説明 |
---|---|
名前 |
新しいプラグイン構成の名前を入力します。 |
説明 |
このプラグイン構成の説明を入力します。 |
ステータス |
次のオプションの1つを選択することで、実行時のプラグインの実行ステータスを構成するためのオプションを有効化します。
|
リソース・タイプ |
プラグインが実行されるリソースのタイプを選択します。
|
操作 |
プラグインによって実行される操作を選択します。 注意: サポートされている操作の完全なリストは、第11.2.7項「サポートされている操作とタイミング」を参照してください。 |
タイミング |
次のオプションの1つを選択することで、プラグインをOracle Privileged Account Managerによっていつ実行するのかを指定します。
注意: 詳細は、第11.2.7項「サポートされている操作とタイミング」を参照してください。 |
順序 |
他のプラグインとの関係で、プラグインを実行のためにキューに入れる順序を指定する値を入力します。たとえば、プラグイン1は、プラグイン2の前に実行されます。(最小は1です) |
タイムアウト |
プラグインを実行できる最大期間(秒単位)を示す値を指定します。プラグインの実行がこのタイムアウト期間を超えた場合、Oracle Privileged Account Managerによってそのプラグインの実行が強制終了されます。(デフォルトは 注意: 詳細は、第11.2.7項「サポートされている操作とタイミング」を参照してください。 |
プラグイン・クラス名 |
プラグインのインタフェースを実装するJavaクラスの名前を入力します。 |
プラグイン・バージョン |
プラグインのJavaバージョン番号を入力します。 注意: Oracle Privileged Account Managerは、実際にはそのプラグイン・バージョンを使用しません。Oracle Privileged Account Managerでは、かわりにプラグインのディレクトリにリストされているJARファイルが使用されます。 |
プラグインJARファイルが配置されているJavaクラスパスを構成するには、次のように「クラスパス」セクションを使用します。
クラスパスを追加するには、「追加」をクリックします。
新しい行が表に表示されたら、その空白のフィールドにJavaクラスパスを入力します。次に例を示します。
/u01/plugins/emailplugin.jar
注意: 指定したクラス・パス・ファイルにOracle Privileged Account Managerサーバー・プロセスがアクセスできることが必要です。ローカル・ファイル・システム、ネットワーク・ファイル・システムなどどのようなタイプの場所も指定できます。 |
クラスパスを削除するには、表内でそのクラスパスの行を選択し、「削除」をクリックします。
プラグインに対してカスタム属性を構成するには、次のように「カスタム属性」セクションを開いて使用します。
属性を追加するには、「追加」をクリックします。
新しい行が表に表示されたら、属性名および値をそれらの空白のフィールドに入力します。たとえば、電子メール通知プラグインの場合、abc@abc.com
という値を持つnotificationemail
属性を作成します。
カスタム属性を削除するには、表内でその属性の行を選択し、「削除」をクリックします。
Oracle Privileged Account Managerによってプラグインがいつ実行されるのかを決定するフィルタリング・ルールを構成するには、次のように「フィルタ・ルール」セクションを開いて使用します。
注意: フィルタ・ルールを追加、編集または削除するには、セキュリティ管理者管理ロールを持つOracle Privileged Account Manager管理者である必要があります。 Oracle Privileged Account Managerでのフィルタリング・ルールの使用方法の詳細は、第11.2.8項「フィルタリング・ルール」を参照してください。 |
「ユーザー」または「グループ」セクションを開き、どのユーザーまたはグループに対してサーバーがプラグインを起動できるまたはできないのかを指定します。
「有効」タブまたは「無効」タブを選択して、「追加」をクリックします。
「追加」ダイアログが表示されたら、名前の1つ以上の文字を「ユーザー名」フィールドまたは「グループ名」フィールドに入力し、「検索」をクリックします。
検索結果が表示されたら、目的の行を選択し、「追加」をクリックします。
成功メッセージが、検索結果リストの上に表示されます。
ユーザーまたはグループの選択および追加を終了するまで続けてから、「閉じる」をクリックします。
「結果コード」セクションを開き、1つ以上の結果コードに基づいたフィルタリング・ルールをpostプラグインに対して構成します。
注意: preプラグインに対して結果コードは構成できません。 |
「追加」をクリックします。
新しい「HTTP結果コード」行が表示されたら、空白フィールドに有効化HTTPレスポンス・コードを入力します。たとえば、200
と入力すると、レスポンス・ステータスがリクエスト成功である場合にpostプラグインが実行されます。
フィルタ・ルールを削除するには、該当する表でそのルールの行を選択し、「削除」をクリックします。
必要なプラグイン構成パラメータをすべて設定したら、「テスト」をクリックしてその構成が有効であることを確認します。
このテストでは、Oracle Privileged Account Managerがその構成済プラグインをロードできるかどうかと、それによって必要なプラグイン・インタフェースが実装されるかどうかがチェックされます。テストによって、誤ったファイル・パスで構成されているプラグインJAR、誤ったインタフェースを実装するプラグイン、postプラグイン・インタフェースを実装するpreプラグイン、またはその逆など一般的な問題が検出されます。
このテストでは、プラグインが実行されることも、プラグイン・カスタム属性(カスタム・プラグイン・ロジック自体によってのみ使用される)が検証されることもありません。
構成が有効な場合、Test Succeeded
というメッセージが表示されます。
「保存」をクリックし、新しい構成を作成します。
プラグインGUIDは自動的に割り当てられます。これは「構成設定」セクションに表示されます。
次のパラメータを1つ以上使用することでプラグイン構成を検索できます。
名前
説明
リソース・タイプ(All、account、serverまたはtarget)
ステータス(All、ActiveまたはDisabled)
タイミング(All、preまたはpost)
操作(All、accountpasswordchange、add、autocheckin、checkin、checkout、passwordcycle、remove、resetpassword、retrieve、sessioncheckout、showpassword、showpasswordhistory、testまたはupdate)
注意: プラグインを検索および表示するには、セキュリティ管理者管理ロールまたは「アプリケーション構成者」管理ロールを持つOracle Privileged Account Manager管理者である必要があります。 |
プラグインを検索する手順は、次のとおりです。
「構成」アコーディオンで、「プラグイン構成」を選択します。
「プラグイン構成」ページが表示されたら、検索ポートレット・パラメータを使用して検索を構成します。
たとえば、すべてのアクティブなプラグインのリストを検索するには、「ステータス」メニューから「アクティブ」を選択します。
使用可能なすべてのプラグインを検索する場合は、検索パラメータを指定しません。
「検索」をクリックします。
「検索結果」表で検索結果を確認します。これには、すべての検索フィールドの列とプラグインの順序の列が含まれています。
別の検索を実行するには、「リセット」をクリックします。
プラグインを開いて、そのプラグインの構成パラメータを表示または編集できます。
注意: プラグインを表示するには、セキュリティ管理者管理ロールまたは「アプリケーション構成者」管理ロールを持つOracle Privileged Account Manager管理者である必要があります。 |
プラグインを開くには、「プラグイン構成」ページを開き、次のアクションの1つを実行します。
検索結果表のプラグイン名(アクティブ・リンク)をクリックします。
プラグインの行を選択して「開く」をクリックします。
プラグイン構成: プラグイン名ページが開き、そこで、プラグインの構成設定、カスタム属性、ユーザーまたはグループ、および現在のステータス(アクティブまたは無効)にアクセスできます。
これらの設定のいずれかを編集した場合は、「テスト」をクリックして変更を検証します。Test Succeeded
メッセージが表示されたら、「保存」をクリックします。