ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Identity Manager開発者ガイド
11g リリース1(11.1.1)
B66705-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

24 Oracle SOA Suiteにおける承認プロセス開発の理解

ワークフローベースのプロビジョニングはOracle Identity Managerの主要機能であり、この機能を使用すると、組織でユーザー・アクセスを管理するビジネス・プロセスを自動化できます。Oracle Identity Managerでは、Oracle Service-Oriented Architecture(SOA)Suiteによって有効化され管理されているサービスを利用し、ユーザー・アクセスを要求、承認および管理する相互作用環境を提供しています。Oracle SOA Suiteにより、SOAを実装するために必要なバックエンド・サービスと管理機能が提供されます。

Oracle Identity Managerでは、SOA Suiteの次のコンポーネントを使用します。

この章には次の項が含まれます:

24.1 Oracle SOA Suiteとの統合

Oracle Identity Managerにおいて、SOAコンポジットは承認プロセスとして使用されます。Oracle Identity ManagerとOracle SOA Suiteとの統合については、次の項で説明します。

24.1.1 統合の要件

Oracle Identity Managerに対してSOAコンポジットを開発する前に、推奨される要件は次のとおりです。

  • XMLおよびXPathの知識。

  • Oracle Identity Manager APIの知識。

  • SOAコンポジットの開発およびデプロイの知識。詳細は、第25章「SOAコンポジットの開発」を参照してください。

  • JDeveloperおよびSOAコンポジット・エディタの使用の知識。JDeveloper IDEの使用の詳細は、次のURLでJDeveloperの一連のチュートリアルを参照してください。

    http://www.oracle.com/technetwork/developer-tools/jdev/overview/index.html


    関連項目:

    Oracle SOA Suiteの使用の詳細は、Oracle Fusion Middleware Oracle SOA Suiteを使用したアプリケーションの実行と構築のためのチュートリアルを参照


24.1.2 統合コンポーネント

Oracle Identity MangerとOracle SOA Suiteの統合は、次のコンポーネントで構成されています。

  • Oracle Identity Managerのインストールに付随するSOA Suiteのインストール。

  • 1つ以上のSOAコンポジット。Oracle Identity Managerに付属するデフォルトのコンポジットを拡張することも、独自のコンポジットを開発することもできます。


    関連項目:

    SOAコンポジットの開発の詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。


  • 次の構成要素を含むSOAコンポジット。

    • リクエスト・ペイロード

      Oracle Identity Managerにより、リクエストの詳細がSOAコンポジットにXMLを使用して通知されます。これをペイロードと呼びます。SOAコンポジットでは、ペイロードのすべてまたは一部を使用して、承認プロセスで次に実行する手順を決定します。ペイロードの形式は固定されています。

    • Oracle Identity Manager APIコール(オプション)

      Oracle Identity Managerでは、ペイロードが小さくなるよう維持し、かつセキュリティを確実にするために、最も重要な情報のみをSOAコンポジットに通知します。ビジネス・プロセスに追加データが必要な場合は、Java埋込みステップを使用して、リクエスタ、受益者またはリクエスト内容に関する詳細を取得できます。Oracle Identity Manager APIを呼び出す方法の詳細は、第31章「APIの使用」を参照してください。

    • 1つ以上のヒューマン・タスク

      ヒューマン・タスクとは、承認という形式での手動操作が必要なビジネス・プロセス全体におけるステップのことです。ヒューマン・タスクはシリアル、パラレルまたはその両方を組み合せた複数のステップで構成でき、この場合、タスクは1人以上のユーザー、ロールまたはその両方の組合せに対して割り当てられます。これらのヒューマン・タスクを定義して、通知、締切りおよびエスカレーション・ルールを追加できます。ヒューマン・タスクの設計方法の詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。


      注意:

      多くの承認シナリオでは、コンポジットに含まれるヒューマン・タスクは1つのみです。一部のインスタンスでは、Oracle Business Rulesを使用することによってルーティング・ルールが満たされない場合、追加のヒューマン・タスクが必要となる場合があります。たとえば、リソース・リクエスト・タイプに対するコンポジットには複数のヒューマン・タスク(リソースごとに1つ)が含まれます。ベスト・プラクティスとして、承認ルールを簡素化し、コンポジットやヒューマン・タスクの再利用を促進する必要があります。


    • 1つ以上のルールセット

      リクエストの実行時に満たす必要がある特定のビジネス要件があります。SOAコンポジットでは、これらの要件を満たすためにOracle Business Rulesを利用します。Oracle Business Rulesを使用して開発されたルールの集合をルールセットと呼びます。コンポジットには1つ以上のルールセットを含めることができます。ヒューマン・タスクでこれらのルールを利用して、参加者およびタスクのルーティングを決定することもできます。ヒューマン・タスクの設計方法の詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

  • 動作保証されているJDeveloperのバージョン(JDeveloper 11.1.1.3など)。

  • SOAデザインタイム(JDeveloperのSOAコンポジット・エディタ拡張機能とも呼ばれます)。

24.2 事前定義済SOAコンポジット

表24-1に、承認プロセスとして使用可能なOracle Identity Managerにおける事前定義済SOAコンポジットを示します。

表24-1 事前定義済ワークフロー・コンポジット

ワークフロー・コンポジット 説明

DefaultRequestApproval

デフォルトのリクエスト・レベルの承認。デフォルトでは、リクエスト・レベルの承認の場合、システム管理者(xelsysadm)に送信されます。

DefaultOperationalApproval

デフォルトの操作レベルの承認。デフォルトでは、操作レベルの承認の場合、承認タスクはシステム管理者(xelsysadm)に割り当てられます。

BeneficiaryManagerApproval

受益者のマネージャから承認を取得します。これは次のものと関連付けることができます。

  • 受益者を含むリクエスト・タイプ。このようなリクエスト・タイプの例としては、「リソースのプロビジョニング」や「ロールの割当て」があげられます。

  • ユーザーの作成およびユーザーの自己登録を除くすべてのユーザー・モデル。

リクエスト・レベルでは、リクエストに複数の受益者が存在する可能性があるため、このコンポジットは、承認の操作レベルで関連付けられる必要があります。

DefaultRoleApproval

このSOAコンポジットにより、承認のためにSYSTEM ADMINISTRATORSロールに割り当てられる単一の承認タスクが作成されます。

RequesterManagerApproval

このSOAコンポジットにより、承認のためにリクエスタのマネージャに割り当てられる単一の承認タスクが作成されます。

注意: これは、承認されていないリクエスト・タイプ(「自己登録ユーザー」など)に関連付けることはできません。

ResourceAdministratorApproval

このSOAコンポジットにより、承認のためにSYSTEM ADMINISTRATORSロールに割り当てられる単一の承認タスクが作成されます。これは、リソースに関連するリクエスト・タイプに関連付けられる必要があります。このコンポジットは承認の操作レベルで使用されます。

ResourceAuthorizerApproval

このSOAコンポジットにより、承認のために(優先度が最も高い)リソース認可者に割り当てられる単一の承認タスクが作成されます。これは、リソースに関連するリクエスト・タイプに関連付けられる必要があります。このコンポジットは承認の操作レベルで使用されます。

DefaultSODApproval

このSOAコンポジットにより、システム管理者に割り当てられる承認タスクが作成され、SoDチェックが開始されて、SoDの結果が使用可能になると、SoD管理者ロールに割り当てられる別の承認タスクが作成されます。これは、SoDチェックの必要に応じて、操作レベルでリソースをプロビジョニングまたは変更するリクエスト・タイプに関連付けられる必要があります。



注意:

これらのデフォルトのコンポジットにおけるヒューマン・タスクは、このヒューマン・タスクの割当て先に通知を送信するよう構成されています。

電子メール通知を送信するためのOracle SOAサーバーの構成については、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のOracle User Messaging Serviceの構成に関する説明を参照してください。


表24-1に示すSOAコンポジットに加えて、SOAではAutoApprovalコンポジットを使用できます。ただし、Oracle Identity ManagerからSOAへのラウンド・トリップを回避するために、ユーザーはAutoApprovalコンポジットを使用するのではなく、「自動承認」オプションを選択することをお薦めします。これは、承認ポリシーにおいてユーザーが「自動承認」オプションを選択した場合、承認ポリシーと一致するリクエストがOracle Identity Managerで自動承認されるためです。承認がSOAへ送信されて返されることがなくなります。ただし、承認ポリシーにおいてユーザーが承認プロセスとしてAutoApprovalを選択した場合は、承認ポリシーと一致するリクエストに対してAutoApprovalコンポジットがSOAで開始され、レスポンス「承認」が即時にOracle Identity Managerに返されます。

24.3 Oracle Identity Managerに対する承認プロセスの開発

Oracle Identity Managerに対して承認プロセスを開発するには、次の手順を実行します。


注意:

Oracle Identity Managerに対する承認プロセスの開発の一部として、リクエスト・データセットを作成し、このリクエスト・データセットをMDSにアップロードして、リクエスト・テンプレートを作成または使用し、承認ポリシーを作成する必要があります。詳細は、第23章「リクエストの構成」を参照してください。


  1. new_project.xmlユーティリティを使用して、JDeveloperワークスペースを作成します。このユーティリティはOIM_HOME/workflows/new-workflow/ディレクトリにあります。詳細は、「新規SOAコンポジットの作成」を参照してください。

  2. JDeveloperワークスペースを開き、必要に応じて、BPELプロセスおよびヒューマン・タスクを変更します。

  3. 次の方法のいずれかによりコンポジットをデプロイします。

    • SOAデプロイヤを使用してコンポジットを直接デプロイする方法。『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のSOAコンポジット・アプリケーションのデプロイに関する説明を参照してください。

    • 環境間でSOAコンポジット・アプリケーションを移動する方法。『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』の開発、テストおよび本番環境間のSOAコンポジット・アプリケーションの移動に関する説明、およびOracle Fusion Middleware Oracle SOA Suite管理者ガイドのSOAコンポジット・アプリケーションの管理に関する説明を参照してください。

24.4 Oracle Identity ManagerのSOAコンポジットの監視

Oracle Identity ManagerのSOAコンポジットは、Oracle Enterprise Manager Fusion Middleware Controlコンソールを使用して管理および監視されます。デプロイされているSOAコンポジットの管理および監視の詳細は、Oracle Fusion Middleware Oracle SOA Suite管理者ガイドを参照してください。

24.5 Oracle Identity ManagerからSOAへの接続の有効化

Oracle Identity Managerは、デフォルトでweblogicというユーザー名を使用して、SOA管理者としてSOAに接続します。Oracle WebLogic Serverドメインの作成中に、指定されたユーザー名がこれ以外の名前である場合、Oracle Identity ManagerはSOA管理者としてSOAに接続できません。Oracle Identity ManagerがOracle WebLogic Server管理者ユーザーを使用して、SOAに問題なく接続できるようにするには、次のインストール後の手順を実行します。

  1. 次のURLを使用してEnterprise Managerにログインします。

    http://ADMINSERVER_HOST:ADMINSERVER_PORT/em

  2. 「Identity and Access/oim(11.1.1.3.0)」を右クリックして、「システムMBeanブラウザ」を選択します。

  3. アプリケーション定義のMBeanで「oracle.iam」を展開し、「サーバー: OIM_SERVER_NAME「アプリケーション: oim」XML構成「構成」「XMLConfig.SOAConfig」を選択してから、「SOAConfig Mbean」を選択します。

  4. 「ユーザー名」属性を表示します。デフォルトでは、この属性の値はweblogicです。これを正しいOracle WebLogic Server管理者のユーザー名に変更します。

  5. 「適用」をクリックします。

  6. Oracle Identity Managerデプロイメント内のOIM_ORACLE_HOME/common/bin/ディレクトリに移動します。

  7. 次のコマンドを実行して、WebLogicスクリプト・ツール(WLST)を起動します。

    ./wlst.sh
    
  8. プロンプトで、「connect()」と入力します。プロンプトが表示されたら、Oracle WebLogic Serverのユーザー名、パスワードおよび管理サーバー接続文字列を入力します。

  9. デフォルトのSOA管理者ユーザー名およびパスワードの資格証明をCSFから削除するには、次のコマンドを実行します。

    deleteCred(map="oim", key="SOAAdminPassword");
    
  10. SOA管理者としてSOAに接続するためにOracle Identity Managerで使用する新しい資格証明を作成するには、次のコマンドを実行します。

    createCred(map="oim", key="SOAAdminPassword", user="xelsysadm",password="ADMINISTRATOR_PASSWORD");
    

    ADMINISTRATOR_PASSWORDのかわりに実際のパスワードを指定します。

  11. 次のコマンドを実行して、正しい値がシード値として割り当てられていることを確認します。

    listCred(map="oim", key="SOAAdminPassword");
    
  12. 次のコマンドを実行して、WLSTシェルを終了します。

    exit()
    
  13. 管理者のログイン資格証明を使用して、Oracle Identity Manager管理およびユーザー・コンソールにログインします。

  14. Oracle WebLogic Server管理者のユーザー名と同じログインIDを持つ新規ユーザーを作成します。

  15. 管理者ロールを検索します。ロールの詳細を開いて、「メンバー」タブをクリックします。

  16. このロールの既存メンバーをすべて削除します。

  17. 新規作成したユーザーをこのロールのメンバーとして追加します。

  18. このロールに含まれるメンバーが1人のみであることを確認します。このメンバーは、手順14で作成したユーザーである必要があります。

  19. Oracle Identity Managerの管理対象サーバーを再起動します。