プロビジョニング・システムの主な目的は、ユーザーによって送信されたリクエストを管理し、ユーザーに対してリソースをプロビジョニングすることです。リクエストの実行には、関連する承認プロセスの実行も含まれます。承認プロセスは、SOAサーバーで実行されるサービス指向アーキテクチャ(SOA)コンポジットとしてデプロイされます。リクエスト・サービスによって、このような承認プロセスが実行され、管理されます。図23-1「リクエスト・サービスとSOAの統合」に、リクエスト・サービスとSOAの統合を示します。
Oracle Identity ManagerとSOAサーバーの間の相互作用について、次の手順で説明します。
ユーザーは、Oracle Identity Managerセルフ・サービスを使用してリクエストを作成します。Oracle Identity Managerでサポートされているすべてのリクエスト・タイプのうち、任意のタイプのリクエストを作成できます。
リクエスト・サービスによって承認ポリシーが評価され、インスタンス化されるSOAコンポジットが選択されます。
注意: このコンポジットは、リクエストの送信時に開始されるようにOracle Identity Managerに登録されている必要があります。Oracle Identity Managerでの登録ワークフローの詳細は、「SOAコンポジットのOracle Identity Managerへの登録」を参照してください。 |
リクエスト・サービスがSOAサーバーに接続して、選択されたSOAコンポジットをインスタンス化します。SOAサーバーで選択されているコンポジット・インスタンスをインスタンス化します。
SOAコンポジットの実行が開始され、ヒューマン承認タスクが承認用に割り当てられます。
承認者がOracle Identity Managerセルフ・サービス・コンソールの「タスク・リスト」にログインして、リクエストを承認します。
承認後にコンポジット・インスタンスの実行が完了し、リクエスト・サービスに通知されます。
リクエスト・サービスによってリクエストが次のステージに移動します。
この章の内容は、次のとおりです。
承認プロセスとして使用できる新規SOAコンポジットを作成するには、次の手順を実行します。
SOAコンポジットを承認プロセスとして使用するには、SOAコンポジットが特定の基準に準拠している必要があります。このような基準によって、リクエスト・サービスはコンポジットを適切にインスタンス化し、管理できます。基準は、次のとおりです。
次の属性はBPELプロセスに必須です。
タイプが文字列のRequestID
タイプが文字列のRequestModel
タイプが文字列のRequestTarget
タイプが文字列のURL
XML要素のRequesterDetails
XML要素のBeneficiaryDetails
XML要素のObjectDetails
XML要素のOtherDetails
RequestID、RequestModel、RequestTargetおよびURL属性には、常に、すべてのタイプのリクエストの有効な値が設定されます。
RequesterDetailsはXML要素です。この要素には、認証を必要とするすべてのリクエストの有効な値が入力されます。タイプが自己登録ユーザーのリクエストは、リクエスタが匿名ユーザーのため、リクエスタの詳細が空です。
BeneficiaryDetailsはXML要素です。この要素には、「リソースのプロビジョニング」、「ロールの割当て」など、受益者があるすべてのリクエストの有効な値が入力されます。この要素には、リクエストが1人の受益者に関連している場合にのみ入力されます。リクエストが複数の受益者に関連している場合、BeneficiaryDetailsは空になります。BeneficiaryDetails要素には、常に、受益者がある単純リクエストおよび子リクエストの有効な値が設定されます。このため、承認の操作レベルで承認プロセスとして使用されるSOAコンポジットでこのXML要素を使用することをお薦めします。これは、承認の操作レベルでは、リクエストが1人の受益者にのみ関連付けられているためです。
ObjectDetailsはXML要素です。この要素には、リソース・エンティティに関連付けられているすべてのリクエストの有効な値が入力されます。この要素には、リクエストが1つのリソースに関連している場合にのみ入力されます。リクエストが複数のリソースに関連している場合、ObjectDetailsは空になります。ObjectDetails要素には、常に、リソースに関連付けられている単純リクエストおよび子リクエストの有効な値が設定されます。このため、承認の操作レベルで承認プロセスとして使用されるSOAコンポジットでこのXML要素を使用することをお薦めします。これは、承認の操作レベルでは、リクエストが1つのリソースにのみ関連付けられているためです。
BPELプロセスに必須のすべての属性は、RequestDetails.xsdおよびApprovalProcess.xsdから参照されます。これらのファイルは、変更または削除できないテンプレートSOAコンポジットにあります。
Oracle Identity Managerでは、カスタムSOAコンポジットを作成するヘルパー・ユーティリティが提供されます。このユーティリティでは、必要な基準のすべてに準拠したテンプレートSOAプロジェクトが作成されます。このユーティリティは、OIM_HOME/workflows/new-workflowディレクトリに配置されています。
注意:
|
ヘルパー・ユーティリティを実行してカスタムSOAコンポジットを作成するには、次の手順を実行します。
次のコマンドを実行します。
cd OIM_HOME/workflows/new-workflow
ant -f new_project.xml
次のプロンプトが表示されたら、JDeveloperアプリケーション名を入力します。
Please enter application name
次のプロンプトが表示されたら、JDeveloperプロジェクト名を入力します。
Please enter project name
次のプロンプトが表示されたら、コンポジットのADFバインディング・サービスの名前を入力します。
Please enter the service name for the composite. This needs to be unique across applications
OIM_HOME/workflows/new-workflow/process-template/ディレクトリに新規アプリケーションが作成されます。新規アプリケーションは、JDeveloperで開いて変更できます。
テンプレートSOAコンポジットのヒューマン・タスクは、ヒューマン・タスクの割当て先に通知を送信するよう構成されています。作成されたカスタム・コンポジットでは、要件に応じて通知メッセージを変更できます。承認者に送信されるすべての通知は、SOAコンポジットで構成する必要があります。通知を送信するようにOracle SOAサーバーを構成する方法は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のOracle User Messaging Serviceの構成に関する説明を参照してください。
テンプレートSOAコンポジットのヒューマン・タスクは、SYSTEM ADMINISTRATORSロールに割り当てられるよう構成されています。
BPELへのワークフロー・コンポジットのデプロイの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。
注意: コンポジットがSOAで再デプロイされる場合、コンポジットによって開始されたOracle Identity Managerの保留中のすべての承認が失効となり、ユーザーのTaskListから削除されます。既存のSOAコンポジットのデプロイの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のOracle JDeveloperでの既存のSOAアーカイブのデプロイに関する説明を参照してください。 |
Oracle Identity Managerとの通信でSSLモードを使用している場合は、次を実行する必要があります。
注意: 非SSL接続の場合は、この項をスキップしてください。 |
TRUSTSTORE_LOCATION環境変数を設定します(TRUSTSTORE_LOCATIONは信頼できるキー・ストア・ファイルの場所です)。
t3プロトコルではなくt3sプロトコルを使用します。たとえば、Oracle Identity ManagerのURLは次のようになります。
t3s://HOST_NAME:PORT
SOAコンポジットはOracle Identity Managerに登録してから、承認プロセスとして使用する必要があります。SOAコンポジットをOracle Identity Managerに登録するには、次の手順を実行します。
次の内容を含めたCOMPOSITE_NAME.propsプロパティ・ファイルをOIM_HOME/workflows/registration/ディレクトリに作成します。
name=COMPOSITE_NAME category=Approval providerType=BPEL serviceName=REQUEST_APPROVAL_SERVICE domainName=DOMAIN version=REVISION_ID payLoadID=PAYLOAD operationID=OPERATION_ID listOfTasks=HUMAN_TASK_NAMES
内容は次のとおりです。
COMPOSITE_NAMEをcomposite.xmlファイルに指定されているSOAコンポジットの名前で置き換えます。
REQUEST_APPROVAL_SERVICEをコンポジットで公開されているサービスの名前で置き換えます。このサービスは、承認用のコンポジットのインスタンス化時に起動します。
OPERATION_IDをserviceNameプロパティに指定されているサービスで起動される操作の名前で置き換えます。
PAYLOADをoperationIDプロパティの値として指定されている操作のパート名で置き換えます。
REVISION_IDをcomposite.xmlファイルに指定されているSOAコンポジット・リビジョンで置き換えます。
DOMAINをコンポジットがデプロイされるSOAパーティションの名前で置き換えます。デフォルトでは、SOAには、defaultという名前のパーティションが1つあります。
HUMAN_TASK_NAMESをSOAコンポジットに関連付けられている承認タスクの名前で置き換えます。名前はコロン(:)で区切ります。
注意: プロパティ・ファイルに余分なスペースを追加しないでください。 |
OIM_HOME/workflows/registration/ディレクトリから次のコマンドを実行します。
注意:
|
ant -f registerworkflows-mp.xml register
要求されたら、Oracle Identity Manager管理者のユーザー名を入力します。
要求されたら、Oracle Identity Manager管理者のパスワードを入力します。
注意: Oracle Identity Managerの管理者資格証明を使用してSOAサーバーにログインするときに、Oracle Identity Managerでチャレンジ質問および回答とパスワードがリセットされていない場合は、ログイン試行が失敗します。Oracle Identity Managerに最初にログインするときに、チャレンジ質問および回答とパスワードをリセットする必要があります。 |
要求されたら、Oracle Identity Managerサーバーのt3 URLを入力します。
要求されたら、手順1で作成したプロパティ・ファイル名の完全パスを入力します。
承認プロセスとして使用できる既存のSOAコンポジットを変更するには、次の手順を実行します。
注意: SOAコンポジットの変更では、ヒューマン・タスクを追加または削除してから、次の手順を実行します。
|
JDeveloperを使用して、SOAコンポジットを変更できます。デフォルトのSOAコンポジットを変更する場合は、表25-1に示すパスの各JDeveloperプロジェクトにアクセスできます。
表25-1 デフォルトのSOAコンポジットの場所
SOAコンポジット | パス |
---|---|
BeneficiaryManagerApproval |
OIM_HOME/workflows/composites/BeneficiaryManagerApproval.zip |
DefaultOperationalApproval |
OIM_HOME/workflows/composites/DefaultOperationalApproval.zip |
DefaultRequestApproval |
OIM_HOME/workflows/composites/DefaultRequestApproval.zip |
DefaultRoleApproval |
OIM_HOME/workflows/composites/DefaultRoleApproval.zip |
ResourceAuthorizerApproval |
OIM_HOME/workflows/composites/ResourceAuthorizerApproval.zip |
ResourceAdministratorApproval |
OIM_HOME/workflows/composites/ResourceAdministratorApproval.zip |
RequesterManagerApproval |
OIM_HOME/workflows/composites/RequesterManagerApproval.zip |
DefaultSODApproval |
OIM_HOME/workflows/composites/DefaultSODApproval.zip |
JDeveloperを使用してOracle SOA Suiteのアプリケーションを構築する方法の詳細は、『Oracle® Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。
Oracle Identity ManagerでSOAコンポジットを無効にするには、OIM_HOME/workflows/new-workflow/ディレクトリに配置されているregisterworkflows-mpユーティリティを使用します。
注意:
|
Oracle Identity ManagerでSOAコンポジットを無効にするには、次の手順を実行します。
コマンド・プロンプトを使用して、OIM_HOME/workflows/registration/ディレクトリに移動します。
次のコマンドを実行します。
ant -f registerworkflows-mp.xml disable
ユーザー名の入力を要求されたら、Oracle Identity Manager管理者のユーザー名を入力します。
パスワードを入力するように要求されたら、Oracle Identity Manager管理者のパスワードを入力します。
サーバーのt3 URLの入力を要求されたら、t3://localhost:7001など、Oracle Identity Managerサーバーのt3 URLを入力します。
ワークフローのドメインを指定します。デフォルトでは、default
ドメインに設定されています。
ワークフローの名前を入力するように要求されたら、SOAコンポジット名を入力します。
ワークフローのバージョンを入力するように要求されたら、SOAコンポジット・バージョンを入力します。
BPELへのワークフロー・コンポジットのデプロイの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。
Oracle Identity ManagerでSOAコンポジットを有効にするには、次の手順を実行します。
注意:
|
次のコマンドを実行します。
ant -f registerworkflows-mp.xml enable
「Oracle Identity ManagerでのSOAコンポジットの無効化」の手順3から8を実行します。