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

前
 
次
 

32 SPMLサービスの使用

Oracle Identity Managerでは、クライアント・アプリケーションに対して、Service Provisioning Markup Language (SPML)を使用するアイデンティティ管理サービスを提供します。

この章では、Oracle Identity ManagerでサポートされるSPML XSD Webサービス・インタフェースについて説明します。内容は次のとおりです。

32.1 概要

この項では、Oracle Identity ManagerでのXSDプロファイルを使用したSPMLサービスの使用について説明します。

32.1.1 SPMLの相互作用について

Oracle Identity Managerでは、クライアント・アプリケーションでアイデンティティ(ユーザーおよびロール)を管理できるようにする、アイデンティティ管理サービスを提供します。このサービスでは、ユーザー、リソースおよびサービス・プロビジョニング情報の交換のための、OASIS委員会の仕様に基づくXMLフレームワークである、Service Provisioning Markup Language (SPML)が使用されます。

このドキュメントでは、Oracle Identity ManagerでサポートされるSPMLの相互作用をリストおよび説明します。

プロファイル・サポート

SPMLには、XSDプロファイルとDSMLプロファイルの2つのプロファイルがあります。このリリースのOracle Identity Managerでは、XSDプロファイルを使用します。

相互作用のタイプ

SPML仕様では、同期または非同期の相互作用が可能です。

Oracle Identity Managerでは、リクエストの追加、変更、削除、参照、一時停止および再開のための非同期相互作用のみがサポートされています。ユーザー名サービスの場合、すべてのサービスが同期となります。参照は、同期方式でのユーザーおよびロールに対してサポートされており、エンティティ・キー、一意ユーザー/ロール名、LDAP GUIDおよびLDAP DNを使用して実行できます。このうちLDAP GUIDとLDAP DNは、LDAP同期が有効な場合に適用できます。Oracle Identity Managerが保留のステータスで即時に応答し、リクエスタがstatusRequestを発行して現在の状態を取得します。

検索API

アイデンティティ管理レルムの検索APIについては、Oracle Fusion Middleware Oracle Identity Manager Java APIリファレンスのOracle Identity Management APIを参照してください。

32.1.2 統合インタフェース

統合インタフェースは、Service Provisioning Markup Language (SPML)の観点から定義されています。Oracle Identity Managerでは、SPMLの実装によって、アイデンティティとロールの管理およびユーザー名の予約機能がサポートされています。

非同期と同期の両方の実行モードがサポートされていますが、すべてのサービスで両方のモードがサポートされているわけではありません。リクエストで無効なモードが指定されていると、サービスは、unsupportedExecutionMode SPMLエラー・コードを戻します。

SPMLサービスを使用するには、アプリケーションでWebサービス・クライアントを作成する必要があります。このクライアントのWSDLは、次のURLから入手可能です。

http://OIM_HOST:OIM_PORT/spml-xsd/SPMLService?WSDL

別の方法として、ホストされたSPML WebサービスのエンドポイントURLを使用して、WSDLおよびXMLのスキーマ定義に移動することもできます。

XSD (oracle_common_pso.xsd)は、$OIM_HOME/features/spml-xsd.jarから入手可能です。

32.2 一般的な考慮事項

次を実行して、SPMLがOracle Identity Managerと連動することを確認します。

32.2.1 ユーザーへのSPML管理者ロールの割当て

Oracle Identity Managerでは、SPMLの管理ロールが提供されます。この管理ロールを持つユーザーは、すべてのユースケースのSPMLリクエストを実行できます。SPML管理ロールの名前は、SPML管理者です。

SPML管理者の管理ロールには、次の権限があります。

  • リクエストを介したユーザーの作成、変更および削除

  • すべての属性でのユーザーの検索

  • リクエストを介したユーザー・ステータスの有効化

  • リクエストを介したユーザー・ステータスの無効化

  • リクエストを介したロール・メンバーシップの追加

  • リクエストを介したロール・メンバーシップの削除

  • すべての属性でのロールの検索

  • リクエストを介したロールの作成、変更および削除

SPML管理者の管理ロールは、最上位組織に公開されるグローバル管理ロールです。そのため、最上位組織のシステム管理者または組織管理者のみが、最上位組織のスコープ内で任意のユーザーにこの管理ロールを割り当てることができます。

Oracle Identity Managerの新しいデプロイメントの場合、デフォルトではSPML管理者の管理ロールはどのユーザーにも割り当てられません。したがって、最上位組織のシステム管理者または組織管理者は、関連するユーザーにこのロールを手動で割り当てる必要があります。また、「階層を含める」または「下位組織を含める」オプションを有効にして、最上位組織のスコープ内でSPML管理者の管理ロールを割り当てることもできます。その結果、SPML管理者の管理ロールのすべての権限が、Oracle Identity Managerのすべての組織を対象として、ユーザーに割り当てられます。


注意:

Oracle Identity Managerのデプロイメントをアップグレードした場合は、SPML管理者の管理ロールを割り当てるために既存のSPMLユーザーがアップグレードされるため、これらのユーザーは引き続きSPMLリクエストを実行できます。


ユーザーにSPML管理者の管理ロールを割り当てるには、次の手順を実行します。

  1. Oracle Identity Self Serviceにログインします。SPML管理者の管理ロールを新しいユーザーに割り当てる場合は、そのユーザーを作成します。

  2. 最上位組織を開いて「管理ロール」タブをクリックします。

  3. SPML管理者の管理ロールを選択し、ユーザーにこのロールを割り当てます。

  4. 新たに追加したメンバーシップを変更して「下位組織を含める」オプションを選択し、「適用」をクリックします。

32.2.2 自動承認ポリシーの作成

SPMLリクエストが自動承認されるようにするには、自動承認ポリシー・ルールが必要です。Oracle Identity Manager 11gリリース2 (11.1.2.1.0)には、リクエスト・テンプレートがありません。そのため、各SPMLユーザーに対し、システム管理者が手動で自動承認ポリシー・ルールを作成する必要があります。

作成する自動承認ポリシーはユーザー・ログインに基づくことができ、各ポリシーの承認プロセス構成は「自動承認」として選択する必要があります。各SPML操作(ユーザーの作成、ユーザーの変更、ロールの作成など)に対してSPMLユーザーが要求するすべてのSPMLリクエストがリクエスト・レベルおよび操作レベルで承認されるように、これらの操作ごとに自動承認ポリシーを作成する必要があります。


注意:

ロールの作成、ロールの変更、ロールの削除操作には、リクエスト・レベルの承認ポリシーのみが必要です。


自動承認ポリシー・ルールを作成するには、次の手順を実行します。

  1. 次に対して新しい自動承認ポリシー・ルールを作成します。

    • ユーザーの作成(リクエスト・レベル)

    • ユーザーの作成(操作レベル)

    • ユーザーの変更(リクエスト・レベル)

    • ユーザーの変更(操作レベル)

    • ユーザーの削除(リクエスト・レベル)

    • ユーザーの削除(操作レベル)

    • ユーザーの有効化(リクエスト・レベル)

    • ユーザーの有効化(操作レベル)

    • ユーザーの無効化(リクエスト・レベル)

    • ユーザーの無効化(操作レベル)

    • ロールの割当て(リクエスト・レベル)

    • ロールの割当て(操作レベル)

    • ロールの削除(リクエスト・レベル)

    • ロールの削除(操作レベル)

    • ロールの作成(リクエスト・レベル)

    • ロールの変更(リクエスト・レベル)

    • ロールの削除(リクエスト・レベル)

  2. ユーザー・ログインに基づいて各ポリシーのルールを作成します。ユーザー・ログインの評価で大/小文字が区別されることを確認してください。図32-1に、サンプル・ルールを示します。

    図32-1 承認ポリシー・ルールのサンプル

    図32-1の説明が続きます
    「図32-1 承認ポリシー・ルールのサンプル」の説明


注意:

ユーザー・ログインに基づき、SPMLユーザーに対して作成された自動承認ポリシーでは、リクエストがSPML、UIまたはその他のフローを介して要求されているかに関係なく、ユーザーが要求したすべてのリクエストが自動承認されます。


32.3 アイデンティティの作成(SPMLコア・サービス: addRequest)

ユーザー属性またはロール属性を使用してアイデンティティを作成するには、非同期実行モードがサポートされているaddRequest操作を実装します。リクエスト送信が正常に行われると、リクエスト送信トラッキングIDが戻され、リクエスト・ステータスが保留としてリストされます。

ユーザーを作成するときに、addRequest操作を使用して、ロール・メンバーシップをそのユーザーに割り当てることもできます。そのためには、typeOfReferenceがmemberOfに設定されたSPML参照機能を使用してロールGUIDをPSO参照IDとして組み込む必要があります。


注意:

  • ユーザー名属性またはパスワード属性が指定されていない場合、適切なプラグインがインストールされていると、これらの属性をOracle Identity Managerで自動生成できます。

  • パスワードを指定してユーザーを作成する場合、SPMLユーザー作成ペイロード内にユーザー・パスワードをBase64エンコード・フォーマットで指定します。例:

    <pso:password>
    <pso:value>V2VsY29tZTc=</pso:value>
    </pso:password>
    

    文字列にBase64でエンコードされた値を取得するには、任意の標準Javaライブラリを使用できます。そのようなライブラリの例が次のApache Commonsライブラリです。 - org.apache.commons.codec.binary.Base64. encodeBase64("PASSWORD".getBytes())

  • SPML管理者ロールを持つユーザーによって作成されたロールは、最上位組織とそのサブ組織に自動公開されます。


表32-1に、addRequest操作によるアイデンティティ作成の機能を示します。

表32-1 addRequestによるアイデンティティ作成

項目/機能 説明

SPML実行モード

非同期のみ。

入力

[SPMLv2]で定義されたaddRequest要素。

オプション(ロール・メンバーシップの参照機能)。

出力

[SPMLv2]で定義されたaddResponse要素。

処理

追加操作を使用して、アイデンティティを追加できます。必要に応じて、既存のロールをアイデンティティに割り当てる場合があります。

customError SPMLカスタム・エラー・コードを使用すると、ランタイム・エラーが報告されます。レスポンスでは、検証エラーのみが戻されます。リクエストIDは戻されません。

これらの例については、次の付録を参照してください。


32.4 ユーザー、ロール、属性およびロール・メンバーシップの変更(SPMLコア・サービス: modifyRequest)

次のタスクのためのSPML modifyRequestサービスを実装します。

表32-2に、modifyRequest操作によるロール・メンバーシップ管理の機能を示します。

表32-2 modifyRequestによるロール・メンバーシップ管理

項目/機能 説明

SPML実行モード

非同期

入力

[SPMLv2]で定義されたmodifyRequest要素。

ロール・メンバーシップを削除するにはmodificationMode="delete"を使用し、ロール・メンバーシップを追加するにはmodificationMode="add"を使用します。

参照機能(typeOfReference="inheritsFrom")およびPSO IDとしてのロールGUIDを使用して宣言されたロール・メンバーシップ。

出力

[SPMLv2]で定義されたmodifyResponse要素。

処理

modifyRequest操作を使用して、既存のアイデンティティまたは既存のロールを変更できます。

この操作では、アイデンティティとロールの両方について、SPML実行モードを確認します。実行モードが無効な場合は、unsupportedExecutionMode SPMLエラー・コードが戻されます。

変更リクエストにアイデンティティPSOオブジェクトが含まれていないか、または無効なGUIDが含まれている場合、この操作により、malformedRequestまたはinvalidIdentifier SPML不正リクエスト・エラーがそれぞれ戻されます。

customError SPMLカスタム・エラー・コードを使用すると、その他のランタイム・エラーが報告されます。

これらの例については、次の付録を参照してください。


32.5 アイデンティティまたはロールの削除(SPMLコア・サービス: deleteRequest)

表32-3の説明に従って、SPML deleteRequestサービスを実装し、既存のロールまたはユーザーを削除します。

表32-3 deleteRequestによるロール・メンバーシップの削除

項目/機能 説明

SPML実行モード

非同期

入力

[SPMLv2]で定義されたdeleteRequest要素。

出力

[SPMLv2]で定義されたdeleteResponse要素。

処理

deleteRequest操作を使用して、既存のアイデンティティまたは既存のロールを削除できます。

この操作では、アイデンティティとロールの両方について、SPML実行モードを確認します。実行モードが無効な場合は、unsupportedExecutionMode SPMLエラー・コードが戻されます。

削除リクエストにアイデンティティPSOオブジェクトが含まれていないか、または無効なGUIDが含まれている場合、この操作により、malformedRequestまたはinvalidIdentifier SPML不正リクエスト・エラーがそれぞれ戻されます。

customError SPMLカスタム・エラー・コードを使用すると、その他のランタイム・エラーが報告されます。

「SPMLの例-ロールの削除」の例を参照してください。


32.6 リクエスト・ステータスの確認(SPMLコア・サービス: statusRequest)

ステータス操作を使用すると、リクエスタは、非同期操作が次のステータスであるかどうかを確認できます。

非同期操作の場合、リクエストが送信されると、検証エラー後のエラーをレスポンスで戻すことができません。発生したエラーはステータス・レスポンスで戻されます。statusRequestによってリクエスト・ステータスが失敗として戻される場合、statusResponseによってエラー・メッセージも表示されます。

表32-4に、statusRequest操作の機能を示します。

表32-4 リクエスト・ステータスの確認

項目/機能 説明

SPML実行モード

同期

入力

[SPMLv2]で定義されたstatusRequest要素。

出力

[SPMLv2]で定義されたstatusResponse要素。

処理

ステータス操作では、非同期操作の識別子を含む属性asyncRequestIDが使用されます。

操作識別子が無効な場合、noSuchIdentifierエラー・コードが戻されます。

ステータス操作の結果は、statusResponse要素のステータス属性に指定されます。

「SPMLの例 - ステータス・リクエスト」の例を参照してください。


32.7 使用可能なターゲットのリスト(SPMLコア・サービス: listTargets)

SPML listTargetsサービスを使用すると、リクエスタは、プロバイダがプロビジョニングに使用できる一連のターゲットを取得できます。サービスによって、次のものも戻されます。

現在サポートされているターゲットはOracle Identity Managerのみであり、サポートされているオブジェクト・タイプはOracle Identity Managerのすべてのオブジェクト・タイプです。

表32-5に、listTargetsによるターゲットの取得の機能を示します。

表32-5 listTargetsによるターゲットの取得

項目/機能 説明

SPML実行モード

同期

入力

[SPMLv2]で定義されたlistTargetsRequest要素。

出力

[SPMLv2]で定義されたlistTargetsResponse要素。

処理

XMLスキーマのプロファイルのみがサポートされています。別のプロファイル・リクエストの場合には、unsupportedProfileエラー・コードが表示されて失敗します。

単一で静的なプロビジョニング・ターゲットOracle Identity Managerがサポートされています。

PSOオブジェクト・スキーマ、各PSOに対してサポートされている機能のリストおよび操作データ機能のスキーマをlistTargetsResponse要素に挿入することによって、レスポンスが生成されます。


32.8 ユーザーの無効化(SPML一時停止サービス: suspendRequest)

一時停止操作を使用すると、リクエスタはユーザーを一時停止できます。

表32-6に、suspendRequest操作の機能を示します。

表32-6 suspendRequestによるユーザーの一時停止

項目/機能 説明

SPML実行モード

非同期

入力

[SPMLv2]で定義されたsuspendRequest要素。

出力

[SPMLv2]で定義されたsuspendResponse要素。

処理

この操作には、有効なユーザーPSO IDおよび必要に応じて有効な一時停止日付が必要です。

PSO識別子が無効な場合は、noSuchIdentifierエラー・コードが戻されます。

一時停止操作はユーザーに対してのみ適用できます。PSOオブジェクトがアイデンティティでない場合は、unsupportedOperationエラーが戻されます。

「SPMLの例-ユーザーの一時停止」の例を参照してください。


32.9 ユーザーの有効化(SPML一時停止サービス: resumeRequest)

resumeRequest操作を使用すると、リクエスタは一時停止されたユーザーを再開したり有効化できます。

表32-7に、resumeRequest操作の機能を示します。

表32-7 resumeRequestによるユーザーの再有効化

項目/機能 説明

SPML実行モード

非同期

入力

[SPMLv2]で定義されたresumeRequest要素。

出力

[SPMLv2]で定義されたresumeResponse要素。

処理

この操作には、有効なユーザーPSO IDが必要であり、必要に応じて有効な再開日付を指定します。

PSO識別子が無効な場合は、noSuchIdentifierエラー・コードが戻されます。

再開操作はユーザーに対してのみ適用できます。PSOオブジェクトがアイデンティティでない場合は、unsupportedOperationエラーが戻されます。

「SPMLの例-ユーザーの再開」の例を参照してください。


32.10 ユーザーがアクティブであるかどうかの確認(SPML一時停止サービス: activeRequest)

activeRequest操作を使用すると、リクエスタは、指定されたユーザーがアクティブであるか、または一時停止されているかを確認できます。

表32-8に、activeRequest操作の機能を示します。

表32-8 activeRequestによるユーザーが一時停止されているかどうかの確認

項目/機能 説明

SPML実行モード

同期

入力

[SPMLv2]で定義されたactiveRequest要素。

出力

[SPMLv2]で定義されたactiveResponse要素。

処理

この操作には、有効なユーザーPSO IDが必要です。

PSO識別子が無効な場合は、noSuchIdentifierエラー・コードが戻されます。

リクエストが有効であり、指定されたユーザーが存在する場合、プロバイダはユーザー・ステータスを取得する必要があります。

activeRequest操作はユーザーに対してのみ適用できます。PSOオブジェクトがアイデンティティでない場合は、unsupportedOperationエラーが戻されます。

「SPMLの例-ユーザーがアクティブであるかどうかの確認」の例を参照してください。


32.11 ユーザー名の検証(SPMLユーザー名サービス: validateUsername)

validateUsername操作を使用すると、リクエスタは、ユーザー名がすでに存在するか、または予約されているかどうかを確認できます。

表32-9に、resumeRequest操作の機能を示します。

表32-9 resumeRequestによるユーザー名の有効性の確認

項目/機能 説明

SPML実行モード

同期

入力

[SPMLv2]で定義されたvalidateUsernameRequest要素。

userNameは受け入れられる唯一の入力パラメータです。

出力

[SPMLv2]で定義されたvalidateUsernameResponse要素。

処理

この操作では、ユーザー名を取得して、このユーザー名が存在しているかどうかを確認します。

処理エラーがSPML customErrorコードとともに報告されます。

「SPMLの例-ユーザー名の検証」の例を参照してください。


32.12 ユーザー名の取得(SPMLユーザー名: suggestUsername)

suggestUsername操作を使用すると、リクエスタは、指定されたポリシーに対する有効なユーザー名を取得できます。

表32-10に、suggestUsername操作の機能を示します。

表32-10 suggestUsernameによるユーザー名の取得

項目/機能 説明

SPML実行モード

同期

入力

[SPMLv2]で定義されたsuggestUsernameRequest要素。

出力

[SPMLv2]で定義されたsuggestUsernameResponse要素。

処理

この操作では、ユーザー情報を取得し、取得した情報を使用して、適用可能なユーザー名ポリシーに基づいたユーザー名を構成します。

処理エラーがSPML customErrorコードとともに報告されます。

「SPMLの例-ユーザー名の提示」の例を参照してください。


32.13 アイデンティティまたはロールの参照(SPMLコア・サービス: lookupRequest)

lookupRequest操作を使用すると、リクエスタは、エンティティ・キー、ユーザー/ロール名、LDAP GUID、LDAP DNのいずれか1つを使用して、システムのユーザーまたはロールを参照できます。このうちLDAP GUIDとLDAP DNは、LDAP同期が有効な環境にのみ適用できます。参照は、同期モードでのみサポートされています。

リクエスタは、returnData属性(デフォルト値はeverything)を使用して、レスポンスのフィルタも選択できます。returnData属性には、次の値を設定できます。

すべてのユーザーは、SPMLインタフェースを使用して参照を実行できます。認可に基いて、リクエスタはユーザーまたはロールを参照できます。適切な認可権限がない場合は、SPMLレスポンスにエラー・コードが返されます。リクエスタが表示する権限を保持している認可済属性のみ、レスポンスに返されます。

表32-11に、lookupRequest操作の機能を示します。

表32-11 lookupRequestを使用したアイデンティティ/ロールの参照

項目/機能 説明

SPML実行モード

同期

入力

[SPMLv2]で定義されたlookupRequest要素

出力

[SPMLv2]で定義されたlookupResponse要素

処理

この操作では、次の形式の有効なユーザーPSO IDが必要です。

psoID ID="ENTITY_TYPE:PSO_ID_TYPE:LOOKUP_VALUE"

説明:

ENTITY_TYPEは、アイデンティティまたはロールです。この値は必須です。

PSO_ID_TYPEは、キー、DN、GUIDまたは名前です。この値はオプションです。

LOOKUP_VALUEは、参照するために有効な値です。この値は必須です。

次に値の例を示します。

psoID ID="identity:key:6"
psoID ID="identity:6"
psoID ID="identity:name:JohnSmith"
psoID ID="identity:dn: cn=john,cn=Users,dc=us,dc=oracle,dc=com"
psoID ID="identity:guid: CEF2C4F20E5BF04DE040F20A9681408D"
psoID ID="role:key:6"
psoID ID="role:6"
psoID ID="role:name:ManagerRole"
psoID ID="role:dn: cn= ManagerRole,cn=Groups,dc=us,dc=oracle,dc=com"
psoID ID="role:guid: CEF2C4F20E5BF04DE040F20A9681408D"

PSO識別子が存在しない場合は、エラー・コードが返されます。リクエストが有効で指定されたユーザー/ロールが存在する場合は、returnData属性に応じて、結果がlookupResponseに返されます。

「SPMLの例 - アイデンティティ/ロールの参照」の例を参照してください。


32.14 パスワードのリセット(SPMLコア・サービス: resetPasswordRequest)

resetPasswordRequest操作を使用すると、リクエスタは、ユーザーのパスワードをリセットできます。

表32-12に、resetPasswordRequest操作の機能を示します。

表32-12 resetPasswordRequestを使用したユーザー・パスワードのリセット

項目/機能 説明

SPML実行モード

同期

入力

[SPMLv2]で定義されたresetPasswordRequest要素

エンド・ユーザーの電子メール通知を制御するためのオプションの通知データ

出力

[SPMLv2]で定義されたresetPasswordRequest要素

処理

ユーザー・キーまたはユーザーGUIDを入力として受け取り、ランダムに作成されたパスワードを使用してパスワードをリセットします。

オプションで、通知データは次の入力として送信できます。

  • SentNotification: 通知を送信するかどうかを決定するブール・フラグ

  • SendNotificationTo: カンマで区切られた電子メール・アドレス

処理エラーがSPML customErrorコードとともに報告されます。

次の例を参照してください。


32.15 ユーザー名ポリシーの参照(SPMLユーザー名サービス: lookupUsernamePolicy)

lookupUsernamePolicy操作を使用すると、リクエスタは、Oracle Identity Managerで構成されたユーザー名ポリシーの詳細を取得できます。リクエストでロケールを指定して、指定のロケールの詳細を取得することもできます。

表32-13に、lookupUsernamePolicy操作の機能を示します。

表32-13 lookupUsernamePolicyを使用したユーザー名ポリシーの詳細の参照

項目/機能 説明

SPML実行モード

同期

入力

[SPMLv2]で定義されたlookupUsernamePolicyRequest要素

出力

[SPMLv2]で定義されたlookupUsernamePolicyResponse要素

処理

Oracle Identity Managerで構成されたユーザー名ポリシーに関する情報を返します。

「SPMLの例 - ユーザー名ポリシーの参照」の例を参照してください。


32.16 リクエストの取消し(SPML非同期サービス: cancelRequest)

cancelRequest操作を使用すると、リクエスタは、指定されたリクエストIDを取り消すことができます。リクエストが正常に取り消されると、保留中の承認もすべて取り消されます。リクエストを取り消すことができるのは、リクエストを送信したリクエスタのみです。

表32-14に、cancelRequest操作の機能を示します。

表32-14 cancelRequestを使用したリクエストのキャンセル

項目/機能 説明

SPML実行モード

同期

入力

[SPMLv2]で定義されたcancelRequest要素

出力

[SPMLv2]で定義されたcancelResponse要素

処理

指定されたリクエストを取り消します。customError SPMLカスタム・エラー・コードを使用して、ランタイム・エラーが報告されます。

「SPMLの例 - リクエストのキャンセル」を参照してください。


32.17 バッチ・リクエスト(SPMLバッチ・リクエスト・サービス: batchRequest)

バッチ操作は、個々のリクエストをいくつも組み合せてSPML v2で定義された単一のリクエストにします。単一のリクエストにできる個々のリクエストの例としては、単一リクエストでのユーザーRobert Kleinの作成、ユーザーTerrence Hillの更新、ユーザーJohn Doeの削除およびユーザーJane Doeのパスワードのリセットなどがあります。

バッチ・リクエストは、トランザクション・セマンティクスをサポートしていません。このため、ネステッド・リクエストの障害により完了済のネステッド・リクエストが元に戻されることがあります。個々のレスポンスはそれぞれ、対応する個々のリクエストが<batchRequest>内に配置される<batchResponse>の範囲内の同じ位置に配置されます。

パラレル処理のみ("processing='parallel'")をサポートし、<batchRequest>内で順不同にネステッド・リクエストを実行します。エラー条件が発生すると、「onError='resume'」で指定された後続のサブリクエストの処理を続けます。1つのリクエストの処理が失敗すると、次のリクエストが処理されます。バッチ処理で1つ以上のネステッド・リクエストが失敗すると、正常に行われたリクエストがあっても、「status='failure'」のある<batchResponse>が返されます。

表32-15に、batchRequest操作の機能を示します。

表32-15 batchRequestを使用したバッチ・リクエストの実行

項目/機能 説明

SPML実行モード

同期

入力

[SPMLv2]で定義されたbatchRequest要素

出力

[SPMLv2]で定義されたbatchResponse要素

処理

この操作では、4種類のサブ・リクエスト(アイデンティティのaddRequest、アイデンティティのmodifyRequest、アイデンティティのdeleteRequest、resetPasswordRequest)のみがサポートされいます。

「SPMLの例 - バッチ・リクエスト」を参照してください。


32.18 SPML Webサービスの保護

この項では、SPML Webサービスを保護する方法について説明します。内容は次のとおりです。

32.18.1 Webサービスのセキュリティについて

SPML XSD Webサービスでは、Oracle Web Services Security Managerを使用してセキュリティが提供されています。SPML Webサービスは、次のポリシーを使用して保護されています。


注意:

SPML XSDプロファイルのWebサービスをロードできるのは、SPML_App_Roleのメンバーであるユーザーによってのみです。これは、追加されたセキュリティに対してのみ行われます。

Webサービスに対するMBeanの構成の詳細は、Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイドを参照してください。


  • SAMLまたはユーザー名トークン・サービス・ポリシー(メッセージ保護付き):

    oracle/wss11_username_token_with_message_protection_client_policy
    
  • ユーザー名トークンおよびメッセージ保護セキュリティを使用したFusion Applications環境:

    oracle/wss11_username_token_with_message_protection_client_policy
    

デフォルトのポリシーは、Oracle Enterprise Manager Fusion Middleware Controlを使用して変更できます。

32.18.2 リクエストの例

サンプルのリクエストは次のようになります。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:ns1="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" >
   <soap:Header>
      <ns1:Security>
         <ns1:UsernameToken>
            <ns1:Username>weblogic</ns1:Username>
            <ns1:Password>weblogic1</ns1:******>
         </ns1:UsernameToken>
      </ns1:Security>
   </soap:Header>
    <soap:Body xmlns:ns1="urn:oasis:names:tc:SPML:2:0">
        <ns1:listTargetsRequest />
    </soap:Body>
</soap:Envelope>

32.18.3 ポリシーの適用

デプロイメント時に、管理者はOracle Enterprise Manager Fusion Middleware Controlコンソールを使用して適切なセキュリティ・ポリシーを適用し、サービスを保護できます。Fusion Middleware Controlの使用の詳細は、次のドキュメントを参照してください。

Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイドのセキュリティおよび管理ツールへのアクセスに関する説明

32.19 サポートされていない操作

Oracle Identity Manager 11gリリース2 (11.1.2.1.0)では、XSDプロファイルの一部として次のSPML操作はサポートされていません。

32.20 SPML属性とLDAPマッピング、およびOracle Identity Managerの属性

SPML XSD Webサービスは、Oracle Identity Managerをバックエンド・サービスとして使用して、Fusionアプリケーションにプロビジョニング機能を提供します。SPML Webサービスの主要ビルディング・ブロックは、プロビジョニング対象となるオブジェクトを定義するSPML Provisioning Service Object (PSO)です。PSOの例としては、アイデンティティやロールがあげられます。

この付録では、サポートされているPSO属性とそのLDAPマッピングを示し、Oracle Identity Managerの属性における文字制限について説明します。最後に、アプリケーションからSPML Webサービスに渡すことができるその他の操作データについて説明します。この章には次の項目があります。

32.20.1 アイデンティティのPSO属性

表32-16に、Oracle Identity ManagerでのSPML実装でサポートされているアイデンティティ属性、およびこれらの属性とLDAPオブジェクト/属性のマッピングを示します。


注意:

「構文」列は、関連する属性プロパティ(型、必須かどうかなど)を示しています。


表32-16 アイデンティティのPSO属性

SPML属性名 構文 説明 LDAPマッピング(Oracle Internet Directory)

ID

文字列、読取り専用、必須、単一

変更リクエストでユーザーを識別するために使用される識別子。

orclUserV2: orclguid

activeEndDate

タイムスタンプ、単一

ユーザーの終了日時。

orclUserV2: orclActiveEndDate

activeStartDate

タイムスタンプ、単一

ユーザーのアクティブ化日時。

orclUserV2: orclActiveStartDate

commonName

文字列、

必須

個人の共通名(通常は、個人のフルネームに同じバリエーションを加えたものです)。

person: cn

countryName

文字列、単一

個人の勤務先の国(2文字の[ISO3166]国コードで表されます)。

orclUserV2: c

departmentNumber

文字列、単一

この個人が所属する組織内の部門コード。数字のみまたは英数字を指定できます。

inetOrgPerson: departmentNumber

description

文字列、単一

個人に関する判読可能な説明。

person: description

displayName

文字列、単一、MLS

個人のエントリを表示するときに使用する優先名。

多言語サポート(MLS)に対応しており、ロケールの言語値(「en」や「fr」など)も指定できます。

inetOrgPerson: displayName

employeeNumber

文字列、単一

個人に割り当てられる数字または英数字の識別子(通常は、入社順や組織との関連に基づきます)。

inetOrgPerson: employeeNumber

employeeType

文字列、単一

従業員のタイプを識別します。有効な値のリストは、表32-17を参照してください。

inetOrgPerson: employeeType

facsimileTelephoneNumber

文字列、単一

個人の業務用FAX端末の電話番号。

organizationalPerson: facsimileTelephoneNumber

generationQualifier

文字列、単一

一般に個人名の接尾辞部となる名前文字列(「III」、「3rd」、「Jr.」など)。

N/A

givenName

文字列、単一

個人名の一部となる名前文字列(姓以外、名など)。

inetOrgPerson: givenName

hireDate

タイムスタンプ、単一

入社日。

orclUserV2: orclHireDate

homePhone

単純、文字列

個人に関連付けられている自宅電話番号。

inetOrgPerson:homePhone

homePostalAddress

単純、文字列

個人の自宅住所。

inetOrgPerson: homePostalAddress

initials

文字列、単一

個人名の一部またはすべて(姓以外)。

inetOrgPerson: initials

localityName

単純、文字列

勤務先の地域や場所の名前(市区町村、郡、その他の地理的地域など)。

N/A

mail

単純、文字列

個人の業務用インターネット・メール・アドレス(メールボックス[RFC2821]形式)。

inetOrgPerson: mail

manager

単純、文字列

個人のマネージャ。

N/A

middleName

文字列、単一

個人のミドル・ネーム。

orclUserV2: middleName

mobile

単純、文字列

個人に関連付けられている携帯電話番号。

inetOrgPerson: mobile

organization

文字列、単一

組織の名前(my_companyなど)。

organization

organizationUnit

文字列、単一

組織内の単位の名前(IT Supportなど)。

organizationalUnitName

pager

単純、文字列

個人の業務用ページャ電話番号。

inetOrgPerson: pager

password

文字列、単一

ユーザーのパスワード。

person: userPassword

postalAddress

文字列、単一

郵便業務で個人にサービスを提供するために使用される勤務先住所。

organizationalPerson: postalAddress

postalCode

文字列、単一

郵便業務で個人の勤務先の郵便ゾーンを識別するために使用されるコード。

organizationalPerson: postalCode

postOfficeBox

文字列、単一

郵便業務で使用される私書箱識別子(カスタマは、郵便局の敷地内で私書箱を通じて郵便物を受け取るように手配することができます)。

organizationalPerson: postOfficeBox

preferredLanguage

文字列、単一

個人の優先文字言語または優先会話言語。これは、国際化対応や人間とコンピュータの対話に役立ちます。この属性タイプの値は、[RFC2068]に定義されたAccept-Languageヘッダー・フィールドの定義に準拠する必要があります(ただし、1つの例外として、シーケンス"Accept-Language" ":"は省略してください)。

inetOrgPerson: preferredLanguage

state

文字列、単一

個人の勤務先の都道府県の完全名。

organizationalPerson: st

street

文字列、単一

個人の勤務先住所の場所情報(つまり、通り名、土地、番地)。

organizationalPerson: street

surname

文字列、単一

個人の姓の名前文字列。

person: sn

telephoneNumber

文字列、単一

個人の勤務先電話番号。

organizationalPerson: telephoneNumber

title

文字列、単一

組織における個人の役職。

organizationalPerson: title

username

文字列、単一

個人に関連付けられているコンピュータ・システム・ログイン名。

uid

userType

文字列、単一

ユーザーのタイプ。この属性は、エンドユーザーにDesign Consoleへのアクセスを提供するために使用します。使用可能な値はtrueとfalseです。



表32-17に、employeeType属性の有効な値を示します。

表32-17 employeeTypeの有効な値

意味

Full-Time

フルタイムの従業員

Part-Time

パートタイムの従業員

Temp

Temp

Intern

Intern

Consultant

Consultant

Contractor

Contractor

EMP

従業員

CWK

派遣就業者

NONW

非就業者

OTHER

その他の従業員タイプ



注意:

Oracle Identity Managerによって渡されるのは、「値」列に示すコードのみです。各コードの意味を参考のために記載しています。


32.20.1.1 カスタム・アイデンティティ属性

Oracle Identity Managerの機能をサポートするためのカスタム属性が用意されています。これらの属性は、Oracle Identity Managerに存在し(ユーザー定義のフィールドを追加した場合など)、PSOには存在しません。

マッピングをエンドツーエンドで機能させるには、カスタム属性名を対応するリクエスト・データセットで指定された属性名と一致させる必要があります。

次に、カスタム属性の例をいくつか紹介します。

...
<data>
<pso:identity>
 <pso:attributes>
 <pso:attr name="Number Format">
 <pso:value>#,##0.##[.,]</pso:value>
</pso:attr>
 <pso:attr name="Currency">
 <pso:value>USD</pso:value>
</pso:attr>
</attributes>
...

32.20.2 ロールのPSO属性

表32-18に、Oracle Identity ManagerでのSPML実装でサポートされているロール属性、およびこれらの属性とLDAPオブジェクト/属性のマッピングを示します。

表32-18 ロールのPSO属性

属性名 構文 説明

ID

文字列、読取り専用、必須、単一

ロールを一意に識別するPSO識別子。通常はディレクトリのGUIDです。

commonName

文字列、必須、MLS

ロールの共通名。

description

単一

ロールに関する判読可能な説明。

displayName

文字列、単一、MLS

ロールのエントリを表示するときに使用する優先名。


32.20.2.1 カスタム・ロール属性

Oracle Identity Managerの機能をサポートするためのカスタム属性が用意されています。これらの属性は、Oracle Identity Managerに存在し、PSOには存在しません。

マッピングをエンドツーエンドで機能させるには、カスタム属性名を対応するリクエスト・データセットで指定された属性名と一致させる必要があります。

次に、カスタム・ロール属性の例を紹介します。

...
<pso:attributes>
<pso:attr name="Role Category Name">
<pso:value>Cat1</pso:value>
</pso:attr>
...

Role Category Nameは特別なカスタム・ロール属性です。これはロールの名前空間です。それぞれのロールがいずれかのロール・カテゴリに属しています。新しいロールの作成時に指定できます。指定しなかった場合は、デフォルトのロール・カテゴリが選択されます。各ロール・カテゴリおよびロール名によってロールが一意に識別されます。

32.20.3 プリファレンス属性

表32-19に、Oracle Identity ManagerでのSPML実装でサポートされているプリファレンス属性を示します。

表32-19 プリファレンス属性

属性名 構文 説明 LDAPマッピング

数値書式

String

数値の表示書式

orclNumberFormat

値は次のとおりです。

#,##0.##[.,]

#,##0.###[\u00A0,]

#,##0.###

#,##0.###;#,##0.###-

#,##0.###[.,]

#,##0.###;(#,##0.###)[.,]

#,##0.##[\u00A0,]

#,##0.###['.]

#,##0.###[',]

通貨

String

通貨に使用する必要がある記号

orclCurrency

値の例は次のとおりです。

USD

YUN

NZD

INR

日付書式

String

日付の表示書式

orclDateFormat

値は次のとおりです。

MM-dd-yyyy

MM-dd-yy

MM.dd.yyyy

MM.dd.yy

MM/dd/yyyy

MM/dd/yy

M-d-yyyy

M-d-yy

M.d.yyyy

M.d.yy

M/d/yyyy

M/d/yy

dd-MM-yyyydd-MM-yy

d-M-yyyy

d-M-yy

dd.MM.yyyy

dd.MM.yy

d.M.yyyy

d.M.yy

dd/MM/yyyy

dd/MM/yy

d/M/yyyy

d/M/yy

yyyy-MM-dd

yy-MM-dd

yyyy-M-d

yy-M-d

yyyy.MM.dd

yy.MM.dd

yyyy.M.d

yy.M.d

yy. M. d

yyyy/MM/dd

yy/MM/dd

yyyy/M/d

yy/M/d

時間書式

String

時間の表示書式

orclTimeFormat

値は次のとおりです。

HH.mm

HH.mm.ss

HH:mm

HH:mm:ss

H:mm

H:mm:ss

H.mm

H.mm.ss

a hh.mm

a hh.mm.ss

a hh:mm

a hh:mm:ss

ah:mm

ah:mm:ss

hh.mm a

hh.mm.ss a

hh:mm a

hh:mm:ss a

埋込みヘルプ

String

埋込みヘルプを表示するかどうか

orclEmbeddedHelp

値は次のとおりです。

true

false

フォント・サイズ

String

フォントのサイズ

orclFontSize

値は次のとおりです。

LARGE

MEDIUM

色のコントラスト

String

色のコントラスト

orclColorContrast

値は次のとおりです。

STANDARD

HIGH

アクセシビリティ・モード

String

ユーザーのアクセシビリティ・モード

orclAccessibilityMode

値は次のとおりです。

screenReader

inaccessible

default

FA言語

String

デフォルトの優先言語

orclFALanguage

ユーザー名優先言語

String

ユーザーの表示名を示すためだけに使用される優先言語

注意: この属性の設定値はOracle Identity Managerでは使用されません。

orclDisplayNameLanguagePreference


32.20.4 Oracle Identity Managerの属性における特殊文字制限

この項では、Oracle Identity Managerの属性に適用される文字制限を示します。これらの制限に従わないと、属性を使用して操作を実行したときにエラーが発生します。

32.20.4.1 すべての属性で使用可能な文字

英数字(aからz、AからZ、および0から9)とアンダースコア文字(_)は、すべてのOracle Identity Manager属性で使用できます。

32.20.4.2 パスワード・フィールドにおける特殊文字

Passwordフィールドでは次の特殊文字を使用できます。

  • パーセント記号(%)

  • プラス記号(+)

  • 等号(=)

  • カンマ(,)

  • 円記号(\)

  • 一重引用符(')

  • スラッシュ(/)

  • 縦線(|)

32.20.4.3 一重引用符の使用

一重引用符(')は、次の属性でのみ使用できます。

  • ログイン

  • マネージャID

  • ミドル・ネーム

  • グループ名

  • 組織名

  • リソース名

32.20.4.4 セミコロンの使用

セミコロン(;)はアクセス・ポリシー名でのみ使用できます。

32.20.4.5 サポートされていない特殊文字

次の特殊文字は、Oracle Identity Managerのどの属性でもサポートされていません。

  • ピリオド(.)

  • シャープ記号(#)

  • スラッシュ(/)

  • パーセント記号(%)

  • 等号(=)

  • 縦線(|)

  • プラス記号(+)

  • カンマ(,)

  • 円記号(\)

  • 二重引用符(")

  • 小なり記号(<)

  • 大なり記号(>)

32.20.5 操作データ

HCM Fusionアプリケーションなどのリクエスト・アプリケーションは、SPMLリクエスタとして動作します。アプリケーションでは、PSOデータ以外に、いくつかの操作データをSPML Webサービスに渡すことができます。この項では、アプリケーションが操作データを渡す仕組みについて説明します。

32.20.5.1 操作データを渡す場合

操作ごとにリクエスタIDを渡すことができます。Fusionアプリケーションがリクエストで提示する資格証明は、アプリケーションIDです。監査の目的で、リクエスタIDを渡すこともできます。Oracle Identity Managerでは、操作の実際のリクエスタとして、アプリケーションIDのかわりにこのIDが監査されます。

リクエスタIDと一緒に、リクエストの理由も指定できます。

次に、操作データの例を示します。

...
</pso:identity>
</data>
<capabilityData
capabilityURI="http://xmlns.oracle.com/idm/identity/OperationData"
mustUnderstand="true">
<operationData
xmlns="http://xmlns.oracle.com/idm/identity/OperationData" requestorGUID="1"
justification="i need this account">
</capabilityData>
</addRequest>

32.20.5.2 参照データを渡す場合

アプリケーションは、なんらかの参照データをSPMLに渡すことで、コールバックを受け取ったときに、コンテキストでそのコールバックに対して参照データによって識別されるようにする必要もあります。これはパススルー・データであり、Oracle Identity Managerでは無視されますが、コールバックには返されます。

次に、<LdapRequestId>を扱った例を示します。

...
...
</pso:identity>
</data>
<capabilityData
capabilityURI="http://xmlns.oracle.com/idm/identity/OperationData"
mustUnderstand="true">
<operationData
xmlns="http://xmlns.oracle.com/idm/identity/OperationData" requestorGUID="1"
justification="i need this account">
<LdapRequestId
xmlns="http://xmlns.oracle.com/apps/hcm/users/ldapRequestService/">102329090340
</operationData>
</capabilityData>
</addRequest>

32.21 SPMLの例

この付録では、次のSPML XSDの例を紹介します。

32.21.1 SPMLの例 - ユーザーの追加

次に、リクエストを示します。

<addRequest xmlns="urn:oasis:names:tc:SPML:2:0" xmlns:pso="http://xmlns.oracle.com/idm/identity/PSO" executionMode="asynchronous" locale="en" policyURI="http://www.sample.com/string/string" requestID="string" returnData="identifier" targetID="string">
<!--Zero or more repetitions:-->
<data>
<!--You have a CHOICE of the next 3 items at this level-->
<pso:identity>
<!--Optional:-->
<pso:attributes>
<!--Here, My Attribute is a UDF, with 'My Attribute' also added in CreateUserDataset.xml -->
<pso:attr name="My Attribute">
<pso:value>New Value</pso:value>
</pso:attr>
</pso:attributes>
<!--Optional:-->
<pso:activeEndDate>2009-06-12T16:00:00</pso:activeEndDate>
<!--Optional:-->
<pso:activeStartDate>2009-06-11T18:00:00</pso:activeStartDate>
<pso:commonName>
<pso:value>All Optional Values</pso:value>
</pso:commonName>
<!--Optional:-->
<pso:countryName>India</pso:countryName>
<!--Optional:-->
<pso:departmentNumber>
<!--1 or more repetitions:-->
<pso:value>123456</pso:value>
</pso:departmentNumber>
<!--Optional:-->
<pso:description>
<!--1 or more repetitions:-->
<pso:values>
<!--1 or more repetitions:-->
<pso:value>All Optional Fields Profile</pso:value>
</pso:values>
</pso:description>
<!--Optional:-->
<pso:displayName>
<!--1 or more repetitions:-->
<pso:value locale="en">All Optional Values</pso:value>
</pso:displayName>
<!--Optional:-->
<pso:employeeNumber>24073</pso:employeeNumber>
<!--Optional:-->
<pso:employeeType>
<!--1 or more repetitions:-->
<pso:values>
<!--1 or more repetitions:-->
<pso:value>Part-Time</pso:value>
</pso:values>
</pso:employeeType>
<!--Optional:-->
<pso:facsimileTelephoneNumber>
<!--1 or more repetitions:-->
<pso:number>08041085304</pso:number>
</pso:facsimileTelephoneNumber>
<!--Optional:-->
<pso:generationQualifier>
<!--1 or more repetitions:-->
<pso:value>II</pso:value>
</pso:generationQualifier>
<!--Optional:-->
<pso:givenName>
<!--1 or more repetitions:-->
<pso:value>OptionalGivenName</pso:value>
</pso:givenName>
<!--Optional:-->
<pso:hireDate>2009-06-11T16:00:00</pso:hireDate>
<!--Optional:-->
<pso:homePhone>
<!--1 or more repetitions:-->
<pso:number>9999999999</pso:number>
</pso:homePhone>
<!--Optional:-->
<pso:homePostalAddress>
<!--1 or more repetitions:-->
<pso:value>marathahalli</pso:value>
</pso:homePostalAddress>
<!--Optional:-->
<pso:initials>
<!--1 or more repetitions:-->
<pso:value>SJ</pso:value>
</pso:initials>
<!--Optional:-->
<pso:localityName>
<!--1 or more repetitions:-->
<pso:value>Munekolala</pso:value>
</pso:localityName>
<!--Optional:-->
<!--pso:mail>
<pso:value>jdong12@mycompany.com</pso:value>
</pso:mail-->
<!--Optional:-->
<pso:middleName>MiddleName</pso:middleName>
<!--Optional:-->
<pso:mobile>
<!--1 or more repetitions:-->
<pso:number>9886078373</pso:number>
</pso:mobile>
<!--Optional:-->
<pso:organization>
<pso:value>2</pso:value>
</pso:organization>
<!--Optional:-->
<pso:organizationUnit>
<pso:value>Marketing</pso:value>
</pso:organizationUnit>
<!--Optional:-->
<pso:pager>
<!--1 or more repetitions:-->
<pso:number>7777</pso:number>
</pso:pager>
<!--Optional:-->
<pso:password>
<!--1 or more repetitions:-->
<pso:value>saijha</pso:value>
</pso:password>
<!--Optional:-->
<pso:postalAddress>
<!--1 or more repetitions:-->
<pso:value>Marathahalli</pso:value>
</pso:postalAddress>
<!--Optional:-->
<pso:postalCode>
<!--1 or more repetitions:-->
<pso:value>560037</pso:value>
</pso:postalCode>
<!--Optional:-->
<pso:postOfficeBox>
<!--1 or more repetitions:-->
<pso:value>999</pso:value>
</pso:postOfficeBox>
<!--Optional:-->
<pso:preferredLanguage>en</pso:preferredLanguage>
<!--Optional:-->
<pso:state>
<!--1 or more repetitions:-->
<pso:value>Karnataka</pso:value>
</pso:state>
<!--Optional:-->
<pso:street>
<!--1 or more repetitions:-->
<pso:value>Satyam Street</pso:value>
</pso:street>
<!--Optional:-->
<pso:surname>
<pso:values>
  <!--1 or more repetitions:-->
<pso:value>Jha</pso:value>
</pso:values>
</pso:surname>
<!--Optional:-->
<pso:telephoneNumber>
<!--1 or more repetitions:-->
<pso:number>08041085304</pso:number>
</pso:telephoneNumber>
<!--Optional:-->
<pso:title>
<pso:value>Mr</pso:value>
</pso:title>
<!--Optional:-->
<pso:username>
<!--1 or more repetitions:-->
<pso:value>jsmith</pso:value>
</pso:username>
<pso:manager>5</pso:manager>
</pso:identity>
</data>
</addRequest>

次に、ユーザー・ログインがすでに存在する場合のユーザーの追加レスポンスの例を示します。

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header/>
<env:Body>
<ns3:addResponse xmlns:ns2="http://xmlns.oracle.com/idm/identity/PSO" xmlns:ns3="urn:oasis:names:tc:SPML:2:0" xmlns:ns4="urn:oasis:names:tc:SPML:2:0:suspend" xmlns:ns5="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username" xmlns:ns6="urn:oasis:names:tc:SPML:2:0:password" xmlns:ns7="urn:oasis:names:tc:SPML:2:0:reference" xmlns:ns8="urn:oasis:names:tc:SPML:2:0:async" xmlns:ns9="urn:names:spml:ws:header" status="failure" error="malformedRequest" extendedError="IAM-3076048">
<ns3:errorMessage>username jsmith already exists.</ns3:errorMessage>
</ns3:addResponse>
</env:Body>
</env:Envelope>

次に、単一値のみを受け入れる属性に対して複数値が渡された場合のユーザーの追加レスポンスの例を示します。

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<ns3:addResponse xmlns:ns2="http://xmlns.oracle.com/idm/identity/PSO" xmlns:ns3="urn:oasis:names:tc:SPML:2:0" xmlns:ns4="urn:oasis:names:tc:SPML:2:0:suspend" xmlns:ns5="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username" xmlns:ns6="urn:oasis:names:tc:SPML:2:0:password" xmlns:ns7="urn:oasis:names:tc:SPML:2:0:reference" xmlns:ns8="urn:oasis:names:tc:SPML:2:0:async" xmlns:ns9="urn:names:spml:ws:header" status="pending" requestID="5" error="malformedRequest" extendedError="IAM-3071022"><ns3:errorMessage>The attribute commonName is not multi-language enabled in OIM. Only the value John Smith will be saved.</ns3:errorMessage>
<ns3:errorMessage>The attribute organization is not multi-language enabled in OIM. Only the value 1 will be saved.
</ns3:errorMessage>
</ns3:addResponse>
</env:Body>
</env:Envelope>

注意:

  • ユーザーの追加リクエストのステータスを調べる方法は、「SPMLの例 - ステータスのリクエスト」を参照してください。

  • displayName属性は多言語サポート(MLS)に対応しており、言語値として「en」、「fr」などを指定できます。


32.21.2 SPMLの例 - ユーザーの削除

次に、リクエストを示します。

<deleteRequest xmlns="urn:oasis:names:tc:SPML:2:0"
xmlns:pso="http://xmlns.oracle.com/idm/identity/PSO" executionMode="asynchronous"
locale="en" policyURI="http://www.sample.com/string/string"
requestID="string" returnData="identifier" targetID="string">
<psoID ID="identity:6C9B96E99FC8DC32E040E50A3D5252F5" />
</deleteRequest>

次に、レスポンスを示します。

<ns9:ResponseType xmlns="http://xmlns.oracle.com/idm/identity/PSO"
xmlns:ns2="urn:oasis:names:tc:SPML:2:0"
xmlns:ns3="urn:oasis:names:tc:SPML:2:0:reference"
xmlns:ns4="urn:oasis:names:tc:SPML:2:0:password"
xmlns:ns5="urn:oasis:names:tc:SPML:2:0:suspend"
xmlns:ns6="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username"
xmlns:ns7="urn:names:spml:ws:header" xmlns:ns8="urn:oasis:names:tc:SPML:2:0:async"
xmlns:ns9="oasis:names:tc:SPML:2:0" requestID="19" status="pending"/>

32.21.3 SPMLの例 - ユーザーの変更

次に、リクエストを示します。

<modifyRequest xmlns="urn:oasis:names:tc:SPML:2:0"
xmlns:pso="http://xmlns.oracle.com/idm/identity/PSO" executionMode="asynchronous"
locale="string" policyURI="http://www.sample.com/string/string"
requestID="string" returnData="identifier">
<capabilityData capabilityURI="urn:oasis:names:tc:SPML:2:0:reference"
mustUnderstand="true" />
<psoID ID="identity:6C9B96E99FC8DC32E040E50A3D5252F5" />
<modification modificationMode="add">
<component path="/identity" namespaceURI="http://www.w3.org/TR/xpath20" />
<data>
<pso:identity>
<pso:initials>
<!--1 or more repetitions:-->
<pso:value>J S</pso:value>
</pso:initials>
                                        </pso:identity>
                                </data>
                        </modification>
                        <modification modificationMode="replace">
                                <component path="/identity" namespaceURI="http://www.w3.org/TR/xpath20" />
                                <data>
                                        <pso:identity>
                                                <pso:localityName>
                                                        <!--1 or more repetitions:-->
                                                        <pso:value>new_locality</pso:value>
                                                </pso:localityName>
                                                <pso:homePhone>
                                                        <!--1 or more repetitions:-->
                                                        <pso:number>0123456789</pso:number>
                                                </pso:homePhone>
                                                <pso:commonName>
                                                        <!--1 or more repetitions:-->
                                                        <pso:values>
                                                                <!--1 or more repetitions:-->
                                                                <pso:value>FR Alice Krug1</pso:value>
                                                        </pso:values>
                                                </pso:commonName>
                                        </pso:identity>
                                </data>
                        </modification>
                        <modification modificationMode="delete">
                                <component path="/identity" namespaceURI="http://www.w3.org/TR/xpath20" />
                                <data>
                                        <pso:identity>
                                                <pso:pager>
                                                        <!--1 or more repetitions:-->
                                                        <pso:number>333</pso:number>
                                                </pso:pager>
                                        </pso:identity>
                                </data>
                        </modification>
                </modifyRequest>

次に、レスポンスを示します。

<ns9:ModifyResponseType xmlns="http://xmlns.oracle.com/idm/identity/PSO"
xmlns:ns2="urn:oasis:names:tc:SPML:2:0"
xmlns:ns3="urn:oasis:names:tc:SPML:2:0:reference"
xmlns:ns4="urn:oasis:names:tc:SPML:2:0:password"
xmlns:ns5="urn:oasis:names:tc:SPML:2:0:suspend"
xmlns:ns6="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username"
xmlns:ns7="urn:names:spml:ws:header" xmlns:ns8="urn:oasis:names:tc:SPML:2:0:async"
xmlns:ns9="oasis:names:tc:SPML:2:0" requestID="15" status="pending"/>

32.21.4 SPMLの例 - ユーザーの再開

次に、リクエストを示します。

<resumeRequest xmlns="urn:oasis:names:tc:SPML:2:0:suspend"
requestID="120">
<psoID ID="6C9B96E99FC8DC32E040E50A3D5252F5" />
</resumeRequest>

次に、レスポンスを示します。

<ns9:ResponseType xmlns="urn:oasis:names:tc:SPML:2:0"
xmlns:ns2="http://xmlns.oracle.com/idm/identity/PSO"
xmlns:ns3="urn:oasis:names:tc:SPML:2:0:password"
xmlns:ns4="urn:oasis:names:tc:SPML:2:0:suspend"
xmlns:ns5="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username"
xmlns:ns6="urn:names:spml:ws:header" xmlns:ns7="urn:oasis:names:tc:SPML:2:0:async"
xmlns:ns8="urn:oasis:names:tc:SPML:2:0:reference"
xmlns:ns9="oasis:names:tc:SPML:2:0" requestID="120" status="pending"/>

32.21.5 SPMLの例 - ユーザー名の提案

次に、リクエストを示します。

<ns4:suggestUsernameRequest
xmlns:ns4="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username"
xmlns="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username"
xmlns:ns2="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username"
xmlns:ns3="http://xmlns.oracle.com/idm/identity/PSO">
<ns2:identity>
<ns3:givenName>
<ns3:value>testfn</ns3:value>
</ns3:givenName>
<ns3:surname>
<ns3:values>
<ns3:value>testln</ns3:value>
</ns3:values>
</ns3:surname>
</ns2:identity>
</ns4:suggestUsernameRequest>

次に、レスポンスを示します。

<ns9:SuggestUsernameResponseType xmlns="urn:oasis:names:tc:SPML:2:0"
xmlns:ns2="http://xmlns.oracle.com/idm/identity/PSO"
xmlns:ns3="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username"
xmlns:ns4="urn:oasis:names:tc:SPML:2:0:reference"
xmlns:ns5="urn:oasis:names:tc:SPML:2:0:async"
xmlns:ns6="urn:oasis:names:tc:SPML:2:0:password"
xmlns:ns7="urn:names:spml:ws:header"
xmlns:ns8="urn:oasis:names:tc:SPML:2:0:suspend"
xmlns:ns9="oasis:names:tc:SPML:2:0" status="success">
<ns3:username>testfn.testln@mycompany.com</ns3:username>
</ns9:SuggestUsernameResponseType>

32.21.6 SPMLの例 - ユーザーの一時停止

次に、リクエストを示します。

<suspendRequest xmlns="urn:oasis:names:tc:SPML:2:0:suspend"
requestID="139">
<psoID ID="6C9B96E99FC8DC32E040E50A3D5252F5"/>
</suspendRequest>

次に、レスポンスを示します。

<ns9:ResponseType xmlns="urn:oasis:names:tc:SPML:2:0"
xmlns:ns2="http://xmlns.oracle.com/idm/identity/PSO"
xmlns:ns3="urn:oasis:names:tc:SPML:2:0:password"
xmlns:ns4="urn:oasis:names:tc:SPML:2:0:suspend"
xmlns:ns5="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username"
xmlns:ns6="urn:names:spml:ws:header" xmlns:ns7="urn:oasis:names:tc:SPML:2:0:async"
xmlns:ns8="urn:oasis:names:tc:SPML:2:0:reference"
xmlns:ns9="oasis:names:tc:SPML:2:0" requestID="28"
status="pending"/><ns9:ResponseType xmlns="urn:oasis:names:tc:SPML:2:0"
xmlns:ns2="http://xmlns.oracle.com/idm/identity/PSO"
xmlns:ns3="urn:oasis:names:tc:SPML:2:0:password"
xmlns:ns4="urn:oasis:names:tc:SPML:2:0:suspend"
xmlns:ns5="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username"
xmlns:ns6="urn:names:spml:ws:header" xmlns:ns7="urn:oasis:names:tc:SPML:2:0:async"
xmlns:ns8="urn:oasis:names:tc:SPML:2:0:reference"
xmlns:ns9="oasis:names:tc:SPML:2:0" requestID="139" status="pending"/>

32.21.7 SPMLの例 - ユーザー名の検証

次に、リクエストを示します。

<validateUsernameRequest
xmlns="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username">
<username>testfn.testln</username>
</validateUsernameRequest>

次に、レスポンスを示します。

<ns9:ValidateUsernameResponseType xmlns="urn:oasis:names:tc:SPML:2:0"
xmlns:ns2="http://xmlns.oracle.com/idm/identity/PSO"
xmlns:ns3="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username"
xmlns:ns4="urn:oasis:names:tc:SPML:2:0:reference"
xmlns:ns5="urn:oasis:names:tc:SPML:2:0:async"
xmlns:ns6="urn:oasis:names:tc:SPML:2:0:password"
xmlns:ns7="urn:names:spml:ws:header"
xmlns:ns8="urn:oasis:names:tc:SPML:2:0:suspend"
xmlns:ns9="oasis:names:tc:SPML:2:0" valid="true" status="success"/>

32.21.8 SPMLの例 - ユーザーがアクティブかどうかのチェック

次に、リクエストを示します。

<activeRequest xmlns="urn:oasis:names:tc:SPML:2:0:suspend" requestID="143">
<psoID ID="5" targetID="string"/>
</activeRequest>

次に、レスポンスを示します。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns4:ResponseType xmlns="urn:oasis:names:tc:SPML:2:0"
xmlns:ns2="urn:oasis:names:tc:SPML:2:0:suspend"
xmlns:ns3="http://xmlns.oracle.com/idm/identity/PSO"
xmlns:ns4="oasis:names:tc:SPML:2:0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="ns2:ActiveResponseType" active="true" requestID="143"
status="success" />

32.21.9 SPMLの例 - ユーザー名ポリシーの参照

次に、リクエストを示します。

<lookupUsernamePolicyRequest
xmlns="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username">
</lookupUsernamePolicyRequest>

次に、レスポンスを示します。

<ns9:LookupUsernamePolicyResponseType
xmlns="urn:oasis:names:tc:SPML:2:0"
xmlns:ns2="http://xmlns.oracle.com/idm/identity/PSO"
xmlns:ns3="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username"
xmlns:ns4="urn:oasis:names:tc:SPML:2:0:reference"
xmlns:ns5="urn:oasis:names:tc:SPML:2:0:async"
xmlns:ns6="urn:oasis:names:tc:SPML:2:0:password"
xmlns:ns7="urn:names:spml:ws:header"
xmlns:ns8="urn:oasis:names:tc:SPML:2:0:suspend"
xmlns:ns9="oasis:names:tc:SPML:2:0" status="success"
<ns3:description>Generates user name based on email id if it is available, else generate based on first name and last name appended with domain name.</ns3:description>
>

注意:

ポリシーの説明を特定のロケールで表示するには、ペイロードにロケール属性を設定します。このロケールがサポートされていない場合は、デフォルトでは、次に示すようにサーバー・ロケールで表示されます。

<lookupUsernamePolicyRequest locale="th"
xmlns="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username">
</lookupUsernamePolicyRequest>

32.21.10 SPMLの例 - ユーザーの追加とロールの割当て

次に、ユーザー(アイデンティティ)の作成リクエストを示します。


注意:

  • reference要素の下位にはtoPsoID要素を1つだけ含めることができます。複数のロールが存在する場合は、それぞれ個別のreference要素を使用する必要があります。

  • GUIDはどのリクエストでも32文字にする必要があります。


<addRequest 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="urn:oasis:names:tc:SPML:2:0"
    xmlns:spml="urn:oasis:names:tc:SPML:2:0" 
    executionMode="asynchronous" 
    policyURI="create_identity_policy_prc02.xml">
        <spml:data xsi:type="spml:PSOType">
           <identity
             xmlns="http://xmlns.oracle.com/idm/identity/PSO"
             xmlns:pso="http://xmlns.oracle.com/idm/identity/PSO">
            <pso:commonName>
              <pso:values>
                <pso:value>John Doe</pso:value>
              </pso:values>
            </pso:commonName>
            <pso:displayName>
              <pso:value>John Doe</pso:value>
            </pso:displayName>
            <pso:givenName>
              <pso:value>John</pso:value>
            </pso:givenName>
            <pso:mail>
               <pso:value>john.doe@acme.com</pso:value>
            </pso:mail>
            <pso:middleName/>
            <pso:organization>
              <pso:values>
                <pso:value>ACME, Inc.</pso:value>
              </pso:values>
            </pso:organization>
             <pso:password>
              <pso:value>qwert</pso:value>
             </pso:password>
            <pso:surname>
              <pso:values>
                <pso:value>Doe</pso:value>
              </pso:values>
            </pso:surname>
            <pso:username>
               <pso:value>jdoe</pso:value>
            </pso:username>
          </identity>
        </spml:data>
        <spml:capabilityData
           capabilityURI="urn:oasis:names:tc:SPML:2:0:reference"
           mustUnderstand="true" >
           <reference xmlns="urn:oasis:names:tc:SPML:2:0:reference"
              typeOfReference="memberOf">
              <toPsoID ID="15"/>
 <!--To make the user a member of a default role-->
            </reference>       
           
 
           <reference xmlns="urn:oasis:names:tc:SPML:2:0:reference"
              typeOfReference="memberOf">
              <toPsoID ID="6C9B96E99FC8DC32E040E50A3D5252F5"/>
            </reference>       
      </spml:capabilityData>        
</addRequest>

次に、レスポンスを示します。

<spml:addResponse
    xmlns:spml="urn:oasis:names:tc:SPML:2:0"
    status="pending"
    requestID="10821"/>

次に、一部のロールが無効な場合のユーザーの追加とロールの割当てレスポンスの例を示します。

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<ns3:addResponse xmlns:ns2="http://xmlns.oracle.com/idm/identity/PSO" xmlns:ns3="urn:oasis:names:tc:SPML:2:0" xmlns:ns4="urn:oasis:names:tc:SPML:2:0:suspend" xmlns:ns5="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username" xmlns:ns6="urn:oasis:names:tc:SPML:2:0:password" xmlns:ns7="urn:oasis:names:tc:SPML:2:0:reference" xmlns:ns8="urn:oasis:names:tc:SPML:2:0:async" xmlns:ns9="urn:names:spml:ws:header" status="pending" requestID="5" error="malformedRequest" extendedError="IAM-3071022">
<ns3:errorMessage>Request contains an invalid Id/Guid identifier - xyzxyzxyz.</ns3:errorMessage>
</ns3:addResponse>
</env:Body>
</env:Envelope>

32.21.11 SPMLの例 - ロール・メンバーシップの割当て

次に、リクエストの例を示します。


注意:

SPMLのロール・メンバーシップの追加を介してユーザーに付与できるのは、次のいずれかのロールのみです。

  • 階層の最上位組織に公開されている

  • SPMLを介してロールを付与するユーザーの1つ以上のメンバー組織に公開されている

SPMLを介した他のすべてのロール付与の試行は、認可チェックに失敗します。SPMLのロール付与が機能するには、UIまたはAPIを使用して関連する組織にこれらのロールを明示的に公開する必要があります。


<modifyRequest
xmlns="urn:oasis:names:tc:SPML:2:0"
xmlns:pso="http://xmlns.oracle.com/idm/identity/PSO"
executionMode="asynchronous"
locale="en"
policyURI="gant_role_01">
<psoID ID="identity:6C9B96E99FC8DC32E040E50A3D5252F5" />
<modification modificationMode="add">
<capabilityData
                  capabilityURI="urn:oasis:names:tc:SPML:2:0:reference"
mustUnderstand="true">
<reference
                        xmlns="urn:oasis:names:tc:SPML:2:0:reference"
typeOfReference="memberOf">
<toPsoID ID="6C9B96E99FC8DC32E040E50A3D5252F5" />
</reference>
</capabilityData>
</modification>
</modifyRequest>

次に、レスポンスの例を示します。

<spml:modifyResponse
    xmlns:spml="urn:oasis:names:tc:SPML:2:0"
    status="pending"
    requestID="10822"/>

32.21.12 SPMLの例 - ロール・メンバーシップの失効

次に、リクエストを示します。

<modifyRequest
xmlns="urn:oasis:names:tc:SPML:2:0"
xmlns:pso="http://xmlns.oracle.com/idm/identity/PSO"
executionMode="asynchronous"
locale="en"
policyURI="revoke_role_01">
<psoID ID="identity:6C9B96E99FC8DC32E040E50A3D5252F5" />
<modification modificationMode="delete">
<capabilityData
                  capabilityURI="urn:oasis:names:tc:SPML:2:0:reference"
mustUnderstand="true">
<reference
                        xmlns="urn:oasis:names:tc:SPML:2:0:reference"
typeOfReference="memberOf">
<toPsoID ID="6C9B96E99FC8DC32E040E50A3D5252F5" />
</reference>
</capabilityData>
</modification>
</modifyRequest>

次に、レスポンスを示します。

<spml:modifyResponse
    xmlns:spml="urn:oasis:names:tc:SPML:2:0"
    status="pending"
    requestID="10826"/>

32.21.13 SPMLの例 - ロールの追加

次に、リクエストを示します。

<addRequest xmlns="urn:oasis:names:tc:SPML:2:0" xmlns:pso="http://xmlns.oracle.com/idm/identity/PSO" executionMode="asynchronous" locale="en_us" policyURI="Role Creation" requestID="string"  returnData="identifier" targetID="string">
    <!--Zero or more repetitions:-->
    <capabilityData capabilityURI="urn:oasis:names:tc:SPML:2:0:reference"  mustUnderstand="true" />
    <data>
        <!--You have a CHOICE of the next 3 items at this level-->
        <pso:role>
            <pso:attributes>
                <pso:attr name="Role Category Name">
                    <!-- pso:value>OIM Roles</pso:value-->
                    <pso:value>Default</pso:value>
                </pso:attr>
            </pso:attributes>
            <pso:commonName>
                <!--1 or more repetitions:-->
                <pso:values>
                    <!--1 or more repetitions:-->
                    <pso:value>TempAdmin</pso:value>
                </pso:values>
            </pso:commonName>
            <pso:description>
                <!--1 or more repetitions:-->
                <pso:values>
                    <!--1 or more repetitions:-->
                    <pso:value>Temporary Administrator</pso:value>
                </pso:values>
            </pso:description>
            <pso:displayName>
                <!--pso:value locale="en">Alice Krug_en_US</pso:value-->
                <!--pso:value locale="fr">Alice Kru_fr</pso:value-->
                <pso:value locale="base">Alice Kru_base</pso:value>
            </pso:displayName>
        </pso:role>
    </data>
</addRequest>

次に、レスポンスを示します。

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<ns3:addResponse xmlns:ns2="http://xmlns.oracle.com/idm/identity/PSO" xmlns:ns3="urn:oasis:names:tc:SPML:2:0"    xmlns:ns4="urn:oasis:names:tc:SPML:2:0:suspend" xmlns:ns5="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username" xmlns:ns6="urn:oasis:names:tc:SPML:2:0:password" xmlns:ns7="urn:oasis:names:tc:SPML:2:0:reference" xmlns:ns8="urn:oasis:names:tc:SPML:2:0:async" xmlns:ns9="urn:names:spml:ws:header" status="pending" requestID="21792"/>
</env:Body>
</env:Envelope>

32.21.14 SPMLの例 - 親を持つロールの追加

次に、リクエストを示します。

<addRequest xmlns="urn:oasis:names:tc:SPML:2:0"                        xmlns:pso="http://xmlns.oracle.com/idm/identity/PSO" executionMode="asynchronous"
locale="en" policyURI="http://www.sample.com/string/string"
requestID="string" returnData="identifier" targetID="string">
    <data>
           <!--You have a CHOICE of the next 3 items at this level-->
           <pso:role>
                 <pso:commonName>
                      <!--1 or more repetitions:-->
                      <pso:values>
                           <!--1 or more repetitions:-->
                           <pso:value>TempAdmin</pso:value>
                      </pso:values>
                 </pso:commonName>
                 <pso:description>
                      <!--1 or more repetitions:-->
                      <pso:values>
                           <!--1 or more repetitions:-->
                           <pso:value>Temporary Administrator</pso:value>
                      </pso:values>
                 </pso:description>
           </pso:role>
    </data>
    <capabilityData capabilityURI="urn:oasis:names:tc:SPML:2:0:reference" mustUnderstand="true">
           <reference typeOfReference="inheritsFrom" xmlns="urn:oasis:names:tc:SPML:2:0:reference">
                      <toPsoID ID="6C9B96E99F77DC32E040E50A3D5252F5" />
           </reference>
    </capabilityData>
</addRequest>

次に、レスポンスを示します。

<ns9:AddResponseType xmlns="http://xmlns.oracle.com/idm/identity/PSO"
xmlns:ns2="urn:oasis:names:tc:SPML:2:0"
xmlns:ns3="urn:oasis:names:tc:SPML:2:0:reference"
xmlns:ns4="urn:oasis:names:tc:SPML:2:0:password"
xmlns:ns5="urn:oasis:names:tc:SPML:2:0:suspend"
xmlns:ns6="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username"
xmlns:ns7="urn:names:spml:ws:header" xmlns:ns8="urn:oasis:names:tc:SPML:2:0:async"
xmlns:ns9="oasis:names:tc:SPML:2:0" requestID="22" status="pending"/>

32.21.15 SPMLの例 - ロールの変更

次に、リクエストを示します。

<modifyRequest xmlns="urn:oasis:names:tc:SPML:2:0"
xmlns:pso="http://xmlns.oracle.com/idm/identity/PSO" executionMode="asynchronous"
locale="string" policyURI="http://www.sample.com/string/string"
requestID="string" returnData="identifier">
<capabilityData capabilityURI="urn:oasis:names:tc:SPML:2:0:reference"
mustUnderstand="true" />
<psoID ID="role:6C9B96E99FC8DC32E040E50A3D5252F5" />
<modification modificationMode="replace">
<component path="/role" namespaceURI="http://www.w3.org/TR/xpath20" />
<data>
<pso:role>
<pso:description>
<!--1 or more repetitions:-->
<pso:values>
<pso:value>UK Updated Administrator</pso:value>
</pso:values>
</pso:description>
</pso:role>
</data>
</modification>
</modifyRequest>

次に、レスポンスを示します。

<ns9:ModifyResponseType xmlns="http://xmlns.oracle.com/idm/identity/PSO"
xmlns:ns2="urn:oasis:names:tc:SPML:2:0"
xmlns:ns3="urn:oasis:names:tc:SPML:2:0:reference"
xmlns:ns4="urn:oasis:names:tc:SPML:2:0:password"
xmlns:ns5="urn:oasis:names:tc:SPML:2:0:suspend"
xmlns:ns6="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username"
xmlns:ns7="urn:names:spml:ws:header" xmlns:ns8="urn:oasis:names:tc:SPML:2:0:async"
xmlns:ns9="oasis:names:tc:SPML:2:0" requestID="24" status="pending"/>

32.21.16 SPMLの例 - ロールへの親の追加

次に、リクエストを示します。

<modifyRequest xmlns="urn:oasis:names:tc:SPML:2:0"
xmlns:pso="http://xmlns.oracle.com/idm/identity/PSO" executionMode="asynchronous"
locale="string" policyURI="http://www.sample.com/string/string"
requestID="string" returnData="identifier">
 
<psoID ID="role:26" targetID="target" />
<modification modificationMode="modify">
<component path="/role" namespaceURI="http://www.w3.org/TR/xpath20" />
<data>
<pso:role>
<pso:description>
<!--1 or more repetitions:-->
<pso:values>
<!--1 or more repetitions:-->
<pso:value>UK Updated Administrator</pso:value>
</pso:values>
</pso:description>
</pso:role>
</data>
 
<capabilityData capabilityURI="urn:oasis:names:tc:SPML:2:0:reference"
mustUnderstand="true">
<reference typeOfReference="inheritsFrom"
xmlns="urn:oasis:names:tc:SPML:2:0:reference">
<toPsoID ID="25" />
</reference>
</capabilityData>
</modification>
</modifyRequest>

次に、レスポンスを示します。

<ns9:ModifyResponseType xmlns="http://xmlns.oracle.com/idm/identity/PSO"
xmlns:ns2="urn:oasis:names:tc:SPML:2:0"
xmlns:ns3="urn:oasis:names:tc:SPML:2:0:reference"
xmlns:ns4="urn:oasis:names:tc:SPML:2:0:password"
xmlns:ns5="urn:oasis:names:tc:SPML:2:0:suspend"
xmlns:ns6="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username"
xmlns:ns7="urn:names:spml:ws:header" xmlns:ns8="urn:oasis:names:tc:SPML:2:0:async"
xmlns:ns9="oasis:names:tc:SPML:2:0" requestID="25" status="pending"/>

32.21.17 SPMLの例 - ロールの付与

SPMLペイロードを使用して複数のアイデンティティにロールを割り当てることはできません。複数のアイデンティティを指定した場合、ロールは最後のアイデンティティのみに割り当てられます。残りのアイデンティティはペイロードから削除してください。

次に、リクエストを示します。

<modifyRequest xmlns="urn:oasis:names:tc:SPML:2:0"
xmlns:pso="http://xmlns.oracle.com/idm/identity/PSO" executionMode="asynchronous"
locale="string" policyURI="http://www.sample.com/string/string"
requestID="string" returnData="identifier">
<!--Zero or more repetitions:-->
<capabilityData capabilityURI="urn:oasis:names:tc:SPML:2:0:reference"
mustUnderstand="true" />
<psoID ID="identity:6C9B96E99FC8DC32E040E50A3D5252F5" />
<psoID ID="identity:6C9B96E99FC8DC32E040E50A3D5252F5" />
<!--1 or more repetitions:-->
<modification modificationMode="add">
<capabilityData capabilityURI="urn:oasis:names:tc:SPML:2:0:reference"
mustUnderstand="true">
<reference xmlns="urn:oasis:names:tc:SPML:2:0:reference"
typeOfReference="memberOf">
<toPsoID ID="6C9B96E99FC8DC32E040E50A3D5252F5" />
</reference>
</capabilityData>
</modification>
</modifyRequest>

次に、レスポンスを示します。

<ns9:ResponseType xmlns="urn:oasis:names:tc:SPML:2:0"
xmlns:ns2="http://xmlns.oracle.com/idm/identity/PSO"
xmlns:ns3="urn:oasis:names:tc:SPML:2:0:password"
xmlns:ns4="urn:oasis:names:tc:SPML:2:0:suspend"
xmlns:ns5="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username"
xmlns:ns6="urn:names:spml:ws:header" 
xmlns:ns7="urn:oasis:names:tc:SPML:2:0:async"
xmlns:ns8="urn:oasis:names:tc:SPML:2:0:reference"
xmlns:ns9="oasis:names:tc:SPML:2:0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="ns4:ActiveResponseType" requestID="143" status="failure"/>

32.21.18 SPMLの例 - ロールの削除

次に、リクエストを示します。

<deleteRequest xmlns="urn:oasis:names:tc:SPML:2:0"
                        xmlns:pso="http://xmlns.oracle.com/idm/identity/PSO" executionMode="asynchronous"
                        locale="en" policyURI="http://www.sample.com/string/string"
                        requestID="string" returnData="identifier" targetID="string">
                        <psoID ID="role:6C9B96E99FC8DC32E040E50A3D5252F5" />
                </deleteRequest>

次に、レスポンスを示します。

<ns9:ResponseType xmlns="http://xmlns.oracle.com/idm/identity/PSO"
xmlns:ns2="urn:oasis:names:tc:SPML:2:0"
xmlns:ns3="urn:oasis:names:tc:SPML:2:0:reference"
xmlns:ns4="urn:oasis:names:tc:SPML:2:0:password"
xmlns:ns5="urn:oasis:names:tc:SPML:2:0:suspend"
xmlns:ns6="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username"
xmlns:ns7="urn:names:spml:ws:header" xmlns:ns8="urn:oasis:names:tc:SPML:2:0:async"
xmlns:ns9="oasis:names:tc:SPML:2:0" requestID="18" status="pending"/>

32.21.19 SPMLの例 - ステータスのリクエスト

次に、リクエストを示します。

<statusRequest xmlns="urn:oasis:names:tc:SPML:2:0:async" 
    requestID="3456563" 
    asyncRequestID="75779"/>

次に、レスポンスを示します。

<statusResponse xmlns="urn:oasis:names:tc:SPML:2:0:async"
    requestID="3456563" status="success">
    <addResponse requestID="75779" status="pending"/>
</statusResponse>

次に、別のリクエストを示します。

<statusRequest xmlns="urn:oasis:names:tc:SPML:2:0:async"    requestID="12" asyncRequestID="1" returnResults="true" />

この場合、returnResults=trueを使用しています。したがって、レスポンスにはリクエストのすべての属性が含まれます。

次に、レスポンスを示します。

<ns9:StatusResponseType xmlns="urn:oasis:names:tc:SPML:2:0" xmlns:ns2="urn:oasis:names:tc:SPML:2:0:async" xmlns:ns3="http://xmlns.oracle.com/idm/identity/PSO" xmlns:ns4="urn:oasis:names:tc:SPML:2:0:reference" xmlns:ns5="urn:oasis:names:tc:SPML:2:0:password" xmlns:ns6="urn:oasis:names:tc:SPML:2:0:suspend" xmlns:ns7="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username" xmlns:ns8="urn:names:spml:ws:header" xmlns:ns9="oasis:names:tc:SPML:2:0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:StatusResponseType" requestID="12" status="success">
    <ns2:addResponse requestID="14" status="success">
        <pso>
            <psoID targetID="Identity"/>
            <data>
                <ns4:Identity xmlns:ns4="oasis:names:tc:SPML:2:0" xmlns:ns2="http://xmlns.oracle.com/idm/identity/PSO" xmlns:ns3="urn:oasis:names:tc:SPML:2:0:async" xmlns:ns5="urn:oasis:names:tc:SPML:2:0:async" xmlns:ns6="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username" xmlns:ns7="urn:oasis:names:tc:SPML:2:0:suspend">
                    <ns2:attributes>
                        <ns2:attr xmlns="" xmlns:ns11="urn:oasis:names:tc:SPML:2:0" name="Organization">
                            <ns2:value>1</ns2:value>
                        </ns2:attr>
                    </ns2:attributes>
                    <ns2:activeEndDate>2009-12-25T16:00:00.000Z</ns2:activeEndDate>
                    <ns2:activeStartDate>2009-12-24T18:00:00.000Z</ns2:activeStartDate>
                    <ns2:commonName>
                        <ns2:values>
                            <ns2:value>Alice Krug</ns2:value>
                        </ns2:values>
                    </ns2:commonName>
                    <ns2:countryName>Canada</ns2:countryName>
                    <ns2:departmentNumber>
                        <ns2:value>123</ns2:value>
                    </ns2:departmentNumber>
                    <ns2:description>
                        <ns2:values>
                            <ns2:value>Alice Krugs profile</ns2:value>
                        </ns2:values>
                    </ns2:description>
                    <ns2:displayName>
                        <ns2:value>Alice Krug</ns2:value>
                    </ns2:displayName>
                    <ns2:employeeNumber>333</ns2:employeeNumber>
                    <ns2:employeeType>
                        <ns2:values>
                            <ns2:value>Full-Time</ns2:value>
                        </ns2:values>
                    </ns2:employeeType>
                    <ns2:facsimileTelephoneNumber>
                        <ns2:number>6506072253</ns2:number>
                    </ns2:facsimileTelephoneNumber>
                    <ns2:generationQualifier>
                        <ns2:value>II</ns2:value>
                    </ns2:generationQualifier>
                    <ns2:givenName>
                        <ns2:value>Alice</ns2:value>
                    </ns2:givenName>
                    <ns2:hireDate>1999-12-24T16:00:00.000Z</ns2:hireDate>
                    <ns2:homePhone>
                        <ns2:number>8888888888</ns2:number>
                    </ns2:homePhone>
                    <ns2:homePostalAddress>
                        <ns2:value>Baker street</ns2:value>
                    </ns2:homePostalAddress>
                    <ns2:initials>
                        <ns2:value>J S</ns2:value>
                    </ns2:initials>
                    <ns2:localityName>
                        <ns2:value>SFO</ns2:value>
                    </ns2:localityName>
                    <ns2:middleName>A</ns2:middleName>
                    <ns2:mobile>
                        <ns2:number>4083485309</ns2:number>
                    </ns2:mobile>
                    <ns2:organization>
                        <ns2:values>
                            <ns2:value>1</ns2:value>
                        </ns2:values>
                    </ns2:organization>
                    <ns2:organizationUnit>
                        <ns2:values>
                            <ns2:value>Sales</ns2:value>
                        </ns2:values>
                    </ns2:organizationUnit>
                    <ns2:pager>
                        <ns2:number>333</ns2:number>
                    </ns2:pager>
                    <ns2:postalAddress>
                        <ns2:value>Baker street 222</ns2:value>
                    </ns2:postalAddress>
                    <ns2:postalCode>
                        <ns2:value>4081</ns2:value>
                    </ns2:postalCode>
                    <ns2:postOfficeBox>
                        <ns2:value>333n</ns2:value>
                    </ns2:postOfficeBox>
                    <ns2:preferredLanguage>en</ns2:preferredLanguage>
                    <ns2:state>
                        <ns2:value>CA</ns2:value>
                    </ns2:state>
                    <ns2:street>
                        <ns2:value>Baker</ns2:value>
                    </ns2:street>
                    <ns2:surname>
                        <ns2:values>
                            <ns2:value>Krug</ns2:value>
                        </ns2:values>
                    </ns2:surname>
                    <ns2:telephoneNumber>
                        <ns2:number>6506072253</ns2:number>
                    </ns2:telephoneNumber>
                    <ns2:title>
                        <ns2:values>
                            <ns2:value>Mr</ns2:value>
                        </ns2:values>
                    </ns2:title>
                    <ns2:username>
                        <ns2:value>akrug3478</ns2:value>
                    </ns2:username>
                    <ns2:userType>End-User</ns2:userType>
                </ns4:Identity>
            </data>
        </pso>
    </ns2:addResponse>
</ns9:StatusResponseType>

32.21.20 SPMLの例 - アイデンティティ/ロールの参照

次に、リクエストを示します。

<ns1:lookupRequest xmlns:ns1="urn:oasis:names:tc:SPML:2:0" returnData="everything">
            <ns1:psoID ID="identity:key:1" />
</ns1:lookupRequest>

次に、レスポンスを示します。

<ns3:lookupResponse xmlns:ns2="http://xmlns.oracle.com/idm/identity/PSO" 
xmlns:ns3="urn:oasis:names:tc:SPML:2:0" 
xmlns:ns4="urn:oasis:names:tc:SPML:2:0:suspend" 
xmlns:ns5="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username" 
xmlns:ns6="urn:oasis:names:tc:SPML:2:0:password" 
xmlns:ns7="urn:oasis:names:tc:SPML:2:0:reference" 
xmlns:ns8="urn:oasis:names:tc:SPML:2:0:async" 
xmlns:ns9="urn:oasis:names:tc:SPML:2:0:batch" 
xmlns:ns10="urn:names:spml:ws:header">
<ns3:capabilityData capabilityURI="urn:oasis:names:tc:SPML:2:0:reference" mustUnderstand="true">
<ns7:reference typeOfReference="memberOf"><ns7:toPsoID ID="1"/>
</ns7:reference>
</ns3:capabilityData><ns3:pso>
<ns3:data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:ProvisioningObjectType">
<ns2:identity><ns2:attributes><ns2:attr name="usr_disabled">
<ns2:value>0</ns2:value></ns2:attr><ns2:attr name="Display Name">
<ns2:value>zh-TW=System Administrator</ns2:value><ns2:value>pt-BR=System Administrator</ns2:value>
<ns2:value>base=System Administrator</ns2:value><ns2:value>fr=System Administrator</ns2:value>
<ns2:value>en=System Administrator</ns2:value>
<ns2:value>zh-CN=System Administrator</ns2:value>
</ns2:attr><ns2:attr name="usr_locked">
<ns2:value>0</ns2:value>
</ns2:attr><ns2:attr name="usr_created">
<ns2:value>Mon Dec 03 03:42:21 PST 2012</ns2:value>
</ns2:attr><ns2:attr name="Full Name">
<ns2:value>base=null</ns2:value>
</ns2:attr><ns2:attr name="usr_pwd_expire_date">
<ns2:value>Tue Apr 02 03:42:21 PDT 2013</ns2:value>
</ns2:attr><ns2:attr name="Email">
<ns2:value>donotreply@oracle.com</ns2:value>
</ns2:attr><ns2:attr name="usr_data_level">
<ns2:value>2</ns2:value></ns2:attr>
<ns2:attr name="usr_login_attempts_ctr">
<ns2:value>0</ns2:value></ns2:attr>
<ns2:attr name="Last Name">
<ns2:value>Administrator</ns2:value>
</ns2:attr><ns2:attr name="First Name">
<ns2:value>System</ns2:value>
</ns2:attr><ns2:attr name="usr_createby">
<ns2:value>1</ns2:value></ns2:attr>
<ns2:attr name="usr_updateby">
<ns2:value>1</ns2:value>
</ns2:attr><ns2:attr name="User Login">
<ns2:value>XELSYSADM</ns2:value>
</ns2:attr><ns2:attr name="Role">
<ns2:value>Full-Time</ns2:value>
</ns2:attr><ns2:attr name="usr_pwd_warn_date">
<ns2:value>Tue Mar 26 03:42:21 PDT 2013</ns2:value>
</ns2:attr><ns2:attr name="Organization Name">
<ns2:value>Xellerate Users</ns2:value></ns2:attr>
<ns2:attr name="usr_update"><ns2:value>Mon Dec 03 03:42:21 PST 2012</ns2:value>
</ns2:attr><ns2:attr name="usr_pwd_reset_attempts_ctr">
<ns2:value>0</ns2:value></ns2:attr><ns2:attr name="usr_create">
<ns2:value>Mon Dec 03 03:42:21 PST 2012</ns2:value>
</ns2:attr><ns2:attr name="Xellerate Type">
<ns2:value>End-User Administrator</ns2:value>
</ns2:attr><ns2:attr name="Common Name">
<ns2:value>System Administrator</ns2:value></ns2:attr>
<ns2:attr name="act_key">
<ns2:value>1</ns2:value>
</ns2:attr><ns2:attr name="usr_key">
<ns2:value>1</ns2:value></ns2:attr>
<ns2:attr name="Common Name Generated">
<ns2:value>0</ns2:value>
</ns2:attr><ns2:attr name="Status">
<ns2:value>Active</ns2:value>
</ns2:attr></ns2:attributes>
<ns2:commonName>
<ns2:values><ns2:value>System Administrator</ns2:value>
</ns2:values></ns2:commonName>
<ns2:displayName>
<ns2:value locale="zh-TW">System Administrator</ns2:value><ns2:value locale="pt-BR">System Administrator</ns2:value><ns2:value locale="base">System Administrator</ns2:value>
<ns2:value locale="fr">System Administrator</ns2:value><ns2:value locale="en">System Administrator</ns2:value><ns2:value locale="zh-CN">System Administrator</ns2:value>
</ns2:displayName><ns2:employeeType>
<ns2:values>
<ns2:value>Full-Time</ns2:value></ns2:values>
</ns2:employeeType>
<ns2:givenName>
<ns2:value>System</ns2:value></ns2:givenName>
<ns2:mail>
<ns2:value>donotreply@oracle.com</ns2:value>
</ns2:mail><ns2:surname><ns2:values>
<ns2:value>Administrator</ns2:value></ns2:values>
</ns2:surname>
<ns2:userId><ns2:value>XELSYSADM</ns2:value>
</ns2:userId><ns2:userType>End-User Administrator</ns2:userType>
</ns2:identity>
</ns3:data>
</ns3:pso>
</ns3:lookupResponse>

次に、別のリクエストを示します。

<ns1:lookupRequest xmlns:ns1="urn:oasis:names:tc:SPML:2:0" returnData="everything">
            <ns1:psoID ID="role:name: FinanceRole " />
</ns1:lookupRequest>

次に、レスポンスを示します。

<ns3:lookupResponse xmlns:ns2="http://xmlns.oracle.com/idm/identity/PSO" xmlns:ns3="urn:oasis:names:tc:SPML:2:0" xmlns:ns4="urn:oasis:names:tc:SPML:2:0:suspend" 
xmlns:ns5="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username" 
xmlns:ns6="urn:oasis:names:tc:SPML:2:0:password" 
xmlns:ns7="urn:oasis:names:tc:SPML:2:0:reference" 
xmlns:ns8="urn:oasis:names:tc:SPML:2:0:async" 
xmlns:ns9="urn:oasis:names:tc:SPML:2:0:batch" 
xmlns:ns10="urn:names:spml:ws:header">
<ns3:capabilityData capabilityURI="urn:oasis:names:tc:SPML:2:0:reference" mustUnderstand="true">
<ns7:reference typeOfReference="inheritsFrom">
<ns7:toPsoID ID="10"/>
</ns7:reference>
<ns7:reference typeOfReference="inheritsFrom">
<ns7:toPsoID ID="7"/>
</ns7:reference><ns7:reference typeOfReference="memberOf">
<ns7:toPsoID ID="8"/></ns7:reference>
</ns3:capabilityData><ns3:pso>
<ns3:data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:ProvisioningObjectType">
<ns2:role><ns2:attributes>
<ns2:attr name="Role Display Name">
<ns2:value>FinanceRole</ns2:value>
</ns2:attr><ns2:attr name="Role Unique Name">
<ns2:value>FinanceRole</ns2:value>
</ns2:attr><ns2:attr name="Owner Login">
<ns2:value>XELSYSADM</ns2:value>
</ns2:attr><ns2:attr name="ugp_createby">
<ns2:value>1</ns2:value></ns2:attr>
<ns2:attr name="ugp_create">
<ns2:value>Wed Nov 21 23:28:42 PST 2012</ns2:value>
</ns2:attr><ns2:attr name="Role Owner Key">
<ns2:value>1</ns2:value></ns2:attr>
<ns2:attr name="Role Description">
<ns2:value>desc</ns2:value>
</ns2:attr><ns2:attr name="Role Name">
<ns2:value>FinanceRole</ns2:value>
</ns2:attr><ns2:attr name="ugp_update">
<ns2:value>Wed Nov 21 23:28:42 PST 2012</ns2:value></ns2:attr>
<ns2:attr name="Owner Email">
<ns2:value>donotreply@oracle.com</ns2:value></ns2:attr>
<ns2:attr name="Role Namespace"><ns2:value>Default</ns2:value></ns2:attr>
<ns2:attr name="Owner Display Name">
<ns2:value>System Administrator</ns2:value>
</ns2:attr><ns2:attr name="Role Key">
<ns2:value>6</ns2:value>
</ns2:attr>
<ns2:attr name="ugp_updateby">
<ns2:value>1</ns2:value>
</ns2:attr>
<ns2:attr name="Role Category Key">
<ns2:value>2</ns2:value>
</ns2:attr><ns2:attr name="Owner Last Name">
<ns2:value>Administrator</ns2:value>
</ns2:attr><ns2:attr name="Role Email">
<ns2:value>email@email.com</ns2:value>
</ns2:attr><ns2:attr name="Owner First Name">
<ns2:value>System</ns2:value></ns2:attr>
<ns2:attr name="Role Category Name">
<ns2:value>OIM Roles</ns2:value>
</ns2:attr>
</ns2:attributes>
<ns2:commonName>
<ns2:values>
<ns2:value>FinanceRole</ns2:value>
</ns2:values></ns2:commonName>
<ns2:description>
<ns2:values>
<ns2:value>desc</ns2:value></ns2:values>
</ns2:description>
<ns2:displayName><ns2:value>FinanceRole</ns2:value>
</ns2:displayName></ns2:role>
</ns3:data>
</ns3:pso>
</ns3:lookupResponse>

32.21.21 SPMLの例 - パスワードのリセット

次に、リクエストを示します。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">    
<soap:Header>
     <ns1:Security>
        <ns1:UsernameToken>
           <ns1:Username>SYSTEM_ADMINISTRATOR_LOGIN</ns1:Username>
           <ns1:Password>SYSTEM_ADMINISTRATOR_PASSWORD</ns1:Password>
        </ns1:UsernameToken>
     </ns1:Security>
  </soap:Header>
<soap:Body   xmlns="urn:oasis:names:tc:SPML:2:0">
<resetPasswordRequest xmlns="urn:oasis:names:tc:SPML:2:0:password">
    
    executionMode="asynchronous"
    locale="en_US">
<psoID ID="BD7A621E8C7147D2E040E50AFC801934"></psoID>
</resetPasswordRequest>
    </soap:Body>
</soap:Envelope>

次に、レスポンスを示します。

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header/><env:Body><ns6:resetPasswordResponse xmlns:ns2="http://xmlns.oracle.com/idm/identity/PSO" xmlns:ns3="urn:oasis:names:tc:SPML:2:0" xmlns:ns4="urn:oasis:names:tc:SPML:2:0:suspend" xmlns:ns5="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username" xmlns:ns6="urn:oasis:names:tc:SPML:2:0:password" xmlns:ns7="urn:oasis:names:tc:SPML:2:0:reference" xmlns:ns8="urn:oasis:names:tc:SPML:2:0:async" xmlns:ns9="urn:oasis:names:tc:SPML:2:0:batch" xmlns:ns10="urn:names:spml:ws:header" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns6:ResetPasswordResponseType" status="success"/></env:Body></env:Envelope>

32.21.22 SPMLの例 - 通知を使用したパスワードのリセット

次に、リクエストを示します。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">    
<soap:Header>
     <ns1:Security>
        <ns1:UsernameToken>
           <ns1:Username>SYSTEM_ADMINISTRATOR_LOGIN</ns1:Username>
           <ns1:Password>SYSTEM_ADMINISTRATOR_PASSWORD</ns1:Password>
        </ns1:UsernameToken>
     </ns1:Security>
  </soap:Header>
<soap:Body   xmlns="urn:oasis:names:tc:SPML:2:0">
<resetPasswordRequest xmlns="urn:oasis:names:tc:SPML:2:0:password">
    
    executionMode="asynchronous"
    locale="en_US">
<psoID ID="BD7A621E8C7147D2E040E50AFC801934"></psoID>
<notificationData>
          <sendNotification>true</sendNotification>
          <sendNotificationTo><emailAddress>john.doe@mycompany.com,jane.doe@mycompany.com,terrence.hill@mycompany.com</emailAddress></sendNotificationTo>
</notificationData>
        </resetPasswordRequest>
    </soap:Body>
</soap:Envelope>

次に、レスポンスを示します。

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header/><env:Body><ns6:resetPasswordResponse xmlns:ns2="http://xmlns.oracle.com/idm/identity/PSO" xmlns:ns3="urn:oasis:names:tc:SPML:2:0" xmlns:ns4="urn:oasis:names:tc:SPML:2:0:suspend" xmlns:ns5="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username" xmlns:ns6="urn:oasis:names:tc:SPML:2:0:password" xmlns:ns7="urn:oasis:names:tc:SPML:2:0:reference" xmlns:ns8="urn:oasis:names:tc:SPML:2:0:async" xmlns:ns9="urn:oasis:names:tc:SPML:2:0:batch" xmlns:ns10="urn:names:spml:ws:header" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns6:ResetPasswordResponseType" status="success"/></env:Body></env:Envelope>

32.21.23 SPMLの例 - ユーザー名ポリシーの参照

次に、リクエストを示します。

<ns2:lookupUsernamePolicyRequest xmlns:ns2="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username" requestID=""
             executionMode="synchronous" locale="en" policyURI="" xmlns:ns3="urn:oasis:names:tc:SPML:2:0">
</ns2:lookupUsernamePolicyRequest>

次に、レスポンスを示します。

<ns5:lookupUsernamePolicyResponse xmlns:ns2="http://xmlns.oracle.com/idm/identity/PSO" xmlns:ns3="urn:oasis:names:tc:SPML:2:0" xmlns:ns4="urn:oasis:names:tc:SPML:2:0:suspend" xmlns:ns5="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username" xmlns:ns6="urn:oasis:names:tc:SPML:2:0:password" xmlns:ns7="urn:oasis:names:tc:SPML:2:0:reference" xmlns:ns8="urn:oasis:names:tc:SPML:2:0:async" xmlns:ns9="urn:oasis:names:tc:SPML:2:0:batch" xmlns:ns10="urn:names:spml:ws:header" status="success"><ns5:description>Generates user name based on email id if it is available, else if first name is present then &lt;first name&gt;.&lt;last name&gt;@&lt;domain&gt;, else &lt;last name&gt;@&lt;domain&gt;</ns5:description></ns5:lookupUsernamePolicyResponse>

32.21.24 SPMLの例 - リクエストのキャンセル

次に、リクエストを示します。

<ns1:cancelRequest xmlns:ns1="urn:oasis:names:tc:SPML:2:0:async" asyncRequestID="162"/>

次に、レスポンスを示します。

次に、正常に取り消されたリクエストを示します。

<ns8:cancelResponse xmlns:ns2="http://xmlns.oracle.com/idm/identity/PSO" xmlns:ns3="urn:oasis:names:tc:SPML:2:0" xmlns:ns4="urn:oasis:names:tc:SPML:2:0:suspend" xmlns:ns5="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username" xmlns:ns6="urn:oasis:names:tc:SPML:2:0:password" xmlns:ns7="urn:oasis:names:tc:SPML:2:0:reference" xmlns:ns8="urn:oasis:names:tc:SPML:2:0:async" xmlns:ns9="urn:oasis:names:tc:SPML:2:0:batch" xmlns:ns10="urn:names:spml:ws:header" asyncRequestID="162" status="success"/>

次に、正常に取り消されなかったリクエストを示します。

<ns8:cancelResponse xmlns:ns2="http://xmlns.oracle.com/idm/identity/PSO" xmlns:ns3="urn:oasis:names:tc:SPML:2:0" xmlns:ns4="urn:oasis:names:tc:SPML:2:0:suspend" xmlns:ns5="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username" xmlns:ns6="urn:oasis:names:tc:SPML:2:0:password" xmlns:ns7="urn:oasis:names:tc:SPML:2:0:reference" xmlns:ns8="urn:oasis:names:tc:SPML:2:0:async" xmlns:ns9="urn:oasis:names:tc:SPML:2:0:batch" xmlns:ns10="urn:names:spml:ws:header" asyncRequestID="161" status="failure" error="malformedRequest" extendedError="IAM-3076087"><ns3:errorMessage>User cannot withdraw specified request.</ns3:errorMessage></ns8:cancelResponse>

32.21.25 SPMLの例 - バッチ・リクエスト

次に、リクエストを示します。

<urn1:batchRequest processing="parallel" onError="resume" xmlns:urn1="urn:oasis:names:tc:SPML:2:0:batch" xmlns:urn2="urn:oasis:names:tc:SPML:2:0" xmlns:pso="http://xmlns.oracle.com/idm/identity/PSO" xmlns:urn3="urn:oasis:names:tc:SPML:2:0:password" >
            <!--Zero or more repetitions:-->
            <urn1:addRequest requestID="?" executionMode="asynchronous" locale="en" policyURI="User Creation" targetID="?" returnData="identifier">
                <urn2:data>
                    <!--You may enter ANY elements at this point-->
                    <!--You have a CHOICE of the next 3 items at this level-->
                    <pso:identity>
                        <pso:commonName>
                            <pso:values locale="en">
                                <pso:value>John Smith</pso:value>
                            </pso:values>
                        </pso:commonName>
                        <pso:countryName>Canada</pso:countryName>
                        <pso:departmentNumber>
                            <pso:value>123</pso:value>
                        </pso:departmentNumber>
                        <pso:description>
                            <pso:values>
                                <pso:value>John Smiths profile</pso:value>
                            </pso:values>
                        </pso:description>
                        <pso:displayName>
                            <pso:value>John Smith</pso:value>
                        </pso:displayName>
                        <pso:employeeNumber>333</pso:employeeNumber>
                        <pso:employeeType>
                            <pso:values>
                                <pso:value>Full-Time</pso:value>
                            </pso:values>
                        </pso:employeeType>
                        <pso:facsimileTelephoneNumber>
                            <pso:number>6506072253</pso:number>
                        </pso:facsimileTelephoneNumber>
                        <pso:generationQualifier>
                            <pso:value>II</pso:value>
                        </pso:generationQualifier>
                        <pso:givenName>
                            <pso:value>John</pso:value>
                        </pso:givenName>
                        <pso:hireDate>1999-12-24T16:00:00</pso:hireDate>
                        <pso:homePhone>
                            <pso:number>8888888888</pso:number>
                        </pso:homePhone>
                        <pso:homePostalAddress>
                            <pso:value>Baker street</pso:value>
                        </pso:homePostalAddress>
                        <pso:initials>
                            <pso:value>J S</pso:value>
                        </pso:initials>
                        <pso:jpegPhoto>
                            <pso:value>c3RyaW5n</pso:value>
                        </pso:jpegPhoto>
                        <pso:localityName>
                            <pso:value>SFO</pso:value>
                        </pso:localityName>
                        <pso:mail>
                            <pso:value>jsmith@oracle.com</pso:value>
                        </pso:mail>
                        <pso:middleName>Park</pso:middleName>
                        <pso:mobile>
                            <pso:number>4083485309</pso:number>
                        </pso:mobile>
                        <pso:organization>
                            <pso:values locale="en">
                                <pso:value>1</pso:value>
                            </pso:values>
                        </pso:organization>
                        <pso:organizationUnit>
                            <pso:values locale="en">
                                <pso:value>Sales</pso:value>
                            </pso:values>
                        </pso:organizationUnit>
                        <pso:pager>
                            <pso:number>333</pso:number>
                        </pso:pager>
                        <pso:password>
                            <pso:value>V2VsY29tZTE=</pso:value>
                        </pso:password>
                        <pso:postalAddress>
                            <pso:value>Baker street 222</pso:value>
                        </pso:postalAddress>
                        <pso:postalCode>
                            <pso:value>4081</pso:value>
                        </pso:postalCode>
                        <pso:postOfficeBox>
                            <pso:value>333n</pso:value>
                        </pso:postOfficeBox>
                        <pso:preferredLanguage>en-US</pso:preferredLanguage>
                        <pso:state>
                            <pso:value>CA</pso:value>
                        </pso:state>
                        <pso:street>
                            <pso:value>Baker</pso:value>
                        </pso:street>
                        <pso:surname>
                            <pso:values locale="en">
                                <pso:value>Smith</pso:value>
                            </pso:values>
                        </pso:surname>
                        <pso:telephoneNumber>
                            <pso:number>6506072253</pso:number>
                        </pso:telephoneNumber>
                        <pso:title>
                            <pso:values locale="en">
                                <pso:value>Mr</pso:value>
                            </pso:values>
                        </pso:title>
                        <pso:username>
                            <pso:value>jsmith</pso:value>
                        </pso:username>
                    </pso:identity> 
                </urn2:data>     
            </urn1:addRequest>
            <urn1:modifyRequest executionMode="asynchronous">
                <urn2:psoID ID="9924000" />
                <urn2:modification modificationMode="add">
                    <urn2:component path="/identity" namespaceURI="http://www.w3.org/TR/xpath20" />
                    <urn2:data>
                        <pso:identity>
                            <pso:initials>
                                <pso:value>X Y</pso:value>
                            </pso:initials>
                        </pso:identity>
                    </urn2:data>
                </urn2:modification>
                <urn2:modification modificationMode="replace">
                    <urn2:component path="/identity" namespaceURI="http://www.w3.org/TR/xpath20" />
                    <urn2:data>
                        <pso:identity>
                            <pso:localityName>
                                <!--1 or more repetitions:-->
                                <pso:value>new_locality</pso:value>
                            </pso:localityName>
                            <pso:homePhone>
                                <!--1 or more repetitions:-->
                                <pso:number>0123456789</pso:number>
                            </pso:homePhone>
                        </pso:identity>
                    </urn2:data>
                </urn2:modification>
                <urn2:modification modificationMode="delete">
                    <urn2:component path="/identity" namespaceURI="http://www.w3.org/TR/xpath20" />
                    <urn2:data>
                        <pso:identity>
                            <pso:pager>
                                <pso:number>333</pso:number>
                            </pso:pager>
                        </pso:identity>
                    </urn2:data>
                </urn2:modification>
            </urn1:modifyRequest>
            <urn1:deleteRequest executionMode="asynchronous"  locale="en" policyURI="http://www.sample.com/string/string"  requestID="string" returnData="identifier" targetID="string">
                <urn2:psoID ID="9924000" />
            </urn1:deleteRequest>
            <urn1:resetPasswordRequest executionMode="asynchronous">
            <urn3:psoID ID="924000" />
            <urn3:notificationData>
               <urn2:sendNotification>true</urn2:sendNotification>
               <urn2:sendNotificationTo>
                  <urn2:emailAddress>john@oracle.com</urn2:emailAddress>
               </urn2:sendNotificationTo>
            </urn3:notificationData>
         </urn1:resetPasswordRequest>
        </urn1:batchRequest>

次に、レスポンスを示します。

<urn:batchResponse xmlns:urn="urn:oasis:names:tc:SPML:2:0:batch" xmlns:urn1="urn:oasis:names:tc:SPML:2:0">
         <!--Zero or more repetitions:-->
         <urn:addResponse status="pending" requestID="1234"/>         
   <urn:modifyResponse status="pending" requested="2345"/>         
         <urn:deleteResponse status="pending" requestID="3456"/>
         <urn:resetPasswordResponse status="success" />         
      </urn:batchResponse>