ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Access ManagerおよびOracle Security Token Service開発者ガイド
11g リリース1 (11.1.1)
B66696-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
 

4 Oracle Security Token Serviceモジュール・クラスの記述

この章では、Oracle Access Manager 11gおよびOracle Security Token Serviceのカスタム・トークン・オプションについて説明します。内容は、次のとおりです。

4.1 Oracle Security Token Serviceカスタム・トークン・モジュール・クラスの概要

Oracle Security Token Serviceにおいて、検証または発行するトークンがデフォルトでサポートされていない場合、独自の検証および発行モジュール・クラスを記述できます。カスタム・トークンには、2つ(検証または発行クラス)のいずれかが必要です。


注意:

カスタム・トークンには、2つ(検証または発行クラス)のいずれかが必要です。

次の概要では、実行する必要があるタスクを説明します。

タスク概要: カスタム・トークン・モジュール・クラスのデプロイ

  1. TokenValidatorModuleクラスを記述し、必要に応じて、Oracle Security Token Serviceによりカスタム・トークンを検証します。

  2. TokenIssuanceModuleクラスを記述し、必要に応じて、Oracle Security Token Serviceによりカスタム・トークンを発行します。

  3. カスタム・クラスを使用可能にし、カスタム・トークンの検証テンプレートおよび発行テンプレートをユーザーが作成できるカスタム・トークン・モジュールを作成します。

  4. Oracle Security Token Serviceのカスタム構成を管理し、カスタム・トークンの検証および発行テンプレートを作成し、そのカスタム・テンプレートを、標準トークンのテンプレートを使用するようにエンドポイントおよびパートナ・プロファイルで使用します。

4.2 TokenValidatorModuleクラスの記述

ここでは、次の内容について説明します。

4.2.1 TokenValidatorModuleクラスの記述について

Oracle Security Token Service検証モジュール・クラスは、oracle.security.fed.sts.token.tpe.TokenValidatorModule interfaceを実装します。検証プロセスでは、次のプロパティをTokenContextからフェッチできます。

  • XML_TOKEN: 検証が必要なトークンが含まれるXMLメッセージのバイト数。

  • BST_VALUE_TYPE: カスタム・トークンがバイナリ・セキュリティ・トークンとして送信される場合、これにはバイナリ・セキュリティ・トークン値タイプが含まれます。

  • BST_ENCODING: トークンがバイナリ・セキュリティ・トークンとして送信される場合、これにはエンコーディングが含まれます。

  • BST_CONTENT: トークンがバイナリ・セキュリティ・トークンとして送信される場合、これにはバイナリ・セキュリティ・トークン・コンテンツが含まれます。

  • TOKEN_ELEMENT: トークンがバイナリ・セキュリティ・トークンではなく、Oracle Security Token Service内部クラスにJAXB表現がない場合、これにはトークンを表すXML要素またはカスタムJAXBクラスが含まれます。

  • XML_DOM: これは着信メッセージのDOM表現です。これは、DOMオブジェクトがこれまでOracle Security Token Service処理の一部として作成されていた場合のみ存在します。

トークンは、TokenContextのプロパティの情報を使用して検証される必要があり、TokenResultが戻される必要があります。TokenResultオブジェクトで次のプロパティを設定し、Oracle Security Token Serviceに情報を戻すことができます。

  • TPE_RESULT_FAILURE_CODE: 失敗した場合の失敗コード。

  • TPE_RESULT_FAILURE_STRING: 失敗を説明する文字列。

  • 結果で設定された他のプロパティは、トークン・マッピングに使用される状況において使用可能です。通常、バリデータはSTS_SUBJECT_IDプロパティを名前IDに設定し、これを使用してユーザー・レコードにマップします。

EmailTokenValidatorModuleImplforBinary.javaの完全な実装の例が含まれる次の図を参照してください。

図4-1 第1部: EmailTokenValidatorModuleImplforBinary.java

第1部: EmailTokenValidatorModuleImpl.java

図4-2 第2部: EmailTokenValidatorModuleImplforBinary.java

第2部: EmailTokenValidatorModuleImpl.java

次の概要では、このモジュール・クラスの開発におけるハイライトを説明します。

開発におけるハイライト: TokenValidatorModuleクラスの記述

  1. init(Map options)メソッドを実装します。これはTokenValidatorModuleが初期化された場合にコールされます。initメソッドは、検証テンプレートで定義されたパラメータが含まれるマップに渡されます。

  2. validate(TokenContext context)メソッドを実装します。これは、特定の着信カスタム・トークンを検証する必要がある場合にコールされます。

    1. TokenContextオブジェクトのプロパティからトークン情報をフェッチします。

    2. トークンを検証し、TokenResultオブジェクトを戻します。

      成功時には次を戻します。

      TokenResultImpl result = new TokenResultImpl(0, TokenResult.SUCCESS, token);
      

      失敗時には次を戻します。

      TokenResultImpl result = new TokenResultImpl(0, TokenResult.FAILURE, token);
      result.setTokenProperty("TPE_RESULT_FAILURE_CODE", failureCode);
      result.setTokenProperty("TPE_RESULT_FAILURE_STRING", "validation failed");
         
      
    3. 検証済トークン結果において、トークンのNameIdおよびトークンに基づいて解析された属性が次の形式で戻されることを確認します。

      result.setTokenProperty(TPEConstants.NAMEID_VALUE, emailAddress);
      
       //attributes
      List attributeList = new ArrayList();
      Return any other properties that should be available in the context for :  
      token mapping and issuance by setting the properties on the result
      result.setTokenProperty(name, value);
      Return any other properties that should be available in the context for 
      token mapping and issuance by setting the properties on the result as 
      follows: result.setTokenProperty(name, value);
      emailAttribute.put(TPEConstants.SAML_ATTRIBUTE_NAMESPACE, null);
      List attributeValues = new ArrayList();
      attributeValues.add(emailAddress);
      emailAttribute.put(TPEConstants.SAML_ATTRIBUTE_VALUES, attributeValues);
      attributeList.add(emailAttribute);
      result.setTokenProperty(TPEConstants.TOKEN_ATTRIBUTES, attributeList); 
      
      

4.2.2 TokenValidatorModuleクラスの記述

次のタスクを実行し、カスタムTokenValidatorModuleクラスを記述します。

タスクの概要: TokenValidatorModuleクラスの記述

  1. 次を参照して、独自のモジュール・クラスを開発します。

  2. 必要に応じて次に進みます。

4.3 TokenIssuanceModuleクラスの記述

ここでは、次の内容について説明します。

4.3.1 TokenIssuanceModuleクラスの記述について

EmailTokenIssuerModuleImpl.javaクラスは、oracle.security.fed.sts.token.tpe.TokenIssuerModuleインタフェースおよびTokenContextの属性を実装する必要があります。

詳細は、図4-3を参照してください。次の概要では、このモジュール・クラスの開発におけるハイライトを説明します。

図4-3 EmailTokenIssuerModuleImpl.java 

第1部: EmailTokenIssuerModuleImpl.javaクラス

開発におけるハイライト: TokenIssuanceModuleクラスの記述

  1. public void init(Map options)throws TokenProcessingExceptionメソッドを実装します。

    発行者モジュールが初期化されると、init()メソッドがコールされます。initメソッドには、発行テンプレートで定義されたパラメータが含まれるマップが渡されます。

  2. public TokenResult issue(TokenContext context) throws TokenProcessingExceptionメソッドを実装します。

    このメソッドは、カスタム送信トークンを作成する必要がある場合にコールされます。

    1. issueメソッド内で、発行テンプレートの属性およびTokenContextに渡された属性を使用してトークンを作成します。TokenContextの属性には、次の方法でアクセスします。

      List attributes = (List)context.getOtherProperties().get(TPEConstants.TOKEN_ATTRIBUTES);
      String emailAddress = null;
      HashMap attributes = (HashMap)context.getOtherProperties().get("STS_TOKEN_ATTRIBUTES");        
      Object valueObj = attributes.get("mail"); //valuesObj will be a list if mail has more than 1 value;
      if(attributes != null)
      attrIter = attributes.iterator();
      if(attrIter != null){
      HashMap attributes = (HashMap)context.getOtherProperties().get("STS_TOKEN_      
      ATTRIBUTES");  
      Object valueObj = attributes.get("mail"); //valuesObj will be a list if
      mail has more than 1 value.
      Map<String, Object> attribute = attrIter.next();
      String attributeName = (String)attribute.get(TPEConstants.SAML_ATTRIBUTE_NAME);
      if("mail".equals(attributeName)){
      {Object valuesObj = attribute.get(TPEConstants.SAML_ATTRIBUTE_VALUES); if(valuesObj instanceof List) { Iterator iter = ((List)valuesObj).iterator(); while(iter.hasNext())
      {Object valueObj = iter.next(); if(valueObj instanceof String)
      
      }
      }else if(valuesObj instanceof String)
      Unknown macro: { emailAddress = (String)valuesObj; } 
      }
      
    2. 結果オブジェクトを作成し、トークンのバイト数と、トークンのDocument Object Model (DOM)表現を設定します(DOM表現がこのクラスの処理中に作成された場合のみ)。

      token.setTokenDocument(null);--> if you have a doc object that can be reuse.d set it here
      token.setTokenBytes(tokenBytes);
      TokenResult result = new TokenResultImpl(0, TokenResult.SUCCESS, token); 
      
    3. 次のように、キー識別子情報をトークン・プロパティに設定します。

      Map resultMap = new HashMap();
         resultMap.put("STS_KEY_IDENTIFIER_VALUE", emailAddress);
         resultMap.put("STS_KEY_IDENTIFIER_VALUE_TYPE", "EmailAddress");
         result.setTokenProperties(resultMap);
      

4.3.2 TokenIssuanceModuleクラスの記述

タスクの概要: 発行モジュール・クラスの記述

  1. 第4.3.1項「TokenIssuanceModuleクラスの記述について」およびOracle Security Token Service Java APIリファレンスを参照し、発行モジュール・クラスを記述します。

  2. 第4.4項「カスタム・クラスを使用可能にする」に進みます。

4.4 カスタム・クラスを使用可能にする

この項では、コンソールを使用してカスタム・クラスをOracle Access Manager 11gで使用できるようにする方法を説明します。

ここに記載した情報は、次のものがある場合に適用されます。


注意:

コンソールを介して実行できる操作のWebLogic Scripting Toolコマンドが含まれるスクリプトも記述できます。手順は、Oracle Fusion Middleware WebLogicスクリプト・ツール・コマンド・リファレンスを参照してください。

ここでは、次の内容について説明します。

4.4.1 クラスを使用可能にする処理について

カスタム・トークンの検証または発行クラス(あるいはその両方)を記述した後、Oracle Security Token Serviceにカスタム・トークン構成を追加して、これらのクラスを使用するケースと使用方法を指定する必要があります。

図4-4に示すように、新規カスタム・トークン・ページでは、「トークン・タイプ名」のみ必須です(アスタリスク*で識別)。すべての要素がすべてのカスタム・トークンに適用されるわけではありません。ただし、不完全な情報を送信した場合、不足内容を示すダイアログ・ボックスが表示されます。

図4-4 新規カスタム・トークン・ページ

新規カスタム・トークン・ページ

新規カスタム・トークン詳細を正常に送信した後、保存されたページは図4-5に示すように編集できます。

図4-5 カスタム・トークン定義: 電子メール

カスタム・トークン定義: 電子メール

カスタム・トークンについては、XML要素名、XML要素のネームスペース、バイナリ・セキュリティ・トークン・タイプなどを決定する必要があります。表4-1では、この章の例に基づくカスタム・トークン・ページの要素について説明します。

表4-1 新規カスタム・トークン要素

要素 説明

トークン・タイプ名

このカスタム・トークンについて選択する一意の名前。次に例を示します。

email_token

注意: 新規カスタム・トークン構成を保存した後は、この名前は編集できません。

デフォルト・トークンURI

このカスタム・トークンのURI。このURIをRSTで使用し、このタイプのカスタム・トークンを発行する必要があることをリクエストできます。この章の例の場合、値は次のようになります。

oracle.security.fed.sts.customtoken.email

XML要素名

ユーザーが決定する名前であり、トークン・タイプ名に関連付けられます。次に例を示します。

email

XML要素名としてemailを指定した場合、要素名emailが着信トークンに表示されるたび、トークン・タイプ名に関連付けられます(この場合はemail_token)。

注意: 少なくともXML要素名またはバイナリ・セキュリティ・トークン・タイプのいずれかが必要です。

検証クラス名

Oracle Security Token Serviceで使用できるようにしたカスタム・トークン検証クラスの名前。次に例を示します。

oracle.security.fed.sts.tpe.providers.email.EmailTokenValidatorModuleImpl

注意: カスタム・トークンを発行するか検証するかに応じて、少なくとも発行クラス名または検証クラス名のいずれかが必要です。

XML要素のネームスペース

カスタム・トークン要素名のネームスペース。次に例を示します。

http://email.example.com

発行クラス名

Oracle Security Token Serviceで使用できるようにしたカスタム・トークン発行クラスの名前。次に例を示します。

oracle.security.fed.sts.tpe.providers.email.EmailTokenIssuerModuleImpl

注意: カスタム・トークンを発行するか検証するかに応じて、少なくとも発行クラス名または検証クラス名のいずれかが必要です。

バイナリ・セキュリティ・トークン・タイプ

BinarySecurityTokenとして送信されたカスタム・トークンをクラスで検証できるようにします。

このカスタム・トークンのBinarySecurityTokenのValueType。Oracle Security Token Serviceがこの値タイプのバイナリ・セキュリティ・トークンを受け取った場合、検証のためにこのカスタム・トークンの検証クラスに転送されます。

検証属性

この項では、検証属性を追加(または削除)できます。既存の検証属性が表に表示されます(ある場合)。この例では、次のようになります。

  • 属性名: testsetting

  • 属性タイプ: String

注意: トークン検証テンプレートの作成時に、属性に値を追加します。

発行属性

この項では、発行属性を追加(または削除)できます。既存の発行属性に関する次の情報が表に表示されます。

  • 属性名: testsetting

  • 属性タイプ: String

注意: トークン発行テンプレートの作成時に、属性に値を追加します。

保存

構成情報を保存するには、新規カスタム・トークン・ページでこのボタンをクリックします。

取消

構成詳細を閉じるには、このボタンをクリックします。

適用

変更内容を送信するには、このボタンをクリックします。

元に戻す

変更内容を取り消すには、このボタンをクリックします。


タスク概要: カスタム・クラスのカスタム・トークンの追加

  1. カスタムTokenIssuerModuleまたはTokenValidatorModuleクラス(あるいはその両方)のみが含まれるJARファイルを作成します。XMLメタデータもマニフェストも必要ありません。

  2. 図4-5および表4-1の情報を確認します。

  3. 第4.4.3項「カスタム・トークンの管理」で説明するように、Oracle Security Token ServiceをホストするOAMサーバーにJARを追加し、新規カスタム・トークンを作成します。

4.4.2 カスタム・トークンの検索範囲の絞込みについて

図4-6では、カスタム・トークン検索コントロールおよび結果表を示しています。これらは、ナビゲーション・ツリーでカスタム・トークン・ノードをダブルクリックすると表示されます。デフォルトでは、「検索結果」表が表示されると、現在定義されているすべてのカスタム・トークンがリストされます。

図4-6 カスタム・トークン検索ページおよびコントロール

カスタム・トークン検索ページおよびコントロール

表4-2では、カスタム・トークン検索要素およびコントロールについて説明します。カスタム・トークン検索では、ワイルド・カード(*)は使用できません。

表4-2 カスタム・トークン検索要素およびコントロール

要素 説明

デフォルト・トークンURI

カスタム・トークンに対して定義されたURI。URI全体またはその一部のみを入力できます。たとえば、「ai」と入力した場合、「検索結果」表には、文字「ai」が含まれるトークンURIで定義されたすべてのカスタム・トークンが表示されます。

注意: カスタム・トークン検索では、ワイルド・カードは使用できません。

検索

フォームで指定された基準を使用して検索機能が開始されます。

リセット

デフォルトのみが含まれる「検索」フォームがリセットされます。

検索結果

「表示」メニューの選択内容に基づいて、検索結果が表示されます。

「アクション」メニュー

結果表の選択内容について実行できる次の機能を提供します。

カスタム・トークン検索の「アクション」メニュー

注意: 「アクション」メニューの機能は、結果表の上のコマンド・ボタンを反映しています。次に例を示します。

  • 新規カスタム・トークン: 検索ページ上部の「新規カスタム・トークン」ボタンをクリックするか、メニューから「新規カスタム・トークン」を選択するか、または表の上の「+」ボタンをクリックします。

  • 編集: 「検索結果」表の「トークン・タイプ名」列で名前をダブルクリックするか、「アクション」メニューから「編集」を選択するか、結果表の上の編集(鉛筆アイコン)コマンド・ボタンをクリックします。

  • 類似作成: 表内の目的の行を選択して、「アクション」メニューから「類似作成」を選択するか、表の上の類似作成コマンド・ボタンをクリックします。

  • 削除: 表内の目的の行を選択して、「アクション」メニューから「削除」を選択するか、表の上の削除「X」コマンド・ボタンをクリックします。

「表示」メニュー

結果表に各種情報を表示するために使用できる機能を提供します。

カスタム・トークン検索の「表示」メニュー
昇順または降順のコントロール

結果表にリストされるアイテムの順序に影響するコントロール:

  • 昇順

  • 降順


4.4.3 カスタム・トークンの管理

有効な管理者資格証明を持つユーザーは、この項の手順を使用して、カスタム・トークン・モジュール・クラスのカスタム・トークンを管理できます。

次の手順には、カスタム・トークンまたはカスタム・トークンの属性を追加、編集および削除するステップが含まれます。不要なステップはスキップします。

前提条件

TokenValidatorModuleクラスの記述

TokenIssuanceModuleクラスの記述

カスタム・クラスを使用できるようにする手順は、次のとおりです。

  1. 次のいずれかの方法を使用して、発行および検証クラスが含まれるJARを作成し、Oracle Security Token ServiceをホストするOAMサーバーに追加します。

    • 起動スクリプトを編集することで、カスタム・トークンjarおよびDOMAIN_HOME/config/fmwconfig/mbeans/oamにあるsts-common.jarを、管理対象サーバーのクラスパスに追加します。

    • カスタム・トークンjarおよびDOMAIN_HOME/config/fmwconfig/mbeans/oamにあるsts-common.jarを、DOMAIN_HOME/libディレクトリに追加し、管理対象サーバーのクラスパスにこれらのjarを自動的に追加します。

    • OAMサーバーを再起動します。

  2. 新規カスタム・トークン: Oracle Access Suiteの「システム構成」タブから、「セキュリティ・トークン・サービス」セクションを開き、次のようにします。

    1. カスタム・トークン・ノードをダブルクリックしてページを開きます。

    2. 「新規カスタム・トークン」ボタンをクリックします。

    3. 新規カスタム・トークン・ページにカスタム・クラスの詳細を入力します(表4-1)。

    4. 「保存」をクリックし、確認ウィンドウを閉じます(または「取消」をクリックし、送信せずにページを閉じます)。

    5. ページを閉じます(またはステップ4のとおりに編集します)。

    6. 必要に応じてステップ4に進むか、第4.5項「Oracle Security Token Serviceカスタム構成の管理」に進みます。

  3. カスタム・トークンの検索: 「システム構成」タブの「セキュリティ・トークン・サービス」セクション:

    1. すべて検索: カスタム・トークン・ノードをダブルクリックし、カスタム・トークンがすべてリストされた結果表を表示します。

    2. 検索の絞込み: 目的のデフォルト・トークンURIに一部またはすべての文字を入力し、「検索」ボタンをクリックして、結果表を確認します。

    3. 検索フォームのリセット: 「リセット」ボタンをクリックします。

  4. カスタム・トークン構成の編集: 作成した保存済ページから開始します。

    代替手段: ステップ3を使用して目的のカスタム・トークンを検索してから、「検索結果」表で名前をダブルクリックし、ページを開きます。

    1. 指定されたカスタム・トークン・ページで、該当するフィールドをクリックし、必要に応じて編集します。

    2. 属性の追加: 「属性」表の追加「+」アイコンをクリックし、属性名および属性タイプを入力します(表4-1)。

    3. 属性の削除: 「属性」表から、削除する属性が含まれる行をクリックし、表の削除「X」アイコンをクリックし、「確認」ウィンドウを閉じます。

    4. 変更内容の適用: ページ上部の「適用」ボタンをクリックし、変更内容を送信します。

  5. カスタム・トークンの削除:

    1. 「検索結果」表で目的の名前をクリックし、削除するアイテムを選択します。

    2. 「アクション」メニューから「削除」をクリックします(または表の上の削除「X」コマンド・ボタンをクリックします)。

    3. 「確認」ウィンドウで「削除」ボタンをクリックします(または「いいえ」をクリックして操作を取り消します)。

4.5 Oracle Security Token Serviceカスタム構成の管理

このタスクは、次の手順で構成されます。

4.5.1 検証テンプレートの作成

有効なOracle Access Manager管理者資格証明を持つユーザーは、次のタスクを実行して、Webservice Trustのトークン・プロトコルを含む検証テンプレートを作成し、トークンをリクエスタにマップできます。

この例のテンプレートは、この章で前述したモジュール・クラスに使用できます。次の各図では、実装の完全な詳細を示しています。これらを確認する際に、このテンプレートの仕様がモジュール・クラス・コードを参照する仕組みに注意してください。

図4-7 一般的な詳細: email-wstrust-valid-temp

一般的な詳細: email-wstrust-valid-temp

図4-8 トークン・マッピング: email-wstrust-valid-temp

トークン・マッピング: email-wstrust-valid-temp

参照:

Oracle Security Token Serviceを伴うOracle Fusion Middleware Oracle Access Manager管理者ガイド

カスタム・モジュール・クラスの検証テンプレートを作成する手順は、次のとおりです。

  1. 既存のトークン検証テンプレートのリストを表示します。


    Oracle Access Suite
    システム構成
    セキュリティ・トークン・サービス
    トークン検証テンプレート
  2. 右上角の「新規検証テンプレート」ボタンをクリックします(または「検索結果」表の上にある追加「+」コマンド・ボタンをクリックします)。

  3. 一般: カスタム・トークンで使用する次のものを設定します。

    検証テンプレート名: email-wstrust-valid-temp

    トークン・プロトコル: Webservice Trust

    トークン・タイプ: email

    デフォルト・パートナ・プロファイル: requester-profile

    カスタム検証属性: testsetting: hello

  4. トークン・マッピング: この章でカスタム・トークンに使用する次のものを設定します。

    「トークンの宛先ユーザーのマップ」の隣のボックスを選択します(有効化)。

    「簡易ユーザー・マッピングの有効化」の隣のボックスを選択し、次を入力します。


    ユーザー・トークン属性: STS_SUBJECT_ID
    データストア属性: mail
  5. 「保存」をクリックし、「確認」ウィンドウを閉じます。

  6. 「カスタム・トークンの発行テンプレートの作成」に進みます。

4.5.2 カスタム・トークンの発行テンプレートの作成

これはサーバー側の構成です。有効なOracle Access Manager管理者の資格証明を持つユーザーは、次のタスクを実行してトークン発行テンプレートを作成できます。

各トークン発行テンプレートは、トークンの構成方法およびトークン構成時に使用する署名または暗号化を示します。また、各トークン発行テンプレートは、データのマッピングおよびフィルタ処理のためにアウトバウンド・トークンの一部として送信される属性を定義します。ただし、発行テンプレートには、リライイング・パーティ・パートナ・プロファイルで定義されたマッピングまたはフィルタ処理ルールはリストされません。

この例のテンプレートは、この章で前述した電子メール・カスタム・トークンに使用できます。実装の詳細を次の各図に示しており、付け加えられた手順で説明しています。これらを確認する際に、このテンプレートの仕様がモジュール・クラス・コードを参照する仕組みに注意してください。

図4-9 一般的な詳細: email-issuance-temp

一般的な詳細: email-issuance-temp

カスタム・トークン・タイプをデプロイした場合、発行プロパティはカスタム・トークンにあわせて調整されます。たとえば、図4-10に示した発行テンプレートでは、カスタム電子メール・トークン・タイプが選択されています。

図4-10 発行プロパティ: email-issuance-temp

発行プロパティ: email-issuance-temp

この手順では、この章のカスタム・モジュール・クラスのコンパニオン発行テンプレートを生成します。この例の場合、次のようになります。

  • カスタム・トークンタイプ: 電子メールでは使用されないトークン暗号化アルゴリズムは無視します。

  • カスタム・トークン・コードから移入されるカスタム・トークン属性の値を入力します。


参照:

Oracle Security Token Serviceを伴うOracle Fusion Middleware Oracle Access Manager管理者ガイド

カスタム・モジュール・クラスの発行テンプレートを作成する手順は、次のとおりです。

  1. 既存のトークン発行テンプレートのリストに進みます。


    Oracle Access Suite
    システム構成
    セキュリティ・トークン・サービス
    トークン発行テンプレート
  2. 新規トークン発行テンプレート:

    1. 右上角の「新規発行テンプレート」ボタンをクリックします(または「検索結果」表の上にある追加「+」コマンド・ボタンをクリックします)。

    2. 一般: この章でカスタム・トークンに使用する次のものを設定します。


      発行テンプレート名: email-issuance-temp
      トークン・タイプ: email
    3. 「保存」をクリックし、確認ウィンドウを閉じます(または保存せずに「取消」をクリックします)。

    4. 発行プロパティ: この章でカスタム・トークンに使用する次のものを設定します。


      カスタム・トークン属性値: world
    5. 「適用」をクリックし、確認ウィンドウを閉じます(または保存せずに「元に戻す」をクリックします)。

    6. 定義を閉じます(またはステップ4のとおりに編集します)。

  3. テンプレートの編集: 作成した保存済ページから開始します。

    代替手段: ステップ3を使用して目的のテンプレートを検索し、「検索結果」表で名前をクリックし、定義を表示します。

    1. 必要に応じて詳細を編集します。

    2. ページ上部の「適用」ボタンをクリックし、変更内容を送信します(または「元に戻す」をクリックして変更内容を元に戻します)。

4.5.3 カスタム・トークンをリクエスタ・プロファイルに追加

既存のリクエスタ・プロファイルを編集してカスタム・トークンを「トークン・タイプ構成」表に追加するか、新規リクエスタ・プロファイルを作成してカスタム・トークンで使用できます。どちらの方法も、次を構成します。

  • トークン・タイプ: email (カスタム・トークン)

  • 検証テンプレート: email-wstrust-valid-temp

前提条件

カスタム・トークンおよび検証テンプレートを定義する必要があります。

カスタム・トークンのリクエスタ・プロファイルを作成または編集する手順は、次のとおりです。

  1. Oracle Access Suiteの「システム構成」タブから、「セキュリティ・トークン・サービス」セクションを開きます。

  2. ナビゲーション・ツリーで、パートナ・プロファイル・ノードを開き、リクエスタ・プロファイル・ノードをダブルクリックして既存のプロファイルのリストを表示します。

  3. 既存のプロファイル:

    1. リクエスタ・プロファイル・ページの「検索結果」表で、目的のプロファイルの名前をクリックします。

    2. トークンと属性: この章のカスタム・トークンについて次の詳細を入力し、ページ上部の「保存」ボタンをクリックします。


      トークン・タイプ: email
      検証テンプレート: email-wstrust-valid-temp
    3. 「保存」をクリックし、確認ウィンドウを閉じてページを閉じます(または「取消」をクリックし、送信せずにページを閉じます)。

    4. 第4.5.4項「カスタム・トークンをリライイング・パーティ・プロファイルに追加」に進みます。

  4. 新規プロファイル: 「新規リクエスタ・プロファイル」ボタンをクリックし、詳細を入力する新規パートナ・プロファイル・ページを表示します。

    1. 一般: この章のカスタム・トークンについて次の詳細を入力し、ページ上部の「次」ボタンをクリックします。


      プロファイルID: unique_requesterprofile_name
      デフォルト・リライイング・パーティ・プロファイル: unique_relyingparty_name
    2. トークン・タイプ構成の追加: この章のカスタム・トークンについて次の詳細を入力し、ページ上部の「保存」ボタンをクリックします。


      トークン・タイプ: email
      検証テンプレート: email-wstrust-valid-temp
    3. 第4.5.4項「カスタム・トークンをリライイング・パーティ・プロファイルに追加」に進みます。

4.5.4 カスタム・トークンをリライイング・パーティ・プロファイルに追加

既存のリライイング・パーティ・プロファイルを編集するか、デフォルトでカスタム・トークンを発行するプロファイルを新規作成し、発行テンプレートおよび関連情報を参照できます。どちらの方法も、次を構成します。

  • 発行するデフォルト・トークン: email (カスタム・トークン)

  • 発行テンプレート: email-issuance-temp

前提条件

カスタム・トークンおよび発行テンプレートを定義する必要があります。

カスタム・モジュール・クラスのリクエスタ・プロファイルを編集する手順は、次のとおりです。

  1. Oracle Access Suiteの「システム構成」タブから、「セキュリティ・トークン・サービス」セクションを開きます。

  2. ナビゲーション・ツリーで、パートナ・プロファイル・ノードを開き、リライイング・パーティ・プロファイル・ノードをダブルクリックして既存のプロファイルのリストを表示します。

  3. 既存のプロファイル:

    1. リライイング・パーティ・プロファイル・ページの「検索結果」表で、目的のプロファイルの名前をクリックします。

    2. 「トークンと属性」タブをクリックします。

    3. トークン・タイプ構成: 「トークン・タイプ構成」表の上の追加「+」ボタンをクリックし、次の詳細を入力します。


      トークン・タイプ: email
      発行テンプレート: email-issuance-temp
    4. 属性: 「属性」表の上の追加「+」ボタンをクリックし、次の内容を定義します。


      属性名: mail
      ストア・タイプ: Userstore
      トークンに含める: (check to enable)
      暗号化(空のまま)
      値(空のまま)
    5. 「適用」をクリックし、確認ウィンドウを閉じてページを閉じます(または「取消」をクリックし、送信せずにページを閉じます)。

  4. 新規プロファイル: 「新規リライング・パーティ・プロファイル」ボタンをクリックし、詳細を入力する新規パートナ・プロファイル・ページを表示します。

    1. 一般: この章のカスタム・トークンについて次の詳細を入力し、ページ上部の「次」ボタンをクリックします。


      プロファイルID: unique_relyingparty-name
      デフォルト・トークン: email
    2. 「トークンと属性」タブをクリックし、ステップ2cおよび2dを実行してから「適用」をクリックします。

4.5.5 トークンをリクエスタにマップ

ユーザー名検証テンプレート(username-wss-valid-template)がない場合、Oracle Access Suiteを使用して、トークンをリスナーにマップするテンプレートを作成します。

検証テンプレート名: username-wss-valid-template

トークン・タイプ: Username

第4.5.6項「/wssuserエンドポイントの作成」に進みます。

4.5.6 /wssuserエンドポイントの作成

前提条件

「トークンをリクエスタにマップ」

エンドポイントを作成する手順は、次のとおりです。

  1. Oracle Access Suiteの「システム構成」タブから、「セキュリティ・トークン・サービス」セクションを開きます。

  2. エンドポイント・ノードをダブルクリックし、既存のエンドポイントのリストを表示します。

  3. 新規エンドポイント:

    1. 表の上の追加「+」ボタンをクリックします(または「アクション」メニューから「新規エンドポイント」を選択します)。

    2. 新規エンドポイントURIを入力します(/wssuser)。

    3. Oracle WSMポリシー(sts/wss_username_service_policy)を選択します。

    4. 検証テンプレートを選択します(username-wss-validation-template)。

    5. 「適用」をクリックして定義を送信し、確認ウィンドウを閉じます(または「元に戻す」をクリックし、送信せずにページを閉じます)。

    6. ページを閉じます。