ヘッダーをスキップ

Oracle Identity Manager Toolsリファレンス
リリース9.1.0.2

B56035-01
目次
目次
索引
索引

戻る 次へ

12 SPML Webサービス

この章では、Oracle Identity ManagerのSPML Webサービス・インタフェースについて説明します。

この章の次の項では、SPML Webサービスの基本情報を提供します。

SPML Webサービスをデプロイするには、次の項のいずれかで説明されている方法を参照してください。

次の項では、SPML Webサービスのデプロイ後に実行する手順について説明します。

次の項では、SPML Webサービスのクライアントを開発する際の手順の概要を説明します。

12.1 SPML Webサービスの概要

組織には、ユーザー・レコードの変更情報を交換するプロビジョニング・システムが複数ある場合があります。また、複数のプロビジョニング・システムとのやりとりをするアプリケーションがある場合もあります。コネクタによって、2つのプロビジョニング・システム間、またはアプリケーションとプロビジョニング・システムとの間のやりとりが可能になり、各アプリケーションと他のアプリケーションとの同期がとられます。しかし、これらのシステムの組合せごとにカスタム・コネクタを構成するのは、多くのコストを必要とします。

この問題の解決策は、これらのすべてのシステムで理解される1つの共通言語またはプロトコルのアプリケーションです。それはSPMLです。

SPML Webサービスは、SPMLリクエストを解釈し、これをOracle Identity Managerコールに変換するためのOracle Identity Manager上の層です。

関連項目:

SPML v2.0仕様の詳細は、次のWebページを参照してください。

http://www.oasis-open.org/specs/index.php#spmlv2.0 

SPML Webサービスでは、インバウンド・プロビジョニング・リクエストのみがサポートされます。リコンシリエーション・イベントが生成されないため、リコンシリエーションはサポートされません。たとえば、リソースをOIMユーザーにプロビジョニングするリクエストをし、ここでリソースのプロセス・フォームと子表へのデータの移入が必要な場合、このリクエストはサポートされません。これは、SPML Webサービスでリソース・オブジェクトに関連付けられている情報が認識されないためです。


注意:

アウトバウンド・プロビジョニング・リクエストは、SPMLプロビジョニング・フォーマット・プロバイダを含む汎用テクノロジ・コネクタを使用して送信されます。汎用テクノロジ・コネクタの詳細は、『Oracle Identity Manager管理およびユーザー・コンソール・ガイド』を参照してください。 


12.1.1 SPML Webサービスの機能のアーキテクチャ

SPML Webサービスでは、SOAPメッセージの形でSPMLリクエストが送受信されます。SPMLモデルは、エンドツーエンド・プロビジョニング・シナリオに含まれる次のエンティティで構成されます。

SPMLプロトコルの実装により、プロビジョニング・リクエストの信頼できる交換、およびより複雑なアプリケーションレベルでのプロビジョニング機能を構築する基となるモデルが提供されます。SPMLは、プロビジョニング・システムによって使用される管理リクエストを交換し、アイデンティティを管理および制御する言語です。

図12-1に、SPML Webサービスの機能のアーキテクチャを示します。

図12-1    SPMLアーキテクチャ


画像の説明

プロビジョニング・アプリケーションは、RA、PSP両方の役割を担えます。次のようなシナリオを考えてみてください。

PSPとしてのプロビジョニング・アプリケーション

このシナリオでは、クライアント・アプリケーションで、プロビジョニング・アプリケーションへSPMLリクエストが送信されます。プロビジョニング・アプリケーションでリクエストが実行され、クライアント・アプリケーションにSPMLレスポンスが返されます。リクエストとレスポンスの交換は、同期、非同期のいずれでも行われます。これは、通常、インバウンド・シナリオと呼ばれます。Oracle Identity Managerでは、これはSPML Webサービスにより実行されます。

RAとしてのとしてプロビジョニング・アプリケーション

このシナリオでは、プロビジョニング・アプリケーションはSPMLクライアントの役割を担い、リSPMLリクエストをPSTに送信し、PSTがリクエストを実行してSPMLレスポンスを返します。リクエストとレスポンスの交換は、同期でも非同期でも行われます。これは、通常、アウトバウンド・シナリオと呼ばれます。Oracle Identity Managerでは、これは、SPMLフォーマット・プロビジョニング・プロバイダを含む汎用テクノロジ・コネクタにより実行されます。

RAおよびPSPとしてのプロビジョニング・アプリケーション


注意:

この機能は、Oracle Identity Managerリリース9.1.0ではサポートされていません。 


このシナリオでは、クライアント・アプリケーションから、プロビジョニング・アプリケーションへSPMLリクエストが送信されますが、そこではリクエストを実行できません。そこで、プロビジョニング・アプリケーションでは、リクエストを実行でき、SPMLレスポンスを返すプロビジョニング・ターゲットへリクエストを転送します。その後、プロビジョニング・アプリケーションでは、クライアント・アプリケーションにSPMLレスポンスを返します。リクエスト/レスポンス/リクエストの交換は、同期でも非同期でも行われます。

12.2 SPML Webサービスでサポートされているプロビジョニング処理

SPML Webサービスでは、SPML v2.0仕様で規定された最低準拠基準を満たす機能がサポートされます。この項では、SPML Webサービスでサポートされる各種処理について説明します。


注意:

SPML Webサービスでは、UTF-8エンコーディングのリクエストのみがサポートされます。 


プロビジョニング・ターゲットでは、エンティティ(ユーザー、グループ、組織)を一意に識別するためにpsoIDを使用できます。Oracle Identity Managerでは、エンティティの指定に、オブジェクト・クラスとエンティティ・キーの組合せが必要です。エンティティ・キーは、Oracle Identity Managerでエンティティを作成すると返されるデータベース・キーです。Oracle Identity ManagerでのpsoIDの形式は次のとおりです。

objectclass:entitykey

たとえば、オブジェクト・クラスがUsers、エンティティ・キーが3とします。この場合、指定するpsoIDは、 Users:3です。

SPML Webサービスでは、次のプロビジョニング処理またはリクエストがサポートされます。

  • パスワード処理

    passwordRequest処理には、setPasswordRequestresetPasswordRequest
    2つの処理があります。前者ではユーザーはパスワードを変更でき、後者では、Oracle Identity Managerでユーザーに定義されたパスワード・ポリシーに基づいて新しいパスワードがランダムに生成されます。サポートされるターゲット・タイプは、Userです。resetPasswordRequestでは、パスワードはデフォルトでdefaultに設定されます。

  • ユーザーの一時停止、再開またはアクティブ処理

    SPML v2.0仕様で規定されたsuspend機能には次の3つの処理があります。

  • ListTargets処理

    SPML Webサービスでは、次の処理はサポートされません。

    12.3 SPML Webサービスのデプロイ


    注意:

    SPML WebサービスをOracle Identity Managerとともに使用する場合は、Oracle Identity Managerのアップグレードの際にSPML Webサービスを再デプロイする必要があります。

    EARファイルをカスタマイズした場合は、それらの変更をEARファイルに再適用してから再デプロイする必要があります。 


    SPML Webサービスは、OIMSpmlWS.earという名前のエンタープライズ・アーカイブ(EAR)ファイルにパッケージされています。このファイルはOracle Identity Managerのインストール時に生成されます。このファイルは次の場所に格納されます。

    OIM_HOME/SPMLWS
    
    

    アプリケーション・サーバーごとに異なるEARファイルがあり、各ファイルはSPMLWSディレクトリの各アプリケーション・サーバーのフォルダに格納されています。このEARファイルはOracle Identity Managerのインストール時に生成されます。


    注意:

    Oracle Identity ManagerとSPML Webサービスは、同じアプリケーション・サーバーにデプロイされる必要があります。これは、コロケーション方式のデプロイとして知られています。クラスタ環境では、Oracle Identity Managerがインストールされている各ノードにSPML Webサービスが必ずインストールされているようにしてください。 


    次のバッチ・ファイルを使用し、Oracle Identity Managerが稼働しているアプリケーション・サーバー上にSPML Webサービスをデプロイするスクリプトを実行します。

    OIM_HOME/xellerate/setup/spml_AppServerName
    
    

    このバッチ・ファイルを実行するには、操作環境に対応した手順を実行します。


    注意:

    バッチ・ファイルを実行すると、次のログ・ファイルが作成されます。

    OIM_HOME/xellerate/logs/spml-AppServerName.log

    12.3.1 Oracle WebLogic ServerへのSPML Webサービスのデプロイ

    非クラスタOracle WebLogic Serverインストールの場合:

    次のコマンドを入力します。

    UNIXの場合:

    OIM_HOME/setup/spml_weblogic.sh appserver_admin_password oim_db_user_password
     
    

    Microsoft Windowsの場合:

    OIM_HOME¥setup¥spml_weblogic.cmd appserver_admin_password oim_db_user_password
     
    

    クラスタ化されたOracle WebLogic Serverインストールの場合:

    1. 管理者ノードで次のコマンドを入力します。

      UNIXの場合:

      OIM_HOME/xellerate/setup/spml_weblogic.sh appserver_admin_password 
      oim_db_user_password
       
      

      Microsoft Windowsの場合:

      OIM_HOME¥xellerate¥setup¥spml_weblogic.cmd appserver_admin_password 
      oim_db_user_password
       
      
    2. 『Oracle Identity Manager Oracle WebLogic Server用インストレーションおよび構成ガイド』の付録「Apacheプロキシ・プラグインの構成」に示された手順を実行します。

    12.3.2 IBM WebSphere Application ServerへのSPML Webサービスのデプロイ

    非クラスタIBM WebSphere Application Serverインストールの場合:

    次のコマンドを入力します。

    UNIXの場合:

    OIM_HOME/setup/spml_websphere.sh appserver_admin_password oim_db_user_password
     
    

    Microsoft Windowsの場合:

    OIM_HOME¥setup¥spml_websphere.cmd appserver_admin_password oim_db_user_password
     
    

    クラスタ化されたIBM WebSphere Application Serverインストールの場合:

    1. 管理者ノードで次のコマンドを入力します。

      UNIXの場合:

      OIM_HOME/xellerate/setup/spml_websphere.sh appserver_admin_password 
      oim_db_user_password
       
      

      Microsoft Windowsの場合:

      OIM_HOME¥xellerate¥setup¥spml_websphere.cmd appserver_admin_password 
      oim_db_user_password
       
      
    2. 『Oracle Identity Manager IBM WebSphere Application Server用インストレーションおよび構成ガイド』のIISプラグインの構成に関する項に示された手順を実行してplugin-cfg.xmlファイルを再生成します。

    12.3.3 JBoss Application ServerへのSPML Webサービスのデプロイ


    注意:

    クラスタ化されたJBoss Application Server環境でのSPML Webサービスのデプロイはサポートされていません。 


    非クラスタJBoss Application Serverインストールの場合:

    次のコマンドを入力します。

    UNIXの場合:

    OIM_HOME/xellerate/setup/spml_jboss.sh oim_db_user_password
     
    

    Microsoft Windowsの場合:

    OIM_HOME¥xellerate¥setup¥spml_jboss.cmd oim_db_user_password
     
    

    12.3.4 Oracle Application ServerへのSPML Webサービスのデプロイ

    非クラスタOracle Application Serverインストールの場合:

    1. 次のコマンドを入力します。

      UNIXの場合:

      OIM_HOME/setup/spml_oc4j.sh appserver_admin_password oim_db_user_password
       
      

      Microsoft Windowsの場合:

      OIM_HOME¥setup¥spml_oc4j.cmd appserver_admin_password oim_db_user_password
       
      
    2. 次のコマンド・スクリプトを入力します。

      UNIXの場合:

      OIM_HOME/xellerate/setup/spml_oc4j.sh appserver_admin_password oim_db_user_password
       
      

      Microsoft Windowsの場合:

      OIM_HOME¥xellerate¥setup¥spml_oc4j.cmd appserver_admin_password 
      oim_db_user_password
       
      
    3. テキスト・エディタで次のファイルを開きます。

      OC4J_HOME/j2ee/OC4J_instance/config/application.xml
      
      
    4. application.xmlファイルの<imported-shared-libraries>セクションで、<import-shared-library name="apache.commons.logging"/><remove-inherited name="apache.commons.logging"/>に変更します。

      つまり、<imported-shared-libraries>セクションは次のようにする必要があります。

      <imported-shared-libraries>
        <import-shared-library name="adf.oracle.domain"/>
        <import-shared-library name="oracle.ifs.client"/>
        <remove-inherited name="apache.commons.logging"/>
      </imported-shared-libraries>
      
      

    クラスタ化されたOracle Application Serverインストールの場合:

    次の手順をクラスタの各ノードで実行します。

    1. 次のコマンド・スクリプトを入力します。

      UNIXの場合:

      OIM_HOME/xellerate/setup/spml_oc4j.sh appserver_admin_password oim_db_user_password
       
      

      Microsoft Windowsの場合:

      OIM_HOME¥xellerate¥setup¥spml_oc4j.cmd appserver_admin_password 
      oim_db_user_password
       
      
    2. テキスト・エディタで次のファイルを開きます。

      OC4J_HOME/j2ee/OC4J_instance/config/application.xml
      
      
    3. application.xmlファイルの<imported-shared-libraries>セクションで、<import-shared-library name="apache.commons.logging"/><remove-inherited name="apache.commons.logging"/>に変更します。

      つまり、<imported-shared-libraries>セクションは次のようにする必要があります。

      <imported-shared-libraries>
        <import-shared-library name="adf.oracle.domain"/>
        <import-shared-library name="oracle.ifs.client"/>
        <remove-inherited name="apache.commons.logging"/>
      </imported-shared-libraries>
      
      

    12.4 Oracle Web Services Managerを使用し、SPML Webサービスをデプロイするセキュリティの有効化


    注意:

    Oracle Web Services Managerを使用してSPML Webサービスを保護する場合のみ、この項で説明する手順を実行します。 


    Oracle Web Services Manager(WSM)には、多様なデプロイ環境でのWebサービスのインストール、構成および管理を容易にする機能があります。

    関連項目:

    Oracle WSMの詳細は、『Oracle Web Services Manager管理者ガイド』を参照してください。 

    Oracle WSMを使用して、SPML Webサービスを保護できます。SPML WebサービスにSOAPメッセージでリクエストが送信されると、Oracle WSMでこれが解釈されます。SOAPメッセージでは、SOAPヘッダーにWeb Services Security(wsse)タグが含まれます。このwsse:securityタグに、認証される必要のあるユーザー資格証明が含まれます。SPML Webサービスを保護するには、Oracle WSM Server AgentまたはOracle WSM Gatewayを使用します。

    関連項目:

    - Oracle WSMのインストールの詳細は、『Oracle Web Services Managerインストレーション・ガイド』を参照してください。

    - Oracle WSM Server AgentおよびOracle WSM Gatewayの詳細は、『Oracle Web Services Managerデプロイメント・ガイド』を参照してください。 

    Oracle WSM Server AgentまたはOracle WSM Gatewayでは、SPML Webサービスへのリクエストの転送前にSOAPメッセージからwsse:securityタグが取り除かれます。Oracle WSM Server AgentまたはOracle WSM Gatewayを、カスタム・ポリシー・ステップを使用するよう構成する必要があります。このステップで、wsse:securityタグからユーザー資格証明が抽出され、SOAPヘッダーのカスタム・ヘッダー・タグに挿入されます。SPML Webサービスではここから資格証明が抽出されます。

    次の項で、Oracle WSM Server AgentまたはOracle WSM Gatewayを使用してSPML Webサービスを保護する構成手順を説明します。

    12.4.1 Oracle WSM Server Agentの構成

    SPML Webサービスを保護するためにOracle WSM Server Agentを構成するには、次の処理が必要です。


    注意:

    Oracle WSM Server Agentは、SPML Webサービスのデプロイ前に構成します。 


    1. サーバー・エージェントの追加

    2. サーバー・エージェントのポリシーの定義

    3. サーバー・エージェントのインジェクト

    4. SPML Webサービスのデプロイ

    12.4.1.1 サーバー・エージェントの追加

    サーバー・エージェントを追加する手順は次のとおりです。

    関連項目:

    サーバー・エージェントの追加の詳細は、『Oracle Web Services Managerデプロイメント・ガイド』の第6章「Oracle WSM Agentのインストール」を参照してください。 

    1. Web Services Manager Control(http://localhost:8888/ccoreなど)を使用してサーバー・エージェントを作成し、リストから次の値を選択します。

      • コンポーネント・タイプ: サーバー・エージェント

      • コンテナ・タイプ: Oracle Application Serverの場合は、「OC4J」を選択します。IBM WebSphere Application Serverの場合は、「OTHER」を選択します。

    2. 「登録」を選択します。コンポーネントIDを使用してサーバー・エージェント・コンポーネントが生成されます。

    12.4.1.2 サーバー・エージェントのポリシーの定義

    Web Services Manager Controlを使用して、サーバー・エージェントに関連付けるポリシーを定義します。ポリシーのデフォルトの実装は、次の場所にあります。

    OIM_HOME/SPMLWS/OWSMPolicy
    
    

    関連項目:

    サーバー・エージェントのポリシーの定義の詳細は、『Oracle Web Services Manager管理者ガイド』の第5章「Oracle Web Services Managerのポリシー管理」を参照してください。 

    URLパターンとポリシーを関連付ける必要があります。これを行うには、「ポリシー管理」「ポリシーの管理」「ポリシー」と選択します。その後、「マッピングの編集」ボタンをクリックし、ポリシーに関連付けるURLパターンとして次のように入力します。

    /spmlws/HttpSoap11
    
    

    カスタム・ポリシーを構成するには、OIM_HOME/SPMLWS/OWSMPolicyのクラス・ファイルcom.oracle.xl.spmlws.ws.security.owsm.CustomPolicyStepを次のファイルに含める必要があります。

    ORACLE_HOME/owsm/lib/extlib/coresvagent.jar
    
    

    サーバー・エージェント・コンポーネントの作成後、カスタム・ステップをそのコンポーネントに追加する必要があります。これを行うには、登録したコンポーネントの「ステップ」リンクをクリックします。適切な場所からCustomPolicyStep.xmlを選択し、「アップロード」をクリックします。XMLファイルは、OIM_HOME/SPMLWS/OWSMPolicy/com/oracle/xl/spmlws/ws/security/owsmにあります。

    この後、カスタム・ポリシー・ステップ名が使用可能なポリシーのリストに追加されます。


    注意:

    カスタム・ポリシーを作成する場合は、そのクラス・ファイルをWebサービスEARファイルにあるcoresvagent.jarファイルに含める必要があります。 


    12.4.1.3 サーバー・エージェントのインジェクト

    サーバー・エージェントをインジェクトするには、次の手順を行う必要があります。

    Oracle Application Serverの場合

    サーバー・エージェントをインジェクトする手順は次のとおりです。

    1. ORACLE_HOME/owsm/bin/agent.propertiesファイルの属性を次の値に変更します。

      • agent.componentType: ServerAgent

      • agent.containerType: OC4J

      • agent.containerVersion: Oracle Application Serverの場合、10.1.3

      • agent.component.id: エージェントを作成し、Web Services Manager Controlを使用して登録した際に生成されたコンポーネントIDを入力します。

    2. agent.propertiesファイルの次のプロパティを編集します。

    3. wsmadmin installAgentコマンドを実行します。

    IBM WebSphere Application Serverの場合

    サーバー・エージェントをインジェクトする手順は次のとおりです。

    1. SOA 10.1.3.1リリース用のサーバー・エージェントはOracle Application Serverに対してのみサポートされているため、WebSphereの場合は、Oracle Technology Networkの次の場所から必要なZIPファイルをまずダウンロードする必要があります。

      UNIXの場合:

      http://download.oracle.com/otn/linux/ias/101310/soa_linux_x86_ws_agent101310.zip
      
      

      Microsoft Windowsの場合:

      http://download.oracle.com/otn/nt/ias/101310/soa_windows_x86_ws_agent101310.zip
      
      
    2. ZIPファイルを任意の場所(/owsmなど)に展開します。

      ヒント:

      サーバー・エージェントのインジェクトの詳細は、展開したZIPファイルのReadme_Agentinstall.pdfファイルを参照してください。 

    3. binディレクトリを参照し、agent.propertiesファイルを開いて次のプロパティを設定します。

      • agent.componentType: serveragent。

      • agent.containerType: AXIS、WEBLOGIC、WEBSPHERE、TIBCO-BW、OC4Jなど。

      • agent.containerVersion: SPML WebサービスをデプロイするWebSphereのバージョン。

      • oc4j.home: /owsm/oc4j/owsmがZIPファイルを展開した場所の場合)。

      • oc4j.j2ee.home: /owsm/oc4j/j2ee/home(ここで、/owsmはZIPファイルを展開した場所)。

      • webservice.application.input: Webアプリケーション入力ファイル名とパス(WARまたはEARファイルの場所)。たとえば、/owsm/wars/HelloWorldImpl.warです。

      • webservice.application.webapp.name: WARファイルの場合は該当しません。

      • webservice.application.contexturi: WARファイルの場合は該当しません。

      • agent.component.id: エージェントを作成し、Oracle Web Services Manager Controlを使用して登録した際に生成されたコンポーネントIDを入力します。

      • agent.policymanagerURL(http://hostname:8888/policymanagerなど。ローカルホストではなく、システム名を指定。)

    4. bin/coresv.propertiesファイルを開き、次のプロパティを設定します。

      • coresv.home: /owsm/owsmがZIPファイルを展開した場所の場合)

      • ant.home: ANTインストールのホーム・ディレクトリを設定

      • java.home: Javaインストールのホーム・ディレクトリを設定

      • lib.dir: /owsm/lib/owsmがZIPファイルを展開した場所の場合)

      • oc4j.j2ee.home: /owsm/oc4j/j2ee/home(プロパティがある場合はオプション)

      • external.oc4j.home: /owsm/oc4j(プロパティがある場合はオプション)

    5. カスタム・ポリシーを構成するには、OIM_HOME/SPMLWS/OWSMPolicyのクラス・ファイルcom.oracle.xl.spmlws.ws.security.owsm.CustomPolicyStepを次のファイルに含める必要があります。

      /owsm/lib/extlib/coresvagent.jar
      
      

      /owsmがZIPファイルを展開した場所の場合)

    6. コマンド・ウィンドウでbinディレクトリに移動します。injectAgentコマンドを実行します。このコマンドで、すべてのJARファイルが、指定したWARまたはEARファイルにインジェクトされます。(実行前に、ant binディレクトリへのパスを設定します。)

    12.4.1.4 SPML Webサービスのデプロイ

    クライアント・エージェントのインストール後、SPML Webサービスをデプロイします。SPML Webサービスのデプロイ方法は、「SPML Webサービスのデプロイ」を参照してください。

    12.4.2 Oracle WSM Gatewayの構成

    SPML Webサービスを保護するためにOracle WSM Gatewayをデプロイするには、次の処理が必要です。

    関連項目:

    Oracle WSMに特有の構成の詳細は、『Oracle Web Services Managerクイック・スタート・ガイド』を参照してください。 

    1. Oracle WSM Gatewayの登録

    2. SPML Webサービスのゲートウェイへの登録

    3. カスタム・ポリシーのゲートウェイへの追加

    4. SPML Webサービスのデプロイ

    5. WSDLファイルの表示

    12.4.2.1 Oracle WSM Gatewayの登録

    ゲートウェイを登録する手順は次のとおりです。

    1. Oracle Web Services Manager Controlで、「新規コンポーネントの追加」をクリックします。

    2. 「新規コンポーネントの追加」ページで、次の値を入力します。

      • コンポーネント名: MyGatewayなど

      • コンポーネント・タイプ: ゲートウェイ(デフォルト値)

      • コンテナ・タイプ: Oracle Web Services Manager(デフォルト値)

      • コンポーネントURL: http://fully_qualified_host_name:http_port/gatewayと入力(fully_qualified_host_nameはOracle WSMのURLで、http_portはOracle WSMがホストされるポート)

      • コンポーネント・グループ: コンポーネント・グループのデフォルト値の受入れ

    3. 「登録」をクリックします。

    4. 「OK」をクリックします。

    12.4.2.2 SPML Webサービスのゲートウェイへの登録

    SPML Webサービスをゲートウェイに登録する手順は次のとおりです。

    1. Oracle Web Services Manager Controlのナビゲーション・ペインから、「ポリシー管理」をクリックします。

    2. 「サービスの登録」をクリックします。

    3. 「サービス」リンクをクリックします。

    4. 「新規サービスの追加」をクリックします。「新規サービスの追加」ページが表示されます。このページで、次のようにサービスの詳細を入力します。

      • サービス名: SPMLService

      • サービスのバージョン: 1.0

      • サービスの説明: SPMLリクエストの処理

      • WSDL URL: 次のようなWSDLの場所

        http://host:port/spmlws/.../HttpSoap11?wsdl
        
        
    5. 「次へ」をクリックします。「新規サービスのメッセンジャ・ステップを構成」ページが表示されます。このページで、URLが前述のページで指定したURLと一致することを確認します。「終了」をクリックし、残りのフィールドについてはデフォルト値を受け入れます。

    6. 「ポリシーのコミット」をクリックします。

    12.4.2.3 カスタム・ポリシーのゲートウェイへの追加

    Web Services Manager Controlを使用して、ゲートウェイに関連付けるポリシーを定義します。ポリシーのデフォルトの実装は、次の場所にあります。

    OIM_HOME/SPMLWS/OWSMPolicy
    
    

    関連項目:

    ゲートウェイのポリシーの定義の詳細は、『Oracle Web Services Manager管理者ガイド』の第5章「Oracle Web Services Managerのポリシー管理」を参照してくだい。 

    ポリシーでは、ユーザーの資格証明がWSSEセキュリティ・タグから抽出され、SOAPヘッダーの次のカスタム・タグに追加されます。

    <wsa1:OIMUser soap:mustUnderstand="0" 
    xmlns:wsa1="http://xmlns.oracle.com/OIM/provisioning">
    <wsa1:OIMUserId 
    xlmns:wsa1="http://xmlns.oracle.com/OIM/provisioning">user1</wsa1:OIMUserId>
    <wsa1:OIMUserPassword  
    xlmns:wsa1="http://xmlns.oracle.com/OIM/provisioning">password1</wsa1:OIMUserPassword>
    </wsa1:OIMUser>
    
    

    SPML Webサービスでこのタグが解釈および処理されます。

    カスタム・ポリシーを構成するには、OIM_HOME/SPMLWS/OWSMPolicyのクラス・ファイルcom.oracle.xl.spmlws.ws.security.owsm.CustomPolicyStepを次のファイルに含める必要があります。

    ORACLE_HOME/owsm/lib/coresv-4.0.jar
    
    

    coresv-4.0.jarにはポリシーに固有のすべてのクラス・ファイルが含まれるため、カスタム・ポリシー・ステップ・ファイルを含める必要があります。その後、Oracle Application Serverを再起動します。

    ゲートウェイの登録後、カスタム・ステップを追加する必要があります。カスタム・ステップを追加する手順は次のとおりです。

    1. 「ステップの追加」ページで、カスタム・ポリシーのCustomPolicy.xmlファイルをアップロードします。このXMLファイルは、次のパスにあります。

      OIM_HOME/SPMLWS/OWSMPolicy/com/oracle/xl/spmlws/ws/security/owsm
      
      
    2. Oracle Web Services Manager Controlで「ステップの追加」ページを開くには、「ポリシー管理」を展開し、「ポリシーの管理」「ステップ」「ステップの追加」とクリックします。適切な場所からCustomPolicy.xmlを選択し、「アップロード」をクリックします。カスタム・ポリシー・ステップの名前が使用可能なポリシーのリストに追加されます。

    3. カスタム・ポリシーをリクエスト・ブロックのパイプラインに追加するには、「ポリシー」ページを参照します。「ポリシー」ページを開くには、「ポリシー管理」を展開し、「ポリシーの管理」「ポリシー」とクリックし、最後に「ポリシー」をクリックします。

      リクエスト・ブロックで、SPML Webサービスへ送られた有効な受信リクエストに対し、構成されたカスタム・ポリシーが実行されます。

    12.4.2.4 SPML Webサービスのデプロイ

    クライアント・エージェントのインストール後、SPML Webサービスをデプロイします。SPML Webサービスのデプロイ方法は、「SPML Webサービスのデプロイ」を参照してください。

    12.4.2.5 WSDLファイルの表示

    WebサービスのWeb Service Description Language(WSDL)ファイルを表示する手順は次のとおりです。

    1. Web Services Manager Controlのナビゲーション・ペインから、「ポリシー管理」をクリックします。

    2. 「サービスの登録」をクリックします。

    3. ゲートウェイ(MyGateway)にアクセスするには、「サービス」をクリックします。

    4. サービスのリストから、必要なサービスの「編集」をクリックします。

    5. 「サービスの編集」ページで、「サービスのWSDL URL」フィールドに表示されたURLをコピーします。

    SPMLクライアントでこのURLを使用し、SPML Webサービスにアクセスします。

    12.5 デプロイ後のタスク

    JBoss Application Server、Oracle WebLogic ServerまたはIBM WebSphere Application Serverを使用している場合、デプロイ後に実行する手順はありません。

    IBM WebSphere Application Server 6.1を使用している場合、xlDataObjectBeans.jarファイルを抽出し、それをSPML WebサービスのWARファイルのWEB-INF/libディレクトリにコピーします。このファイルをコピーした後、WebSphereを再起動する必要があります。

    関連項目:

    『Oracle Identity Manager IBM WebSphere Application Server用インストレーションおよび構成ガイド』のxlDataObjectBeans.jarの抽出に関する項 

    12.6 SSL通信の有効化

    この項では、SPML Webサービス用にSecure Sockets Layer(SSL)通信を有効にする情報を提供します。この項で説明する手順を実行することをお薦めします。


    注意:

    詳細は、アプリケーション・サーバー固有のSSL構成のドキュメントを参照することをお薦めします。この項では、SPML Webサービスがサポートされているアプリケーション・サーバー別に、SSL通信を有効にするために必要な最小限の情報を提供します。

    この項ではアプリケーション・サーバーの特定のリリースの情報を提供しますが、異なるリリースを使用している場合は、手順の一部が異なる場合もあります。 


    12.6.1 JBoss Application Server

    次の各項では、JBoss Application Server 4.2.3 GAにインストールされたSPML WebサービスでSSL通信を有効にするために必要な情報を提供します。

    12.6.1.1 前提条件

    SSL通信を有効にするための前提条件は次のとおりです。

    12.6.1.2 SSL証明書の設定

    この項では、SSLを設定する手順を説明します。

    ヒント:

    保護機能を高めるには、新たに証明書(自己署名またはCA証明書)を作成し、クライアントおよびサーバー用の個別のキーストアとトラストストアを異なるパスワードで作成することをお薦めします。詳細は、アプリケーション・サーバーのSSL構成のドキュメントを参照してください。 

    1. キーの生成

    2. 証明書への署名

    3. 証明書のエクスポート

    4. server.xmlファイルの構成

    キーの生成

    keytoolコマンドを使用してキーを生成します。次のkeytoolコマンドでは、アイデンティティ・ストアjbossserver.jksが生成されます。

    keytool -genkey -alias serverjboss -keyalg RSA -keysize 1024 -dname 
    "CN=localhost,OU=Identity,O=Oracle,C=US" -keypass welcome -keystore 
    E:¥jboss-4.2.3.GA¥server¥jbossserver.jks -storepass welcome -storetype jks
    
    
    証明書への署名

    次のkeytoolコマンドを使用して、作成した証明書に署名します。

    keytool -selfcert -alias serverjboss -sigalg MD5withRSA -validity 2000 -keypass welcome 
    -keystore  E:¥jboss-4.2.3.GA¥server¥jbossserver.jks -storepass welcome
    
    
    証明書のエクスポート

    次のkeytoolコマンドを使用して、証明書をアイデンティティ・キーストアからファイル(jbossserver.certなど)にエクスポートします。

    keytool -export -alias serverjboss -file E:¥jboss-4.2.3.GA¥server¥jbossserver.cert 
    -keypass welcome -keystore E:¥jboss-4.2.3.GA¥server¥jbossserver.jks -storepass welcome 
    -storetype jks -provider sun.security.provider.Sun
    
    
    server.xmlファイルの構成

    次のエントリをserver.xmlファイルに作成します。

    <Connector port="8443" address="${jboss.bind.address}"
               maxThreads="100" strategy="ms" maxHttpHeaderSize="8192"
               emptySessionPath="true"
               scheme="https" secure="true" clientAuth="false"
                  sslProtocol="TLS" 
               keystoreFile="E:¥jboss-4.2.3.GA¥server¥jbossserver.jks"
               keystorePass="welcome"
               truststoreFile="E:¥jboss-4.2.3.GA¥server¥jbossserver.jks"
               truststorePass="welcome"/>
    
    

    前述の手順を行った後、サーバーを再起動して変更を有効にします。


    注意:

    「証明書のエクスポート」でエクスポートした証明書を使用して、クライアント側のSSL通信用トラストストアにインポートできます。 


    12.6.2 Oracle WebLogic Server

    次の各項では、Oracle WebLogic ServerにインストールされたSPML WebサービスでSSL通信を有効にするために必要な情報を提供します。

    12.6.2.1 前提条件

    SSL通信を有効にするための前提条件は次のとおりです。

    12.6.2.2 SSL証明書の設定

    この項では、SSLを設定する手順を説明します。

    ヒント:

    保護機能を高めるには、新たに証明書(自己署名またはCA証明書)を作成し、クライアントおよびサーバー用の個別のキーストアとトラストストアを異なるパスワードで作成することをお薦めします。詳細は、アプリケーション・サーバーのSSL構成のドキュメントを参照してください。 

    1. キーの生成

    2. 証明書への署名

    3. 証明書のエクスポート

    4. Oracle WebLogic Serverの構成

    キーの生成

    提供されたkeytoolコマンドを使用して、プライベート/パブリック証明書ペアを生成します。次のコマンドは、アイデンティティ・キーストア(support.jks)を作成します。必要に応じて、keytoolコマンドに渡すパラメータの値を変更してください。keytool引数に改行がないことを確認してください。

    keytool -genkey
            -alias support
            -keyalg RSA
            -keysize 1024
            -dname "CN=xellerate.oracle.com, OU=Identity, O=Oracle Corporation, 
    L=RedwoodShores, S=California, C=US"
            -keypass weblogic
            -keystore C:¥bea¥user_projects¥domains¥oim¥support.jks
            -storepass support
    


    注意:

    ホスト名は、xlconfig.xmlファイルで使用する名前と同じものを使用します。たとえば、xlconfig.xmlファイルでhttps://xellerate.oracle.com:7002およびt3s://xellerate.oracle.com:7002を使用する場合、keytoolコマンドのCNの値はxellerate.oracle.comである必要があります。SSL証明書の生成には、IPアドレスではなく、ドメイン名(たとえば、xellerate.oracle.com)を使用することをお薦めします。 


    証明書への署名

    次のコマンドを使用して、作成した証明書に署名します。

    keytool -selfcert -alias support 
            -sigalg MD5withRSA 
            -validity 2000 
            -keypass weblogic 
            -keystore C:¥bea¥user_projects¥domains¥oim¥support.jks 
            -storepass support
    
    


    注意:

    証明書の署名には、信頼できる認証局(VeriSignやThawteなど)の使用をお薦めします。 


    証明書のエクスポート

    次のコマンドを使用して、証明書をアイデンティティ・キーストアからファイル(supportcert.pemなど)にエクスポートします。

    keytool -export -alias support 
            -file C:¥bea¥user_projects¥domains¥oim¥supportcert.pem 
            -keypass weblogic 
            -keystore C:¥bea¥user_projects¥domains¥oim¥support.jks 
            -storepass support
    
    
    Oracle WebLogic Serverの構成

    Oracle WebLogic Serverを構成する手順は次のとおりです。

    1. WebLogic Server管理コンソールで、「環境」「サーバー」Server_Name「構成」をクリックし、「一般」をクリックします。

    2. 「ロックして編集」をクリックします。

    3. 「SSLリスニング・ポートの有効化」を選択します。デフォルト・ポートは7002です。

    4. 「キーストア」タブをクリックします。

    5. 「キーストア」リストで「カスタムIDとJava標準信頼」を選択します。

    6. 「カスタムIDキーストア」フィールドに、カスタムIDキーストアのファイル名としてC:¥bea¥user_projects¥domains¥oim¥support.jksを指定します。

    7. カスタムIDキーストア・タイプとして「JKS」を指定します。

    8. 「カスタムIDキーストアのパスフレーズ」および「カスタムIDキーストアのパスフレーズを確認」のフィールドにパスワードを入力します。

    9. 「保存」をクリックします。

    10. 「SSL」タブをクリックします。

    11. 秘密鍵エイリアスとして、supportと入力します。

    12. パスワード(たとえばsupport)を「秘密鍵のパスフレーズ」および「秘密鍵のパスフレーズを確認」のフィールドに入力します。

    13. 「保存」をクリックします。

    14. 「変更のアクティブ化」をクリックします。

    15. サーバーを再起動し、変更を有効にします。


      注意:

      「証明書のエクスポート」でエクスポートした証明書を、クライアント側のSSL通信用トラストストアにインポートできます。

      次のkeytoolコマンドを使用して、証明書をSPMLクライアント・トラストストアにインポートします。

      keytool -import -alias serverwl -trustcacerts -file 
      D:¥bea¥user_projects¥domains¥ mydomain¥wlservercert.pem 
      -keystore <client-trust store> -storepass <client-trust-store password>

    12.6.3 IBM WebSphere Application Server

    この後の各項では、IBM WebSphere Application ServerにインストールされたSPML WebサービスでSSL通信を有効にするために必要な情報を提供します。

    12.6.3.1 前提条件

    SSL通信を有効にするための前提条件は次のとおりです。

    12.6.3.2 SSL証明書の設定

    この項の手順では次のことが行えます。

    証明書のファイルへのエクスポート

    IBM WebSphere Application Serverでは、IBM WebSphereのデフォルト・キーストア(key.p12)およびこのデフォルト証明書が使用されます。このデフォルト証明書をファイルにエクスポートする必要があります。次のkeytoolコマンドを使用してこれを行います。

    IBM_JDK_HOME/jre/bin/keytool -export -alias default -file <Exported Certificate file> 
    -keypass WebAS -keystore  FULL_PATH_OF_IBM_WEBSPHERE "key.p12" -storepass WebAS 
    -storetype pkcs12 -provider com.ibm.crypto.provider.IBMJCE
    
    

    前述のコマンドで、次の項目を適切な場所を指すよう置き換えます。

    証明書ファイルのインポート

    次のkeytoolコマンドを使用して、証明書ファイルをSPML Webサービス・クライアントのトラストストアにインポートします。

    keytool -import -alias serverws -trustcacerts -file <Exported Certificate file> 
    -keystore E:¥SPMLTest¥mykeystore -storepass mypass  -storetype jks
    
    

    ヒント:

    保護機能を高めるには、新たに証明書(自己署名またはCA証明書)を作成し、クライアントおよびサーバー用の個別のキーストアとトラストストアを異なるパスワードで作成することをお薦めします。詳細は、アプリケーション・サーバーのSSL構成のドキュメントを参照してください。 

    12.6.4 Oracle Application Server

    この後の各項では、Oracle Application ServerにインストールされたSPML WebサービスでSSL通信を有効にするために必要な情報を提供します。

    12.6.4.1 前提条件

    SSL通信を有効にするための前提条件は次のとおりです。

    12.6.4.2 SSL証明書の設定

    この項の手順では次のことが行えます。

    ヒント:

    保護機能を高めるには、新たに証明書(自己署名またはCA証明書)を作成し、クライアントおよびサーバー用の個別のキーストアとトラストストアを異なるパスワードで作成することをお薦めします。詳細は、アプリケーション・サーバーのSSL構成のドキュメントを参照してください。 

    1. キーの生成

    2. 証明書への署名

    3. 証明書のエクスポート

    4. Oracle Application Serverの構成

    キーの生成

    次のkeytoolコマンドを使用してキーを生成します。次のkeytoolコマンドでは、アイデンティティ・キーストアoc4jserver.jksが作成されます。

    keytool -genkey -alias serveroc4j -keyalg RSA -keysize 1024 -dname 
    "CN=localhost,OU=Identity,O=Oracle,C=US" -keypass welcome -keystore 
    E:¥product¥10.1.3.1¥OracleAS_1¥oc4jserver.jks -storepass welcome -storetype jks
    
    
    証明書への署名

    次のkeytoolコマンドを使用して、作成した証明書に署名します。

    keytool -selfcert -alias serveroc4j -sigalg MD5withRSA -validity 2000 -keypass welcome 
    -keystore  E:¥product¥10.1.3.1¥OracleAS_1¥oc4jserver.jks -storepass welcome
    
    
    証明書のエクスポート

    次のkeytoolコマンドを使用して、証明書をアイデンティティ・キーストアからファイルにエクスポートします。

    keytool -export -alias serveroc4j -file E:¥product¥10.1.3.1¥OracleAS_1¥oc4jserver.cert 
    -keypass welcome -keystore E:¥product¥10.1.3.1¥OracleAS_1¥oc4jserver.jks -storepass 
    welcome -storetype jks -provider sun.security.provider.Sun
    
    
    Oracle Application Serverの構成

    Oracle Application Serverを構成する手順は次のとおりです。

    1. E:¥product¥10.1.3.1¥OracleAS_1¥j2ee¥home¥config¥default-web-site.xml
      ファイルのコピーを同じ場所に作成し、secure-web-site.xmlという名前に変更します。

    2. secure-web-site.xmlファイルで、次の変更を行います。

      • port属性: 4443

      • secure: true

      • protocol: https

      次に例を示します。

      web-site xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/
      web-site-10_0.xsd" port="4443" secure="true" protocol ="https"
      display-name="OC4J 10g (10.1.3) Default Web Site" schema-major-version="10" schema-minor-version="0">
    3. 同じファイルのweb-siteノードの下に、次の例のようなキーストアを指す新規要素ssl-configを追加します。

      <ssl-config keystore="E:/product/10.1.3.1/OracleAS_1/oc4jserver.jks" 
      keystore-password="welcome" />
      
      
    4. E:¥product¥10.1.3.1¥OracleAS_1¥j2ee¥home¥config¥server.xmlファイルに次のエントリを追加します。

      <web-site path="./secure-web-site.xml"/>
      
      
    5. E:¥product¥10.1.3.1¥OracleAS_1¥opmn¥conf¥opmn.xmlファイルに次の追加を行います。

      <port id="secure-web-site" range="4443" protocol="https"> under 
      <ias-component id="default_group">
    6. opmn.xmlファイルの<ias-component id="default_group">タグの下の
      <data id="java-options" value="-Xrs"に、次の追加を行います。

      -Djavax.net.ssl.trustStore=E:¥product¥10.1.3.1¥OracleAS_1¥oc4jserver.jks
      -Djavax.net.ssl.trustStorePassword=welcome
      -Djavax.net.ssl.keyStore=E:¥product¥10.1.3.1¥OracleAS_1¥oc4jserver.jks
      -Djavax.net.ssl.keyStorePassword=welcome"
      
      
    7. サーバーを再起動し、変更を有効にします。

    12.6.5 Oracle HTTP ServerへのHTTP通信に対するSSLの有効化

    この後の各項では、Oracle HTTP ServerへのHTTP通信でのSSLの有効化に関する情報を提供します。

    デフォルトでは、Oracle HTTP Serverは、SSLおよびSSL証明書ストアを使用するよう構成されています。証明書ストアは、ORACLE_HOME/Apache/Apache/conf/ssl.wlt/default/にあります。ORACLE_HOME/Apache/Apache/conf/ssl.confファイルのlistenパラメータは、Oracle HTTP Serverで使用されるSSLポートを指します。

    インストールに付属のデフォルト証明書ストアを使用する場合、構成は変更しません。

    ヒント:

    保護機能を高めるには、新たに証明書(自己署名またはCA証明書)を作成し、クライアントおよびサーバー用の個別のキーストアとトラストストアを異なるパスワードで作成することをお薦めします。詳細は、アプリケーション・サーバーのSSL構成のドキュメントを参照してください。 

    12.6.5.1 証明書のエクスポート

    証明書をデフォルトOracleウォレットORACLE_HOME/Apache/Apache/conf/ssl.wlt/default/ewallet.p12からエクスポートする必要があります。この証明書は、Design ConsoleでOracle Application Serverを信頼するために使用されます。証明書をエクスポートする手順は次のとおりです。

    1. Oracle Wallet Manager Consoleを使用して、ORACLE_HOME/Apache/Apache/conf/ssl.wlt/default/ewallet.p12ファイルを開きます。これを行うには、「ウォレットを開く」をクリックし、ウォレットの場所を参照します。

    2. ストア・パスワードを要求されたら、welcomeを入力します。

    3. 「証明書(待機中)」を右クリックし、「ユーザー証明書のエクスポート」をクリックします。

    4. ファイルをserver.certの名前で保存します。

      関連項目:

      Oracle Wallet Managerの詳細は、『Oracle Application Server管理者ガイド』のSecure Sockets Layerに関する項を参照してください。 

    12.7 SPML Webサービスのクライアントの開発

    この項では、SPML Webサービスのクライアントを作成する際に利用できる情報およびガイドラインを提供します。


    注意:

    この章では、SPML WebサービスのクライアントをSPMLクライアントと呼びます。 


    SPMLクライアントを開発するには、クライアントを開発する各アプリケーション・サーバーのWSDLファイルを参照する必要があります。各アプリケーション・サーバーのWSDLファイルは、OIM_HOME/SPMLWS/SampleHttpClient/wsdlディレクトリにあります。

    SPMLクライアントのサンプルのコード・ファイルは次の場所にあります。

    OIM_HOME/SPMLWS/SampleHttpClient
    
    

    コード例を理解しやすいようにしておくには、このSPMLクライアントではHTTP/S接続のかわりにSPML WebサービスへのHTTP接続を使用します。

    このSPMLクライアントのサンプルでは、SOAPリクエストを含むXMLファイルを参照し、SPML WebサービスへのHTTP POSTを行います。

    このリリースのOracle Identity Managerには、SOAPリクエストの一連のサンプルが含まれています。このSOAPリクエストのサンプル・ファイルへアクセスするパスは次のとおりです。

    SampleHttpClient/sampleRequests/Application Server
    
    

    sampleRequestsディレクトリには、サポートされているアプリケーション・サーバーごとにSOAPリクエストが含まれています。


    注意:

    前述のとおり、SPML Webサービスでは、UTF-8エンコーディングのリクエストのみがサポートされます。クライアント実装では、content-typeヘッダーのcharsetにUTF-8を指定して、HTTPでのSPMLリクエストの受渡しを行うことをお薦めします。サンプル・クライアントでのsendSOAPRequest機能の実装については、OIM_HOME/SPMLWS/SampleSPMLClient/src/testspml/
    HttpConnect.java
    ファイルを参照してください。また、リクエストの送信前に、データをbyte[]にシリアライズする必要があります。SendSPMLRequest.javaファイルのmain関数では、ファイルがbyte[]に直接コピーされ、HTTP接続を介して送信されます。 


    次の項で、SPMLクライアントの開発時に利用できる情報を提供します。

    12.7.1 サポートされているSPMLの処理

    前述のとおり、SPML Webサービスでは次の処理がサポートされています。

    12.7.2 認証

    SPMLクライアントは、送信されるSPMLリクエストごとに認証される必要があります。これは、認可されていないユーザーのSPML Webサービスの使用を防ぐためです。

    SPMLクライアントは、次の方法で認証されます。SPMLクライアントではSOAPヘッダーを使用してユーザー資格証明をWebサービスへ送信します。これは、次の方法で行われます。

    12.7.3 SPMLリクエストに含まれるフィールド

    表12-1に、SPMLリクエストに含まれる必須フィールドおよび必須でないフィールドを示します。


    注意:

    次の表では、必須フィールド列にpsoIDを示す行があります。これらのリクエストでは、Oracle Identity Manager属性は必要ありません。 


    表12-1    SPMLリクエストの必須フィールドおよび必須でないフィールド 
    SPMLリクエスト  必須フィールド  必須でないフィールド 

    ユーザーに対するaddRequest 

    Users.User ID

    Users.First Name

    Users.Last Name

    Organizations.Organization Name

    Users.Xellerate Type

    Users.Role

    Users.Password 

    ユーザーの作成に関連する他のOIM Userフィールドは必須ではありません。 

    グループに対するaddRequest 

    Groups.Group Name 

    グループの作成に関連する他のOIM Userフィールドは必須ではありません。 

    組織に対するaddRequest 

    Organizations.Organization Name 

    Organizations.Type

    Organizations.Parent Name 

    ユーザーに対するdeleteRequest 

    psoID ID="Users:7" 

     

    グループに対するdeleteRequest 

    psoID ID="Groups:7" 

     

    組織に対するdeleteRequest 

    psoID ID="Organizations:9" 

     

    ユーザーに対するmodifyRequest 

    psoID ID="Users:5"

    変更する属性に対応する1つ以上の変更要素 

     

    グループに対するmodifyRequest 

    psoID ID="Groups:5"

    変更する属性に対応する1つ以上の変更要素 

     

    組織に対するmodifyRequest 

    psoID ID="Organizations:3"

    変更する属性に対応する1つ以上の変更要素 

     

    ユーザーに対するlookupRequest 

    psoID ID="Users:7" 

     

    グループに対するlookupRequest 

    psoID ID="Groups:7" 

     

    組織に対するlookupRequest 

    psoID ID="Organizations:9" 

     

    ユーザーに対するsuspendRequest 

    psoID ID="Users:7" 

     

    ユーザーに対するresumeRequest 

    psoID ID="Users:7" 

     

    ユーザーに対するactiveRequest 

    psoID ID="Users:7" 

     

    ユーザーに対するsetPasswordRequest 

    psoID ID="Users:7" 

     

    ユーザーに対するresetPasswordRequest 

    psoID ID="Users:7" 

     

    ユーザーに対するsearchRequest 

    検索が行われるbasePsoIDは、Organizationまたは空の文字列で
    ある必要があります。

    例: <basePsoID ID="Organization:7"/>, <basePsoID ID=""/>

    検索を行う基となる属性について等価比較を指定する一連のdsml:filter
    条件。

    注意: オブジェクト・クラスの情報がフィルタの1つの一部として送信され、
    検索が行われるコンテナをSPML Webサービスに指定します。
    次に例を示します。

    <dsml:filter>
    <dsml:equalityMatch name="Object Class"><dsml:values>Users
    </dsml:values></dsml:equalityMatch></dsml:filter>
     

     

    グループに対するsearchRequest 

    検索が行われるbasePsoIDは、空の文字列である必要があります。

    検索を行う基となる属性について等価比較を指定する一連のdsml:filter
    条件。

    注意: オブジェクト・クラスの情報がフィルタの1つの一部として送信され、
    検索が行われるコンテナをSPML Webサービスに指定します。
    次に例を示します。

    <dsml:filter>
    <dsml:equalityMatch name="Object Class"><dsml:values>Groups
    </dsml:values></dsml:equalityMatch></dsml:filter>
     

     

    組織に対するsearchRequest 

    検索が行われるbasePsoIDは、Organizationまたは空の文字列で
    ある必要があります。

    検索を行う基となる属性について等価比較を指定する一連のdsml:filter条件。

    注意: オブジェクト・クラスの情報がフィルタの1つの一部として送信され、
    検索が行われるコンテナをSPML Webサービスに指定します。
    次に例を示します。

    <dsml:filter>
    <dsml:equalityMatch name="Object Class"><dsml:values>Organizations
    </dsml:values></dsml:equalityMatch></dsml:filter>
     

     

    listTargetRequest 

    なし 

     

    12.7.4 SOAPヘッダーの構造

    SPML WebサービスにはOracle Identity Manager資格証明が必要です。これは、SPMLを保護するためにOracle WSMが使用されているかどうかに応じてSOAPヘッダーに指定されます。この情報について、この後の各項で説明します。

    カスタム・セキュリティ・タグの使用

    SOAPリクエストがSPML Webサービスに直接送信される場合、カスタム・セキュリティ・タグ(wsa1:OIMUser)がSOAPヘッダーに使用され、Oracle Identity Manager資格証明が組み込まれます。SPML Webサービスでこのタグが解釈され、サーバー側のハンドラで、次のSOAPヘッダー例で示すような資格証明情報が抽出されます。

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Header>
    <wsa1:OIMUser soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next" 
    soapenv:mustUnderstand="0" xmlns:wsa1="http://xmlns.oracle.com/OIM/provisioning">
    <wsa1:OIMUserPassword>password1</wsa1:OIMUserPassword>
    <wsa1:OIMUserId>user1</wsa1:OIMUserId>
    </wsa1:OIMUser>
    </soapenv:Header>
    ……………………</soapenv:Envelope> 
    
    WSSEセキュリティ・タグの使用

    SPML Webサービスを保護するためにOracle WSM GatewayまたはAgentが使用されている場合、SPML SOAPメッセージがGatewayまたはAgentによってインターセプトされます。この場合、Oracle Identity Manager資格証明は、次の例で示すように標準wsseセキュリティ・タグで指定されます。

    soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Header>
      <wsse:Security 
    xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1
    .0.xsd">
      <wsse:UsernameToken>
      <wsse:Username>user1</wsse:Username>
    <wsse:Password 
    Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.
    0#PasswordText">password1</wsse:Password>
      </wsse:UsernameToken>
     </wsse:Security>
    </soapenv:Header>
    ……………………</soapenv:Envelope>
    
    
    wsa1:langタグ

    SPMLクライアントでは、Oracle Identity Manager資格証明情報とともに、ロケール情報もSPML Webサービスに送信されます。これには、SOAPヘッダーのwsa1:langタグが使用されます。これらのタグはSPML Webサービスによって処理されます。Oracle Web Services Managerが構成されている場合は、SPML Webサービスではこのタグは無視されます。この場合、ヘッダー情報は次のようになります。

    カスタム・タグの場合:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Header>
    <wsa1:OIMUser soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next" 
    soapenv:mustUnderstand="0" xmlns:wsa1="http://xmlns.oracle.com/OIM/provisioning">
    <wsa1:OIMUserPassword>password1</wsa1:OIMUserPassword>
    <wsa1:OIMUserId>user1</wsa1:OIMUserId>
    </wsa1:OIMUser>
    <wsa1:lang soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next" 
    soapenv:mustUnderstand="0" xmlns:wsa1="http://xmlns.oracle.com/OIM/provisioning">
    <wsa1:language>en</wsa1:language>
    <wsa1:sublanguage>US</wsa1:sublanguage>
    </wsa1:lang>
    </soapenv:Header>
    ……………………</soapenv:Envelope>
    
    

    WSSEタグの場合:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Header>
    <wsse:Security 
    xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1
    .0.xsd">
    <wsse:UsernameToken>
    <wsse:Username>user1</wsse:Username>
    <wsse:Password 
    Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.
    0#PasswordText">password1</wsse:Password>
    </wsse:UsernameToken>
    </wsse:Security>
    <wsa1:lang soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next" 
    soapenv:mustUnderstand="0" xmlns:wsa1="http://xmlns.oracle.com/OIM/provisioning">
    <wsa1:language>en</wsa1:language>
    <wsa1:sublanguage>US</wsa1:sublanguage>
    </wsa1:lang>
    
    </soapenv:Header>
    ……………………</soapenv:Envelope>
    
    

    12.7.5 SOAP SPMLメッセージの例

    次のSOAP SPMLメッセージは、Oracle Application Server上のSPML Webサービスに対する追加リクエスト処理の例です。

    カスタム・セキュリティ・タグを使用:

    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header>
    <wsa1:OIMUser soap:mustUnderstand="0" 
    xmlns:wsa1="http://xmlns.oracle.com/OIM/provisioning">
    <wsa1:OIMUserId 
    xmlns:wsa1="http://xmlns.oracle.com/OIM/provisioning">user1</wsa1:OIMUserId>
    <wsa1:OIMUserPassword 
    xmlns:wsa1="http://xmlns.oracle.com/OIM/provisioning">password1</wsa1:OIMUserPassword>
    </wsa1:OIMUser>
    </soap:Header>
    <soap:Body>
    <SPMLv2Document xmlns="http://xmlns.oracle.com/OIM/provisioning">
    <addRequest returnData="everything" xmlns="urn:oasis:names:tc:SPML:2:0" 
    xmlns:dsml="urn:oasis:names:tc:DSML:2:0:core">
    <data>
      <dsml:attr name="objectclass">
        <dsml:value>Users</dsml:value>
      </dsml:attr>
      <dsml:attr name="Users.User ID">
        <dsml:value>John Doe</dsml:value>
      </dsml:attr>
      <dsml:attr name="Users.First Name">
        <dsml:value>John</dsml:value>
      </dsml:attr>
      <dsml:attr name="Users.Last Name">
        <dsml:value>Doe</dsml:value>
      </dsml:attr>
      <dsml:attr name="Organizations.Organization Name">
        <dsml:value>Xellerate Users</dsml:value>
      </dsml:attr>
      <dsml:attr name="Users.Xellerate Type">
        <dsml:value>End-User</dsml:value>
      </dsml:attr>
      <dsml:attr name="Users.Role">
        <dsml:value>Full-Time</dsml:value>
      </dsml:attr>
      <dsml:attr name="Users.Password">
        <dsml:value>welcome</dsml:value>
      </dsml:attr>
    </data>
    </addRequest>
    </SPMLv2Document>
    </soap:Body>
    </soap:Envelope>
    
    

    WSSEセキュリティ・タグを使用:

    <?xml version="1.0" encoding="utf-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Header>
    <wsse:Security 
    xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1
    .0.xsd">
    <wsse:UsernameToken>
    <wsse:Username>user1</wsse:Username>
    <wsse:Password 
    Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.
    0#PasswordText">password1</wsse:Password>
    </wsse:UsernameToken>
    </wsse:Security>
    </soapenv:Header>
    <soapenv:Body>
    <SPMLv2Document xmlns="http://xmlns.oracle.com/OIM/provisioning">
    <addRequest returnData="everything" xmlns="urn:oasis:names:tc:SPML:2:0" 
    xmlns:dsml="urn:oasis:names:tc:DSML:2:0:core">
    <data>
      <dsml:attr name="objectclass">
        <dsml:value>Users</dsml:value>
      </dsml:attr>
      <dsml:attr name="Users.User ID">
        <dsml:value>John Doe</dsml:value>
      </dsml:attr>
      <dsml:attr name="Users.First Name">
        <dsml:value>John</dsml:value>
      </dsml:attr>
      <dsml:attr name="Users.Last Name">
        <dsml:value>Doe</dsml:value>
      </dsml:attr>
      <dsml:attr name="Organizations.Organization Name">
        <dsml:value>Xellerate Users</dsml:value>
      </dsml:attr>
      <dsml:attr name="Users.Xellerate Type">
        <dsml:value>End-User</dsml:value>
      </dsml:attr>
      <dsml:attr name="Users.Role">
        <dsml:value>Full-Time</dsml:value>
      </dsml:attr>
      <dsml:attr name="Users.Password">
        <dsml:value>welcome</dsml:value>
      </dsml:attr>
    </data>
    </addRequest>
    </SPMLv2Document>
    </soapenv:Body>
    </soapenv:Envelope>
    
    

  • 戻る 次へ
    Oracle
    Copyright © 2009 Oracle Corporation.

    All Rights Reserved.
    目次
    目次
    索引
    索引