この章では、セキュリティ・トークン・サービスの次の情報を提供します。
「セキュリティ・トークン・サービスの有効化および無効化」の説明に従って、「使用可能なサービス」ページでセキュリティ・トークン・サービスを有効にする必要があります。
セキュリティ・トークン・サービスでは、ポリシーに基づいてリソースへのアクセスを定義するアプリケーション・ドメインを定義することで、WSPにアクセスするユーザーの制御がサポートされています。アプリケーション・ドメインは、WSPに基づいてセキュリティ・トークンをリクエストできるユーザーを決定する認可ルールとともにWebサービスを識別します。
次の機能は信頼発行ポリシーによって確立されており、このポリシーは、「Oracle Access Managementコンソール」の「ポリシー構成」タブにある「アプリケーション・ドメイン」を介して管理できます。
リライイング・パーティまたはWebサービス・プロバイダを表すTokenServiceRPタイプのリソース。
タイプがTokenServiceRPのリソースのセットに対してポリシーを定義するトークン発行ポリシー。
ポリシーにリストされているリソースのトークンの発行を許可または拒否されるクライアントのアイデンティティを定義する条件。クライアントは、リクエスタ・パートナまたはデフォルト・アイデンティティ・ストアからのユーザーです。
セキュリティ・トークン・サービスでは、セキュリティ・トークン・サービスにより発行されるセキュリティ・トークンのコンシューマになるリモートWebサービス・プロバイダを表す、リライイング・パーティ・パートナの作成がサポートされています。
WS-Trustリクエストに指定されているWS-Addressingエンドポイントがセキュリティ・トークン・サービスのリライイング・パーティ・パートナにマップされるように、リライイング・パーティ・パートナごとに、パートナにマップされるURLを定義できます。
実行時に、クライアントがトークンの発行を要求すると、セキュリティ・トークン・サービスでは信頼発行ポリシーを評価し、トークンを発行できるかどうかを判断します。
クライアントはリクエスタ・パートナまたはエンド・ユーザーとして識別されます。
WS-TrustリクエストにAppliesTo要素が存在し、リライイング・パーティ・パートナにマップされた場合、信頼発行ポリシー評価のTokenServiceRPリソースはセキュリティ・トークン・サービスのリライイング・パートナのパートナIDになります。
WS-TrustリクエストにAppliesTo要素が存在し、リライイング・パーティ・パートナにマップできなかった場合、信頼発行ポリシー評価のTokenServiceRPリソースはAccess Managerアプリケーション・ドメインに定義されているUnknownRPになります。
WS-TrustリクエストにAppliesTo要素がない場合、信頼発行ポリシー評価のTokenServiceRPリソースはAccess Managerアプリケーション・ドメインに定義されているMissingRPになります。
セキュリティ・トークン・サービスでは、(少なくとも)次の項目がリクエストを処理し、着信リクエスト(RST)に基づいてトークンを発行する必要があります。
エンドポイント
1つの発行テンプレート
1つの検証テンプレート
トークンを含む1つのリクエスタ・パートナ・プロファイル
1つのリライイング・パーティ・パートナ・プロファイル
注意: パートナのプロビジョニングが必要な場合があります。 |
ユーザーを参照するユーザー名トークンをLDAPユーザー・レコードにマップし、その後そのレコードを使用して送信トークンを移入するために、セキュリティ・トークン・サービスにはLDAPサーバーが必要です。パートナが使用可能になる前に、移入が必要な場合があります。
「トークン検証テンプレート」または「トークン発行テンプレート」ノードを開くと、検索結果の表に定義済のすべてのテンプレート名が表示されます。特定のテンプレートまたはテンプレートのセットを迅速に検索するために、検索コントロールを使用できます。
この項では、検索の絞込みに使用できるコントロールについて説明します。このコントロールは、トークン検証テンプレートとトークン発行テンプレートのどちらを検索する場合も類似しています。内容は次のとおりです。
次の図は、多くの類似点がある検索ページを示しています。
表34-1に、テンプレート検索の絞込みに使用できるコントロールを示します。特に明記しないかぎり、すべての要素を検証テンプレートと発行テンプレートの両方の検索に使用できます。
表34-1 検証テンプレートの検索
要素 | 説明 |
---|---|
一致 |
「すべて」を選択して、指定のすべてに一致するテンプレートを検索します。 「任意」を選択して、少なくとも1つの指定に一致するテンプレートを検索します。 |
検索操作リスト |
検索を絞り込むために選択する操作のリスト。 ![]() |
...テンプレート名 |
リストから操作を選択し、検索の絞込みに役立つ情報をフィールドに入力します。 |
説明 |
オプションの説明フィールドを使用して検索を絞り込みます。 |
トークン・プロトコル 検証テンプレートのみ |
リストされているプロトコルからトークン・プロトコルを選択します。
|
トークン・タイプ |
トークン・タイプを選択します。標準とカスタムの両方のトークン・タイプがあります。
|
検索 |
フォームの基準を使用して検索機能を開始します。 |
リセット |
デフォルトのみで「検索」フォームをリセットします。 |
フィールドの追加 |
検索基準として追加できる追加項目のリスト。 ![]() |
「検索結果」表 |
この表の後半に説明されているように、「表示」メニューの選択内容に基づいて検索の結果を項目化します。 |
「アクション」メニュー 表示: 検証テンプレート用のアクション |
結果表の選択項目で実行できる次の機能を提供します。 ![]() 注意: 「アクション」メニューの機能は、結果表の上のコマンド・ボタンをミラー化します。次に例を示します。
|
「表示」メニュー 検証テンプレートのみ |
結果表に表示する情報を識別できるリスト。 ![]() |
「表示」メニュー 発行テンプレートのみ |
結果表に表示する情報を識別できるリスト。 ![]() |
![]() |
結果表にリストされる項目の順序を定義するために選択できるコントロール:
|
有効な管理者の資格証明を持つユーザーは、次の手順を使用して、特定のテンプレートまたはテンプレートのセットを検索するために検索コントロールを使用できます。たとえば、特定のトークン・タイプのすべてのテンプレートを検索するには、単にそのトークンのタイプを選択します。特定のトークン・タイプおよび名前のすべてのテンプレートに検索を絞り込むことができます。
これらの手順を実行する場合、必要に応じてできるだけ多く、またはできるだけ少なく情報を入力します。該当しない手順はスキップしてください。
テンプレートを検索する手順
「システム構成」タブから「Secure Token Serviceの設定」セクションを展開します。
ナビゲーション・ツリーで、目的の「テンプレート」ノードを開きます。たとえば、「トークン検証テンプレート」など。
検索条件を編集します(表34-1)。次に例を示します。
一致: 「すべて」
名前: 「次を含む」、em
トークン・タイプ: 「次と等しい」、ユーザー名
「検索」をクリックし、結果を確認して、開くものをクリックします。
発行テンプレートには、トークンの作成方法に関するルールが含まれており、トークン・タイプに固有のものです。発行テンプレートはそれぞれ署名および暗号化を示しており、トークンの一部として送信される属性名、値マッピングおよびフィルタリング設定も含まれています。
この項の内容は次のとおりです。
トークン発行テンプレートはそれぞれ、トークンの構築方法を示しています。つまり、トークンの構築時に使用される署名または暗号化を示しています。各トークン発行テンプレートでは、送信トークンに含まれる属性に適用される属性マッピングおよびフィルタリング・ルールも定義されます。ただし、発行テンプレートには、送信トークンで送信される属性はリストされません。これはリライイング・パーティ・パートナ・プロファイルで定義されます。
トークン発行テンプレートには、選択したトークン・タイプに応じて異なる点の詳細が表示されます。表34-2に、詳細が記載されている場所を示します。
表34-2 発行テンプレートの要件
トピック | 図および表 |
---|---|
一般詳細 |
|
発行プロパティ: ユーザー名トークン |
|
発行プロパティ: SAMLトークン |
|
セキュリティ: SAMLトークン |
|
属性マッピング: SAMLトークン |
一般詳細
図34-3に、デフォルトが表示されている状態の「新規発行テンプレート」ページを示します。特に明記しないかぎり、「一般情報」は、選択するトークン・タイプドを問わず同じです。詳細は、表34-3を参照してください。「一般情報」を入力して「保存」をクリックした後、テンプレート名またはトークン・タイプに戻って編集することはできません。
表34-3 発行テンプレート: 一般詳細
要素 | 説明 |
---|---|
発行テンプレート名 |
このテンプレートの一意の名前を入力します。 |
説明 |
オプション。 |
トークン・タイプ |
リストされているタイプから標準(または、ある場合はカスタム)のトークン・タイプを選択します。 |
SAML、ユーザー名およびカスタムのトークン・タイプ |
|
暗号化されたトークンの送信 |
クリックしてトークン暗号化を有効にします。 |
トークン暗号化アルゴリズム |
トークン暗号化が有効になっている場合は、リストされているアルゴリズムから「トークン暗号化アルゴリズム」を選択します。 |
発行プロパティ: ユーザー名トークン・タイプ
トークン・タイプがユーザー名の場合、ユーザー名トークン・タイプ・テンプレートには図34-4に示す発行プロパティが必要です。
表34-4に、ユーザー名トークン・タイプの発行プロパティを示します。
表34-4 発行プロパティ: ユーザー名トークン・タイプ
要素 | 説明 |
---|---|
名前識別子ユーザー属性 |
ユーザー名トークンへのUsername要素の移入に使用される属性。 |
名前識別子ユーザー属性ストア |
ユーザー属性ストア・タイプを選択します。
注意: 属性ストアが「ユーザーストア」の場合、ユーザー・レコードからの属性の取得にはLDAPが使用されます。属性ストアが「コンテキスト」の場合は、着信トークンからのデータが属性ソースとして使用されます。 |
パスワード属性 |
ユーザー名トークンへのPassword要素の移入に使用される属性。 |
パスワード属性ストア |
パスワード属性ストア・タイプを選択します。
注意: 属性ストアが「ユーザーストア」の場合、ユーザー・レコードからの属性の取得にはLDAPが使用されます。属性ストアが「コンテキスト」の場合は、着信トークンからのデータが属性ソースとして使用されます。 |
Nonceを含める |
ランダム・データからなるNonceをユーザー名トークンに含めるかどうかを示します。 デフォルト: 無効 |
タイムスタンプを含める |
Created要素をユーザー名トークンに含めるかどうかを示します。 デフォルト: 無効 |
発行プロパティ: SAMLトークン・タイプ
SAML 1.1および2.0トークン・タイプには、図34-5に示す発行プロパティが必要です。
注意: これらのプロパティは、ユーザー名トークン・タイプのプロパティとは異なります。 |
表34-5に、すべての発行プロパティをトークン・タイプ別に示します。発行プロパティが必要なのは、SAMLトークン・タイプのみです。
表34-5 発行プロパティ: SAMLトークン・タイプ
要素 | 説明 |
---|---|
アサーション発行者 |
アサーションの発行者を表す識別子を指定します。この文字列は、このセキュリティ・トークン・サービスをアサーションの発行者として表すために使用されます。 |
名前識別子フォーマット |
リストからフォーマットを選択した後、テキスト・フィールドに詳細を入力します。 ![]() |
名前識別子修飾子 |
「名前識別子修飾子」として設定される文字列を含みます。 |
名前識別子ユーザー属性 |
名前識別子の値の移入に使用される属性を参照します。 |
名前識別子ユーザー属性ストア |
注意: 属性ストアが「ユーザーストア」の場合、ユーザー・レコードからの属性の取得にはLDAPが使用されます。属性ストアが「コンテキスト」の場合は、着信トークンからのデータが属性ソースとして使用されます。 |
認証文を含める |
SAML認証文をアサーションに含めるかどうかを示します。 デフォルト: 無効 注意: このタイプの文を含めるには認証操作が必要です。着信トークンに一部の認証データが含まれ、そのデータが検証される場合、認証文が含まれます(たとえば、着信SAMLアサーションに認証文が含まれるか、ユーザー名トークンに検証済の資格証明が含まれます)。 |
属性文を含める |
SAML属性文を送信アサーションに含めるかどうかを示します。 このタイプの文が含まれるのは、このフラグがtrueに設定され、少なくとも1つの属性が送信アサーションに含まれる場合のみです。 デフォルト: 有効 注意: RP PPは、送信トークンに含める必要がある属性を決定します。 |
有効期間 |
トークンが有効な時間の長さ(秒)を指定します。 デフォルト: 3600(秒) |
「セキュリティ」の詳細: SAMLトークン
図34-6および表34-6に示すように、SAMLトークン・タイプにのみ「セキュリティ」の詳細が必要です。
表34-6 「セキュリティ」の詳細: SAMLトークン
要素 | 説明 |
---|---|
署名と暗号化 |
「署名キーストア・アクセス・テンプレートID」フィールドで参照されるキーを使用して、アサーションに署名するかどうかを示します。 |
アサーションの署名 |
アサーションに署名証明書が含まれるかどうかを示します。 デフォルト: 有効 |
署名に証明書を含める |
デフォルト: 有効 |
署名キーストア・アクセス・テンプレートID |
この発行テンプレートで作成されたアサーションに署名するために使用されるキーを参照します。キー・テンプレートは、「セキュリティ・トークン・サービスの設定」セクションで定義されます。 |
サブジェクト確認 |
|
デフォルト・サブジェクト確認メソッド |
リクエスタがWS-Trustリクエストでメソッドを指定しなかった場合、デフォルトで使用される「サブジェクト確認メソッド」を示します。可能な値は次のとおりです。
|
Holder-of-Key対称鍵の計算 |
デフォルト: 有効 Holder of Key対称鍵データの秘密鍵の作成時に、セキュリティ・トークン・サービスでランダム・データが生成されるかどうかを示します。
|
RSTR証明トークンの暗号化 |
WS-Trustレスポンス内のリクエスタにサーバー・エントロピまたは秘密鍵を返すときに、「サブジェクト確認メソッド」が対称鍵付きHolder of Keyの場合、証明トークンを暗号化する必要があるかどうかを示します。 デフォルト: 無効 |
Holder-of-Key対称鍵生成アルゴリズム |
「サブジェクト確認メソッド」が「対称鍵」を使用するHolder of Keyの場合、秘密鍵の作成に使用する対称鍵生成アルゴリズムを示します。 ![]() |
属性マッピング: SAMLトークン
トークン・タイプがSAML 1.1または2.0の場合、アサーションに含まれる属性に適用される属性マッピングおよびフィルタ・ルールを定義できます。
3種類のルールがあります。
属性のローカル名を別の値に変更できる属性名マッピング。たとえば、givennameをfirstnameに変更できます。
属性のローカル値を別の値に変換できる属性値マッピング。たとえば、PresidentをCEOに変更できます。
属性のローカル値をフィルタ処理して送信アサーションに含まれないようにする属性値フィルタリング。たとえば、削除されるセンシティブ属性値もあれば、発行される属性値もあります。
表34-7 発行テンプレート: 属性マッピング、SAMLトークン
要素 | 説明 |
---|---|
属性名マッピング |
属性のローカル名とアサーション内のこの属性の参照に使用される名前の間のオプション・マッピングを定義します。 マッピングはオプションです。属性にマッピングが定義されていない場合は、属性のローカル名が使用され、ネームスペースが
|
属性値マッピング |
アサーションに含まれる属性の、オプションの値マッピングを定義します。 注意: この属性値マッピングは、属性名マッピングに適用されます。属性の属性マッピングを定義するには、まずその属性の属性名マッピングを定義する必要があります。
|
属性値フィルタ |
アサーションに含まれる属性の、オプションの値フィルタリングを定義します。 注意: この属性値フィルタリングは、属性名マッピングに適用されます。属性の属性フィルタリングを定義するには、まずその属性の属性名マッピングを定義する必要があります。
|
属性値の条件フィルタ
このオプションの値フィルタリングは属性名マッピングに適用され、アサーションに含まれます。属性の属性フィルタリングを定義するには、まずその属性の属性名マッピングを定義する必要があります。「条件」は、属性値がフィルタ処理されるかどうかを判断する式に関連付けられます。使用可能な「条件」の値は次のとおりです。
regexp: 式には正規表現が含まれ、trueと評価された場合、属性値がフィルタ処理されます。
equals: 属性値が式フィールドに含まれるデータと一致する場合、属性値はフィルタ処理されます。
not-equals: 属性値が式フィールドに含まれるデータと一致しない場合、属性値はフィルタ処理されます。
not-equals: 属性値が式フィールドに含まれるデータと一致しない場合、属性値はフィルタ処理されます。
endswith: 属性値が式フィールドに含まれるデータで終了する場合、属性値はフィルタ処理されます。
contains: 式フィールドに含まれるデータが属性値に出現する場合、属性値はフィルタ処理されます。
not-contains: 式フィールドに含まれるデータが属性値に出現しない場合、属性値はフィルタ処理されます。
equals-null: 属性値がnullの場合、フィルタ処理されます。
not-equals-null: 属性値がnull以外の場合、フィルタ処理されます。
有効なOracle Access Management管理者の資格証明を持つユーザーは、新しいトークン発行テンプレートを開発する(または既存のテンプレートを編集する)場合に、この手順をガイドとして使用できます。該当しない手順はスキップしてください。
次の手順では、Security Assertion Markup Language (SAML)トークンの新しいトークン発行テンプレートを作成する方法を説明します。
前提条件
目的のLDAPアイデンティティ・ストアが登録され、デフォルト・ストアとして構成されていることを確認します。
新しいトークン発行テンプレートを作成する手順
既存のトークン発行テンプレートのリストを表示します。
新しいトークン発行テンプレート:
右上角の「新規発行テンプレート」ボタンをクリックします(または「検索結果」表の上にある追加「+」コマンド・ボタンをクリックします)。
一般: このテンプレートの一般情報を定義し、次のものを表示します。
「保存」をクリックし、確認ウィンドウを閉じます(または保存せずに「取消」をクリックします)。
ユーザー名トークン・タイプ: このテンプレートの発行パラメータを定義し、次のものを表示します。
SAMLトークン・タイプ: このテンプレートのパラメータを定義し、次のものを表示します。
「適用」をクリックします(または保存せずに「元に戻す」をクリックします)。
定義を閉じます。
既存のテンプレートの検索: 「システム構成」タブの「セキュリティ・トークン・サービス」セクションから次の手順を実行します。
すべて検索: 「トークン発行テンプレート」ノードをダブルクリックし、結果表を確認します。
検索の絞込み: 検索条件(表34-1)を指定し、「検索」ボタンをクリックして結果表を確認します。
検索フォームのリセット: 「リセット」ボタンをクリックします。
テンプレートの編集: 作成した保存済のページから編集を開始します。
または、ステップ3を使用して目的のテンプレートを検索し、「検索結果」表の名前をクリックして定義を表示します。
必要に応じて詳細を編集します。
ページの上部にある「適用」ボタンをクリックし、変更を送信します(または「元に戻す」をクリックして変更を取り消します)。
テンプレートの削除:
「検索結果」表の目的の名前をクリックし、削除する項目を選択します。
「アクション」メニューの「削除」をクリックします(または、表の上にある「削除」(X)コマンド・ボタンをクリックします)。
「確認」ウィンドウで「削除」ボタンをクリックします(または「いいえ」をクリックして操作を取り消します)。
検証テンプレートを使用して、着信トークンを検証したり、オプションでリクエスタ・パートナまたはユーザー・レコードに着信トークンをマップします。
OnBehalfOfユースケースの場合、WS-Trust検証テンプレートが存在する必要があります。
アサーションを検証するためには、発行局パートナ・プロファイルが存在する必要があります。
セキュリティ・トークン・サービス・エンドポイントは、WSSヘッダー内のトークンを検証する方法とトークンとバインディング・データをリクエスタにマップする方法を示すWSS検証テンプレートにリンクされます。
この項の内容は次のとおりです。
セキュリティ・トークン・サービス・エンドポイントは常に、リクエストをリクエスタ・エントリまたはユーザーにマップする方法を示すWS-Security検証テンプレートでマップされます。
マッピングが必要で一致が見つからない場合、処理は失敗します。
マッピングが不要な場合は、デフォルトのリクエスタ・パートナ・プロファイルが使用されます。
どちらの場合も、リクエスタ・パートナ・プロファイルが取得されます。
ユーザー・レコードへのマッピングが実行される場合は、デフォルトのリクエスタ・パートナ・プロファイルが使用されます。
リクエスタ・パートナ・エントリへのマッピングが実行される場合は、このパートナのリクエスタ・パートナ・プロファイルが使用されます。
検証テンプレートによってトークン検証ルールが決定されます。
着信トークンを検証およびマップするかどうか。
マッピングが有効な場合に使用されるマッピング・ルール。
表34-8に示すように、検証テンプレートはトークン・タイプおよびプロトコルに固有です。
表34-8 検証テンプレートのプロトコル
プロトコル | 説明 |
---|---|
WS-Security |
WS-Securityトークンのみを検証:
トークン・プロトコルをWS-TrustからWS-Securityに切り替えても、「トークン・タイプ」リストのオプションは変更されません。ただし、必要な「デフォルト・パートナ・プロファイル」リストが表示され、ここからWS-Securityのプロファイルの1つを選択する必要があります。 |
WS-Trust |
RST (リクエスト)のOBO (代理)フィールドに含まれるトークンのみを検証:
|
検証テンプレートのマッピング・ルールは、着信トークンからのデータを使用して、ユーザーまたはパートナへの着信データのマップ方法を決定します。
ユーザー名トークンのユーザー名
KerberosトークンのユーザーID
SAMLトークンの名前IDおよび属性
X.509トークンのDNコンポーネント
カスタムからの属性
マッピングは次のように実行されます。
簡易マッピング: ある着信属性をユーザー・レコード属性と照合
複雑なLDAP問合せ: 着信データのプレースホルダを含むLDAP問合せ(例: (&(sn=%lastname%)(mail=%email%))
SAMLトークンの名前IDマッピング表
図34-7に、「新規検証テンプレート」ページのデフォルトの一般詳細を示します。
表34-9に、「新規検証テンプレート」の「一般」ページの要素を示します。
表34-9 新規検証テンプレート: 一般詳細
要素 | 説明 |
---|---|
戻る |
前のページに戻るには、このボタンをクリックします。 |
次 |
次のページに進むには、このボタンをクリックします。 |
取消 |
ページを閉じるには、このボタンをクリックします。 |
検証テンプレート名 |
このテンプレート用に選択する名前。次に例を示します。
|
説明 |
オプション。 |
トークン・プロトコル |
作成される検証テンプレートのタイプ。タイプは次のいずれかになります。
|
トークン・タイプ |
このテンプレートに使用するトークン・タイプを選択するインバウンド・トークン・タイプのリスト。トークン・タイプのオプションはプロトコル・タイプによって異なります。
|
デフォルト・パートナ・プロファイル |
WS-Security検証テンプレートにのみ適用されます。 着信リクエストがリクエスタ・パートナにマップされない場合、使用するデフォルトのリクエスタ・パートナ・プロファイルを参照します。たとえば、かわりにリクエストがユーザーにマップされる場合などです。 リクエスタ・パートナ・プロファイルには、リクエスト処理中に使用される設定が含まれています。着信リクエストがリクエスタ・パートナにマップされた場合、そのリクエスタのパートナ・プロファイルが取得され、リクエスタ・パートナ・プロファイルとして使用されます。 |
タイムスタンプの存続期間 |
ユーザー名およびSAML検証テンプレートにのみ適用されます。トークンの有効性を決定します(ユーザー名トークンの場合は、作成された瞬間を示すCreated要素が含まれている場合のみ)。 デフォルト: 1000(秒) |
認証の詳細 |
ユーザー名トークン検証テンプレートに固有です。 |
資格証明検証の有効化 |
ユーザー名トークンに含まれる資格証明を使用して検証を有効にするには、このボックスを選択します。 有効にすると、セキュリティ・トークン・サービスでは、指定された検証ソースを使用して、ユーザー名トークンに含まれるusernameおよびpassword要素が検証されます。 注意: ユーザー名トークンのWS-Securityプロファイルに定義されているパスワード・ダイジェストは、このリリースではサポートされていません。 |
図34-8に、「資格証明検証の有効化」を選択し、そのページの「認証の詳細」セクションにデフォルト値が表示されている状態の「一般」詳細ページを示します。これは、ユーザー名トークン検証に固有です。
表34-10に、「資格証明検証の有効化」を選択した場合に使用できる認証関連の詳細を示します。
表34-10 新規検証テンプレート: 認証の詳細
要素 | 説明 |
---|---|
検証ソース |
資格証明検証ソースを選択できるリスト ユーザー名トークンに含まれる資格証明を検証する場合、次に示す4つのタイプの検証ソースがあります。
|
LDAP URL |
LDAPサーバーのURL。 |
管理者ユーザー |
LDAPサーバーの参照に使用されるアカウントのユーザー名。 |
管理者パスワード |
LDAPサーバーの参照に使用されるアカウントのパスワード。 |
ベースDN |
ユーザー・レコードの参照時に使用される基本検索DN。 |
HAの有効化 |
LDAPサーバーがHAモードで、前にロード・バランサがあるかどうかを示します。 |
個人オブジェクト・クラス |
ユーザー・レコードに関連付けられた個人オブジェクト・クラス。 |
一意のID |
ユーザーの一意の識別子データを含むユーザー・レコードの属性。ほとんどの場合、「資格証明ID」フィールドと同じです。 |
資格証明ID |
ユーザー名データを含むユーザー・レコードの属性。このフィールドは、ユーザー名に基づいてユーザー・レコードを参照するために使用されます。 |
最大接続数 |
開いている同時LDAP接続の最大数。 デフォルト: 50 |
接続待機タイムアウト |
新しい接続を開くときに待機する最大時間。 デフォルト: 5000(秒) |
接続の非アクティブのタイムアウト |
LDAP接続を閉じるまでの非アクティブの最大時間。 デフォルト: 5000(秒) |
接続の読込みのタイムアウト |
開いている同時LDAP接続の最大数。 デフォルト: 5000(秒) |
トークン・マッピング
「トークン・マッピング」セクションは次の内容を示します。
着信トークンをマップする必要があるかどうか。
着信トークンをマップする必要があるかどうか、実行されるマッピングの種類。たとえば、ユーザーへのトークンのマッピング、パートナへのトークンのマッピングなどです。
マッピングの実行方法。たとえば、パートナ/ユーザー属性へのトークン属性のマッピング、複数のトークン属性を含むLDAP問合せの使用などです。
マッピング・ルールは、着信データをユーザーまたはパートナにマップする方法を決定します。着信トークンの次のデータが使用されます。
UNTのユーザー名
KerberosのユーザーID
SAMLの名前IDおよび属性
X.509のDNコンポーネント
カスタムからの属性
マッピングは次のものを使用して実行されます。
簡易マッピング: ある着信属性をユーザー・レコード属性と照合
複雑なLDAP問合せ: 着信データのプレースホルダを含むLDAP問合せ。例: (&(sn=%lastname%)(mail=%email%))
SAMLの名前IDマッピング表
新しい検証テンプレートのトークン・マッピングの例を次に示します。
図34-9は、名前IDフォーマットに基づいて、一致する属性を持つユーザー・レコードと名前ID値を照合することでユーザー・レコードにトークンをマップするためにセキュリティ・トークン・サービスに必要なマッピング構成設定を示しています。
「トークンの宛先ユーザーのマップ」の有効化
簡易ユーザー・マッピングの有効化
属性ベース・ユーザー・マッピングの無効化
図34-10に、一致するuidを持つユーザー・レコードとユーザー名トークンのusername要素を照合することでユーザー・レコードにトークンをマップするためにセキュリティ・トークン・サービスに必要なマッピング構成設定を示します。必要な設定は次のとおりです。
「トークンの宛先ユーザーのマップ」の有効化
簡易ユーザー・マッピングの有効化
データストア属性: 「uid」に設定
属性ベース・ユーザー・マッピングの無効化
図34-10 トークン・マッピング: username-wstrust-validation-template
図34-11に、SSLクライアント証明書DN識別属性が一致するリクエスタ・パートナと証明書の「サブジェクトDN」を照合することでリクエスタ・パートナ・エントリにトークンをマップするためにセキュリティ・トークン・サービスに必要なマッピング構成設定を示します。必要な設定は次のとおりです。
トークンの宛先パートナのマップ
簡易ユーザー・マッピングの無効化
属性ベース・ユーザー・マッピングの無効化
簡易パートナ・マッピングの有効化
図34-11 トークン・マッピング: x509-wss-validation-template
すべての要素がすべてのトークン・タイプおよびトークン・プロトコルに適用されるわけではありません。定義する必要がある要素は異なります。
表34-11に、検証テンプレートのトークン・マッピング要素を示します。
表34-11 新規検証テンプレート: トークン・マッピング
要素 | 説明 |
---|---|
トークンのマップ先 |
WS-Security検証テンプレート: 「トークンのマップ先」リスト
- - - - - - - - - - WS-Trust検証テンプレート: トークンの宛先ユーザーのマップ 有効にする場合はボックスを選択します(無効にする場合は選択を解除します)。 |
簡易ユーザー・マッピングの有効化 |
簡易ユーザー・マッピングでは、単一のトークン属性を使用して、単一のユーザー・レコード属性と照合することで、着信トークンをユーザー・レコードにマップします。 WS-Security検証テンプレート: ユーザー名、SAMLアサーション、KerberosおよびX.509のみ。 WS-Trust検証テンプレート: ユーザー名、SAMLアサーション、Kerberos、X.509、OAMおよびカスタム・トークン。この検証テンプレートのトークン・タイプによって、レイアウトは異なります。 ユーザー名トークン:
SAMLアサーション:
Kerberos:
X.509:
OAM
カスタム:
|
ユーザー名識別子マッピングの有効化 |
有効な場合、次のものを定義します。 WSSおよびWS-Trust検証テンプレートには、「名前識別子」マッピング設定の同じセクションが含まれます。 名前IDユーザー・マッピング操作では、名前IDフォーマットに基づいて名前ID値を単一のユーザー・レコード属性にマップすることで、着信SAMLアサーションをユーザーにマップします。 有効な場合、セキュリティ・トークン・サービスでは名前IDフォーマットが評価され、ユーザー・レコード属性が照合される「名前識別子」マッピング表に基づいて、名前ID値がアサーションに含まれます。「名前識別子」マッピング表は、マッピング操作に使用されるユーザー・レコード属性を保持します。標準の名前IDフォーマットを含みますが、カスタム名前IDフォーマットを定義してカスタマイズすることもできます。 カスタム名前IDフォーマットを追加するには、「名前識別子」マッピング表の追加ボタンをクリックし、カスタムURIを入力します。 マッピング操作に使用される特定の名前IDフォーマットの属性を設定するには、そのフォーマットの行でユーザー・レコード属性を設定します。 |
属性ベース・ユーザー・マッピングの有効化 |
WSS検証テンプレート: ユーザー名、SAMLアサーション、KerberosおよびX.509のみ。 WS-Trust検証テンプレート: ユーザー名、SAMLアサーション、Kerberos、X.509およびカスタム・トークンのみ。 属性ベース・ユーザー・マッピング操作では、LDAP問合せおよびトークン属性を使用することで、着信トークンをユーザー・レコードにマップします。LDAP問合せのフォーマットによりマッピング・ルールが定義され、使用するトークン属性が、パーセント(%)文字で囲まれた名前によって指定されます。たとえば、2つのトークン属性(firstnameおよびlastname)に基づいてトークンをマップするLDAP問合せは、(&(sn=%lastname)(givenname=%firstname%))のようになります。 使用可能なトークン属性は、トークン・タイプによって異なります。 ユーザー名トークン
SAMLアサーション
Kerberos
X.509
カスタム・トークン
|
簡易パートナ・マッピングの有効化 |
WSS検証テンプレートおよび次のトークン・タイプの場合のみ: ユーザー名、SAMLアサーション、KerberosおよびX.509。 簡易パートナ・マッピング操作では、単一のトークン属性を使用して、パートナ識別属性と照合することで、着信トークンをパートナ・リクエスタにマップします。 この検証テンプレートのトークン・タイプによって、レイアウトは異なります。 ユーザー名トークン
SAMLアサーション
Kerberos
X.509
|
パートナ名識別子マッピングの有効化 |
有効な場合、WSS検証テンプレートおよびSAMLトークン・タイプについてのみ次のものを定義します。 名前IDユーザー・マッピング操作では、名前IDフォーマットに基づいて名前ID値を単一のリクエスタ・パートナ識別属性にマップすることで、着信SAMLアサーションをユーザーにマップします。 有効な場合、セキュリティ・トークン・サービスでは名前IDフォーマットが評価され、パートナ識別属性が照合される「名前識別子」マッピング表に基づいて、名前ID値がアサーションに含まれます。「名前識別子」マッピング表は、マッピング操作に使用されるリクエスタ・パートナ識別属性を保持します。標準の名前IDフォーマットを含みますが、カスタム名前IDフォーマットを定義してカスタマイズすることもできます。 カスタム名前IDフォーマットを追加するには、「名前識別子」マッピング表の「追加」ボタンをクリックし、カスタムURIを入力します。 マッピング操作に使用される特定の名前IDフォーマットの属性を設定するには、そのフォーマットの行でリクエスタ・パートナ識別属性を設定します。 |
これはサーバー側の構成です。デフォルトの「トークン検証テンプレート」が存在します。有効な管理者の資格証明を持つユーザーは、この項の手順を使用して、トークン検証テンプレートを追加、検索、編集または削除できます。不要な手順はスキップしてください。
セキュリティ・トークン・サービス・エンドポイントを、次のものを示すWSセキュリティ検証テンプレートにリンクする必要があります。
Webservice Securityヘッダー内のトークンを検証する方法
トークンおよびバインディング・データをリクエスタにマップする方法
ここに示す情報は、次のものを検証するときに適用できます。
SOAPヘッダーに含まれる、次のタイプのWS-Securityトークン: ユーザー名、SAML 1.1、SAML 2.0、X.509およびKerberos。
WS-TrustリクエストのOnBehalfOf要素またはValidateTarget要素に含まれる、次のタイプのWS-Trustトークン: ユーザー名、SAML 1.1、SAML 2.0、X.509、Kerberos、OAMセッション伝播トークンおよびカスタム・トークン。
次の手順では、次の特定のパラメータを入力するいくつかの例を示します。また、カッコ()内には簡単な解釈も示します。たとえば、名前(ユーザー名トークン): email-wstrust-valid-temp
などです。値は使用する環境によって異なります。
前提条件
トークン検証テンプレートを管理する手順
「テンプレートの検索」の説明に従って、目的のトークン検証テンプレートを見つけて開きます。
新しいトークン検証テンプレート:
右上隅の「新規検証テンプレート」ボタンをクリックします(または、「検索結果」表の上にある「追加」(+)コマンドをクリックします)。
一般: このテンプレートのパラメータ(表34-9)を定義します。次に例を示します。
email-wstrust-valid-temp
email
requester-profile
認証: 必要に応じてこのテンプレートの資格証明検証を有効にし、詳細を示します(表34-10)。トークン・タイプがユーザー名の場合、必要に応じてこのテンプレートの資格証明検証を有効にし、詳細を示します。
トークン・マッピング: トークン・タイプに基づいてこのテンプレートのプリファレンスを指定します(表34-11)。
「保存」をクリックし、確認ウィンドウを閉じます(または保存せずに「取消」をクリックします)。
定義を閉じます(またはステップ4の説明に従って定義を編集します)。
テンプレートの編集: 作成した保存済のページから編集を開始します。
必要に応じてテンプレート定義を編集します。
ページの上部にある「適用」ボタンをクリックし、変更を送信します(または「元に戻す」をクリックして変更を取り消します)。
新しいトークン検証テンプレートの削除:
「検索結果」表の目的の名前をクリックし、削除する項目を選択します。
「アクション」メニューの「削除」をクリックします(または、表の上にある「削除」(X)コマンド・ボタンをクリックします)。
「確認」ウィンドウで「削除」ボタンをクリックします(または「いいえ」をクリックして操作を取り消します)。
エンドポイントは、クライアントがSOAPを介してWS-Trustリクエストを送信できるセキュリティ・トークン・サービスによって公開されるWebサービスです。エンドポイントの特徴は次のとおりです。
WS Securityポリシーで保護されます。
セキュリティ・トークンの検証方法およびマップ方法を示すWSS検証テンプレートにバインドされます。
トークン・タイプ、つまりWSS検証テンプレートで指定したタイプに固有です。
注意: エンドポイントを保護するWS-Securityポリシーは、エンドポイントにバインドされたWSS検証テンプレートと互換性があることが必要です。 |
エンドポイントは、セキュリティ・トークン・サービスによって公開され、OWSMエージェントによって保護されるWebサービス・エンドポイントです。エンドポイントは次のものにバインドされます。
メッセージ保護およびセキュリティ・トークンの観点からWSS要件を決定するWS-Securityポリシー。
リクエストの処理方法およびセキュリティ・トークンの検証方法を示すWSS検証テンプレート。
この項の内容は次のとおりです。
図34-12に示すように、セキュリティ・トークン・サービス・エンドポイントの定義は3つのカテゴリで構成されています。
表34-12に、エンドポイントに必要なカテゴリを示します。
表34-12 「エンドポイント」ページ
要素 | 説明 |
---|---|
エンドポイントURI |
エンドポイントへのパス。セキュリティ・トークン・サービスのベースURLと相対的です。セキュリティ・トークン・サービスのベースURLは/stsです。 |
ポリシーURI |
Oracle WSMポリシーのリストから、このエンドポイントの保護に使用するものを選択します。 Oracle Access Management管理者は、使用可能リストに新しいカスタム・ポリシーを追加できます。新しく作成したポリシーURIをエンドポイント表リストで表示するには、次のwlstコマンドを使用してowsmpoliciesマップを更新します。 putStringProperty("/stsglobal/owsmpolicies/<index>", "<newcustom_policypath>) 次に例を示します。 putStringProperty("/stsglobal/owsmpolicies/31", "sts/newcustom_policy") |
「検証テンプレート」のID |
このエンドポイントで使用する名前を識別するために、検証テンプレート名のリストから選択します。 |
エンドポイントが作成されると、その削除は可能ですが、定義を編集することはできません。
有効なOracle Access Management管理者の資格証明を持つユーザーは、次のタスクを実行してエンドポイントを追加、編集または削除できます。
前提条件
参照するトークン検証テンプレートの作成
エンドポイントを作成または削除する手順
「Oracle Access Managementコンソール」の「システム構成」タブから、「セキュリティ・トークン・サービス」セクションを開きます。
エンドポイント・ノードを開いて、既存のエンドポイントのリストを表示します。
新規エンドポイント: 表34-12を参照してください。
表の上にある「追加」(+)ボタンをクリックします(または「アクション」メニューから「新規エンドポイント」を選択します)。
新しい「エンドポイントURI」を入力します。
このエンドポイントを保護するOracle WSMポリシーの1つを選択します。
このエンドポイントで使用する「検証テンプレート」を選択します。
「適用」をクリックし、定義を送信して確認ウィンドウを閉じます(または「元に戻す」をクリックし、定義を送信せずにページを閉じます)。
ページを閉じます。
エンドポイントの削除:
「エンドポイント」表の行を強調表示し、「削除」(X)ボタンをクリックします(または「アクション」メニューから「選択項目の削除」を選択します)。
削除を確認します(または削除を取り消します)。
ここでは、次の内容について説明します。
トークン発行ポリシーは、クライアントがリクエスタ・パートナであるかエンド・ユーザーであるかにかかわらず、そのクライアントのアイデンティティに基づいて、リソース(リライイング・パーティ・パートナ)に対してトークンを発行する際に従うルールを定義します。リクエスタが存在しない場合、(on-behalf-of (OBO)トークンまたはWSSトークンで表される)ユーザーがリライイング・パーティにアクセスしようとしていると想定されます。
トークンを発行する場合、セキュリティ・トークン・サービスはそのトークンが作成されるリライイング・パーティを判断し、クライアントがそのリライイング・パーティへのトークンのリクエストを認可されているかどうかを評価します。トークンを発行するために、操作に含まれるリソース、および場合によっては条件を使用してトークン発行ポリシーを作成する必要があります。実行時にポリシー評価が成功すると、トークンが発行されます。
このトークン発行ポリシーに、条件、ルールおよびレスポンスを追加できます。
トークン発行ポリシーを使用すると、管理者はポリシーの「許可」および「拒否」ルールとともに条件を定義できます。各トークン発行ポリシーには、1つ以上の条件に加え、リクエストしたリソースへのアクセスを付与または拒否するかどうかを決定するルールを含めることができます。
保護されたリソースへのアクセスを認可されるユーザーを指定する許可タイプのルール。
「条件」にリストされているパートナおよびユーザーのみがアクセス権を付与され、他のユーザーはリソースへのアクセスを拒否されます。
保護されたリソースへのアクセスを拒否されるユーザーを明示的に指定する拒否タイプのルール。
「条件」にリストされているパートナおよびユーザーのみがアクセスを拒否され、他のユーザーはリソースへのアクセス権を付与されます。
注意: ユーザー条件を追加すると、ユーザーが選択に使用できるアイデンティティ・ストアがリストから選択されます。デフォルトのユーザー・アイデンティティ・ストアを選択したことを確認します。これは、セキュリティ・トークン・サービスでのみ使用されるアイデンティティ・ストアです。 |
トークン発行条件の管理は、認可条件とルールの管理に似ています。図34-4には、「トークン発行ポリシー」の「条件」タブが示されています。
表34-13に、トークン発行条件の要件を示します。
表34-13 「条件」タブ: トークン発行ポリシー
要素 | 説明 |
---|---|
「サマリー」タブ |
|
名前 |
このトークン発行ポリシーの一意の名前。 |
説明 |
オプション。 |
「条件」タブ |
表17-18は、「条件」タブの要素およびコントロールを示しています。 |
クラス |
トークン発行ポリシー条件にはトークン・リクエスタ・アイデンティティのみ許可されています。これは「条件の追加」ダイアログ・ボックスで選択します。 |
「ルール」タブ |
表17-29は、簡易モードの評価の「ルール」タブに表示される要素およびコントロールを示しています。 表17-30は、式モードの「ルール」タブに表示される要素を示しています。 |
条件詳細 |
|
追加 |
次の移入から選択します。
|
エンティティ名 |
選択した「ユーザー・アイデンティティ・ストア」に定義されている、ユーザーまたはグループの名前。 |
エンティティ・タイプ |
条件にアイデンティティを追加するために検索中に検索するエンティティのタイプ: 「ユーザー」または「グループ」 |
ストア名 |
条件を移入するユーザーまたはグループを検索する、「ユーザー・アイデンティティ・ストア」の名前を選択します。セキュリティ・トークン・サービスではデフォルトのアイデンティティ・ストアのみを使用することに注意してください。 |
有効な管理者の資格証明を持つユーザーは、次の手順を使用してトークン発行ポリシーおよび条件をアプリケーション・ドメインに追加できます。このポリシーにリソースを追加するときに、UnknownRPおよびMissingRPリソースを追加できます。
前提条件
アプリケーション・ドメインがすでに存在する必要があります。
注意: IAM Suiteアプリケーション・ドメインにトークン発行ポリシーを追加できます。 |
トークン発行ポリシーおよび条件を管理するには
「既存のアプリケーション・ドメインの検索」の説明に従って、目的のアプリケーション・ドメインを検索します。
個々の「アプリケーション・ドメイン」ページで、「トークン発行ポリシー」タブをクリックします。
トークン発行ポリシーの作成:
目的のドメインで、「トークン発行ポリシー」タブをクリックし、「トークン発行ポリシーの作成」ボタンをクリックして新しいページを開きます。
「サマリー」ページで、一意の名前とオプションの説明を入力します。
リソースの追加: この手順では、アプリケーション・ドメインでリソースが定義されており、ポリシーへの追加準備ができていることを仮定しています。
「リソース」タブをクリックします。
「追加」(+)ボタンをクリックします。
「検索」ボタンをクリックして、追加可能な定義済リソースのリストを表示します。
結果の表内で目的のリソースをクリックし、「選択済の追加」をクリックします。
必要に応じて手順を繰り返して、他のリソースをこのポリシーに追加します。
ポリシーへの条件の追加: 使用可能なタイプは、「トークン・リクエスタ・アイデンティティ」または「True」のみです。
「条件」タブ→「条件」タブの「追加」ボタンをクリックして、「条件の追加」ウィンドウを表示します。
ダイアログ・ボックスにこの条件の一意の名前を入力します。
「タイプ」リストから「トークン・リクエスタ・アイデンティティ」を選択します。
「選択済の追加」をクリックします。
手順5に進んで、トークン・リクエスタ・アイデンティティの詳細を追加します。それ以外の場合は、手順6に進みます。
条件詳細の追加:
条件名をクリックして、「条件: 詳細」を表示します。
「選択したアイデンティティ」表で、「追加」ボタンをクリックして、次のいずれかを選択します。
パートナの追加: 「検索」フィールドに基準を入力(または、すべてのパートナを検索する場合はフィールドの横の矢印キーをクリック)した後、1つ以上の結果を選択し、「選択済の追加」をクリックして条件を移入します。
アイデンティティの追加: 「ストア名」→目的の「アイデンティティ・タイプ」を選択し、検索基準を入力して「検索」ボタンをクリックし、1つ以上の結果を選択して、「選択済の追加」をクリックして条件を移入します。
「条件: 詳細」パネルで「保存」ボタンをクリックします。
ルールの追加: 次の手順に従って、条件に基づいてアクセスを許可または拒否します。
「適用」をクリックして、確認ウィンドウを閉じます。
アプリケーション・ドメイン内のTokenServiceRPリソースの検索(または追加): 「TokenServiceRPタイプのリソースの管理」を参照してください。
トークン発行ポリシーは、クライアントがリクエスタ・パートナであるかエンド・ユーザーであるかにかかわらず、そのクライアントのアイデンティティに基づいて、リソース(リライイング・パーティ・パートナ)に対してトークンを発行する際に従うルールを定義します。
トークンを発行する場合、セキュリティ・トークン・サービスはそのトークンが作成されるリライイング・パーティを判断し、クライアントがそのリライイング・パーティへのトークンのリクエストを認可されているかどうかを評価します。
注意: トークンを発行するために、操作に含まれるリソース、および場合によっては条件を使用してトークン発行ポリシーを作成する必要があります。実行時にポリシー評価が成功すると、トークンが発行されます。 |
ポリシー内のリソースには次のものがあります。
TokenServiceRPタイプのリソースは、(Mobile and Social RESTクライアントで必要とされる)トークン・サービス・リライイング・パーティのためのリソースを表し、トークン・サービス・リライイング・パーティをベースとしています。
関連項目: 第IX部「Oracle Access Management Mobile and Socialの管理」: Mobile and Social認証サービスのためのAccess Managerの構成の詳細 |
既存のUnknownRPリソース。セキュリティ・トークン・サービスで、WS-TrustリクエストのAppliesTo
要素で参照されるサービスURLをセキュリティ・トークン・サービスのリライイング・パーティ・パートナ・エントリにマップできない場合に必要なリソースです。
既存のMissingRPリソース。WS-TrustリクエストのAppliesTo
要素が存在しない場合に必要なリソースです。
注意: MissingRPとUnknownRPはどちらもIAM Suiteアプリケーション・ドメインに定義されています。 |
TokenServiceRPタイプのリソース(図34-14)は、セキュリティ・トークン・サービス・パートナ・ストアに定義されているセキュリティ・トークン・サービスのリライイング・パーティ・パートナを表します。
TokenServiceRPタイプのリソースはトークン発行ポリシーで使用されます。このポリシーは、セキュリティ・トークン・サービスが実行時にトークンを発行するときに評価されます。これは、削除できない事前定義リソース・タイプです。ただし、必要に応じて、追加の操作を作成、編集または削除できます。事前定義された操作はロック・アイコンで示されています。
詳細は、次を参照してください。
ドメイン内の特定のタイプのリソースを検索するには、アプリケーション・ドメインの検索コントロールを使用します。図34-15に、IAM Suiteリソースの検索コントロールを示します。リソース・タイプTokenServiceRPは検索条件です。「検索結果」表に、アプリケーション・ドメイン内のこのタイプのリソースをすべてリストします。
図34-15 検索: アプリケーション・ドメイン内のリソース・タイプTokenServiceRP
このドメイン内のTokenServiceRPリソースには、前述のとおり、即時利用可能な状態で提供されるリソースが含まれています。
UnknownRPリソース
MissingRPリソース
有効な管理者の資格証明を持つユーザーは、次の手順を使用してTokenServiceRPリソースをアプリケーション・ドメインに追加できます。
注意:
|
TokenServiceRPリソースを管理する手順
「既存のアプリケーション・ドメインの検索」の説明に従って、目的のアプリケーション・ドメインを検索します。
アプリケーション・ドメインへのTokenServiceRPリソースの追加:
アプリケーション・ドメインの「検索」ページの「新規リソース」ボタンをクリックします。
「リソース・タイプ」を「TokenServiceRP」と指定します。
トークン発行ポリシーが定義されるリライイング・パーティIDである「リソースURL」を入力します。
ページの上部にある「適用」ボタンをクリックし、これを送信して確認ウィンドウを閉じます。
「アプリケーション・ドメインのリソースの定義」も参照してください。
TokenServiceRPリソースの検索:
目的のアプリケーション・ドメインで、「リソース」タブを開いて検索コントロールを表示します。
「リソース・タイプ」から「TokenServiceRP」を選択し、「検索」をクリックします。
「検索結果」表を確認し、名前をクリックしてリソース定義を開きます。
セキュリティ・トークン・サービスに設定せずに検証や発行に使用できるトークンが含まれていない場合には、開発者はカスタムの検証および発行モジュール・クラスを記述できます。この項では、コンソールを使用してカスタム・クラスを使用できるようにする方法を説明します。
ここに記載した情報は、次のものがある場合に適用されます。
WS-Securityユーザー名トークン
WS-Trustカスタム・トークン
発行中のカスタム・トークン
注意: コンソールを介して実行できる操作のWebLogic Scripting Toolコマンドが含まれるスクリプトも記述できます。手順は、Oracle Fusion Middleware WebLogicスクリプト・ツール・コマンド・リファレンスを参照してください。 |
この項の内容は次のとおりです。
カスタム・トークンの検証または発行クラス(あるいはその両方)を記述した後、セキュリティ・トークン・サービスにカスタム・トークン構成を追加して、これらのクラスを使用するケースと使用方法を指定する必要があります。
図34-16に示すように、新規カスタム・トークン・ページでは、「トークン・タイプ名」のみ必須です(アスタリスク*で識別)。すべての要素がすべてのカスタム・トークンに適用されるわけではありません。ただし、不完全な情報を送信した場合、不足内容を示すダイアログ・ボックスが表示されます。
新規カスタム・トークン詳細を正常に送信した後、保存されたページは図34-17に示すように編集できます。
カスタム・トークンについては、XML要素名、XML要素のネームスペース、バイナリ・セキュリティ・トークン・タイプなどを決定する必要があります。表34-14では、この章の例に基づくカスタム・トークン・ページの要素について説明します。
表34-14 新規カスタム・トークン要素
要素 | 説明 |
---|---|
トークン・タイプ名 |
このカスタム・トークンについて選択する一意の名前。次に例を示します。 email_token 注意: 新規カスタム・トークン構成を保存した後は、この名前は編集できません。 |
デフォルト・トークンURI |
このカスタム・トークンのURI。このURIをRSTで使用し、このタイプのカスタム・トークンを発行する必要があることをリクエストできます。この章の例の場合、値は次のようになります。 oracle.security.fed.sts.customtoken.email |
XML要素名 |
ユーザーが決定する名前であり、トークン・タイプ名に関連付けられます。次に例を示します。 XML要素名として 注意: 少なくともXML要素名またはバイナリ・セキュリティ・トークン・タイプのいずれかが必要です。 |
検証クラス名 |
セキュリティ・トークン・サービスで使用できるようにしたカスタム・トークン検証クラスの名前。次に例を示します。 oracle.security.fed.sts.tpe.providers.email.EmailTokenValidatorModuleImpl 注意: カスタム・トークンを発行するか検証するかに応じて、少なくとも発行クラス名または検証クラス名のいずれかが必要です。 |
XML要素のネームスペース |
カスタム・トークン要素名のネームスペース。次に例を示します。 http://email.example.com |
発行クラス名 |
セキュリティ・トークン・サービスで使用できるようにしたカスタム・トークン発行クラスの名前。次に例を示します。 oracle.security.fed.sts.tpe.providers.email.EmailTokenIssuerModuleImpl 注意: カスタム・トークンを発行するか検証するかに応じて、少なくとも発行クラス名または検証クラス名のいずれかが必要です。 |
バイナリ・セキュリティ・トークン・タイプ |
BinarySecurityTokenとして送信されたカスタム・トークンをクラスで検証できるようにします。 このカスタム・トークンのBinarySecurityTokenのValueType。セキュリティ・トークン・サービスがこのValueTypeのバイナリ・セキュリティ・トークンを受け取った場合、検証のためにこのカスタム・トークンの検証クラスに転送されます。 |
検証属性 |
この項では、検証属性を追加(または削除)できます。既存の検証属性が表に表示されます(ある場合)。この例では、次のように指定します。
注意: トークン検証テンプレートの作成時に、属性に値を追加します。 |
発行属性 |
この項では、発行属性を追加(または削除)できます。既存の発行属性に関する次の情報が表に表示されます。
注意: トークン発行テンプレートの作成時に、属性に値を追加します。 |
保存 |
構成情報を保存するには、新規カスタム・トークン・ページでこのボタンをクリックします。 |
取消 |
構成詳細を閉じるには、このボタンをクリックします。 |
適用 |
変更内容を送信するには、このボタンをクリックします。 |
元に戻す |
変更内容を取り消すには、このボタンをクリックします。 |
タスク概要: カスタム・クラスのカスタム・トークンの追加
カスタムTokenIssuerModule
またはTokenValidatorModule
クラス(あるいはその両方)のみが含まれるJARファイルを作成します。XMLメタデータもマニフェストも必要ありません。
第34.9.3項「カスタム・トークンの管理」で説明するように、セキュリティ・トークン・サービスをホストするOAMサーバーにJARを追加し、新規カスタム・トークンを作成します。
図34-18では、カスタム・トークン検索コントロールおよび結果表を示しています。これらは、ナビゲーション・ツリーでカスタム・トークン・ノードをダブルクリックすると表示されます。デフォルトでは、「検索結果」表が表示されると、現在定義されているすべてのカスタム・トークンがリストされます。
表34-15では、カスタム・トークン検索要素およびコントロールについて説明します。カスタム・トークン検索では、ワイルド・カード(*)は使用できません。
表34-15 カスタム・トークン検索要素およびコントロール
要素 | 説明 |
---|---|
デフォルト・トークンURI |
カスタム・トークンに対して定義されたURI。URI全体またはその一部のみを入力できます。たとえば、「ai」と入力した場合、「検索結果」表には、文字「ai」が含まれるトークンURIで定義されたすべてのカスタム・トークンが表示されます。 注意: カスタム・トークン検索では、ワイルド・カードは使用できません。 |
検索 |
フォームで指定された基準を使用して検索機能が開始されます。 |
リセット |
デフォルトのみで「検索」フォームをリセットします。 |
検索結果 |
「表示」メニューの選択内容に基づいて、検索結果が表示されます。 |
「アクション」メニュー |
結果表の選択項目で実行できる次の機能を提供します。 ![]() 注意: 「アクション」メニューの機能は、結果表の上のコマンド・ボタンをミラー化します。次に例を示します。
|
「表示」メニュー |
結果表に各種情報を表示するために使用できる機能を提供します。 ![]() |
![]() |
結果表にリストされるアイテムの順序に影響するコントロール:
|
有効な管理者資格証明を持つユーザーは、この項の手順を使用して、カスタム・トークン・モジュール・クラスのカスタム・トークンを管理できます。
次の手順には、カスタム・トークンまたはカスタム・トークンの属性を追加、編集および削除するステップが含まれます。不要な手順はスキップしてください。
前提条件
次の詳細は、カスタム・トークンを作成する開発者およびOracle Fusion Middleware Oracle Access Management開発者ガイドを参照してください。
TokenValidatorModuleクラスの記述
TokenIssuanceModuleクラスの記述
カスタム・クラスを使用できるようにする手順は、次のとおりです。
次のいずれかの方法を使用して、発行および検証クラスが含まれるJARを作成し、セキュリティ・トークン・サービスをホストする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サーバーを再起動します。
新規カスタム・トークン: Oracle Access Managementコンソールの「システム構成」タブから、「セキュリティ・トークン・サービス」セクションを開き、次のようにします。
「カスタム・トークン」ノードを開き、検索コントロールを開きます。
「新規カスタム・トークン」ボタンをクリックします。
「新規カスタム・トークン」ページにカスタム・クラスの詳細を入力します(表34-14)。
「保存」をクリックし、確認ウィンドウを閉じます(または「取消」をクリックし、送信せずにページを閉じます)。
ページを閉じます(またはステップ4のとおりに編集します)。
必要に応じてステップ4または「セキュリティ・トークン・サービス・カスタム構成の管理」に進みます。
カスタム・トークンの検索: 「システム構成」タブの「セキュリティ・トークン・サービス」セクション:
すべて検索: 「検索」ボタンをクリックし、カスタム・トークンがすべてリストされた結果表を表示します。
検索の絞込み: 目的のデフォルト・トークンURIに一部またはすべての文字を入力し、「検索」ボタンをクリックして、結果表を確認します。
検索フォームのリセット: 「リセット」ボタンをクリックします。
カスタム・トークン構成の編集: 作成した保存済ページから開始します。
代替手段: ステップ3を使用して目的のカスタム・トークンを検索してから、「検索結果」表で名前をダブルクリックし、ページを開きます。
指定されたカスタム・トークン・ページで、該当するフィールドをクリックし、必要に応じて編集します。
属性の追加: 「属性」表の追加「+」アイコンをクリックし、属性名および属性タイプを入力します(表34-14)。
属性の削除: 「属性」表から、削除する属性が含まれる行をクリックし、表の削除「X」アイコンをクリックし、「確認」ウィンドウを閉じます。
変更内容の適用: ページ上部の「適用」ボタンをクリックし、変更内容を送信します。
カスタム・トークンの削除:
「検索結果」表の目的の名前をクリックし、削除する項目を選択します。
「アクション」メニューの「削除」をクリックします(または、表の上にある「削除」(X)コマンド・ボタンをクリックします)。
「確認」ウィンドウで「削除」ボタンをクリックします(または「いいえ」をクリックして操作を取り消します)。
このタスクは、次の手順で構成されます。
有効なOracle Access Management管理者資格証明を持つユーザーは、次のタスクを実行して、Webservice Trustのトークン・プロトコルを含む検証テンプレートを作成し、トークンをリクエスタにマップできます。
この例のテンプレートは、この章で前述したモジュール・クラスに使用できます。次の各図では、実装の完全な詳細を示しています。これらを確認する際に、このテンプレートの仕様がモジュール・クラス・コードを参照する仕組みに注意してください。
カスタム・モジュール・クラスの検証テンプレートを作成する手順は、次のとおりです。
既存のトークン検証テンプレートのリストを表示します。
右上隅の「新規検証テンプレート」ボタンをクリックします(または、「検索結果」表の上にある「追加」(+)コマンドをクリックします)。
一般: カスタム・トークンで使用する次のものを設定します。
検証テンプレート名: email-wstrust-valid-temp
トークン・プロトコル: Webservice Trust
トークン・タイプ: email
デフォルト・パートナ・プロファイル: requester-profile
カスタム検証属性: testsetting: hello
トークン・マッピング: この章でカスタム・トークンに使用する次のものを設定します。
「トークンの宛先ユーザーのマップ」の隣のボックスを選択します(有効化)。
「簡易ユーザー・マッピングの有効化」の隣のボックスを選択し、次を入力します。
「保存」をクリックし、「確認」ウィンドウを閉じます。
「カスタム・トークンの発行テンプレートの作成」に進みます。
これはサーバー側の構成です。有効なOracle Access Management管理者の資格証明を持つユーザーは、次のタスクを実行してトークン発行テンプレートを作成できます。
各トークン発行テンプレートは、トークンの構成方法およびトークン構成時に使用する署名または暗号化を示します。また、各トークン発行テンプレートは、データのマッピングおよびフィルタ処理のためにアウトバウンド・トークンの一部として送信される属性を定義します。ただし、発行テンプレートには、リライイング・パーティ・パートナ・プロファイルで定義されたマッピングまたはフィルタ処理ルールはリストされません。
この例のテンプレートは、この章で前述した電子メール・カスタム・トークンに使用できます。実装の詳細を次の各図に示しており、付け加えられた手順で説明しています。これらを確認する際に、このテンプレートの仕様がモジュール・クラス・コードを参照する仕組みに注意してください。
カスタム・トークン・タイプをデプロイした場合、発行プロパティはカスタム・トークンにあわせて調整されます。たとえば、図34-22に示した発行テンプレートでは、カスタム電子メール・トークン・タイプが選択されています。
この手順では、この章のカスタム・モジュール・クラスのコンパニオン発行テンプレートを生成します。この例の場合、次のようになります。
カスタム・トークンタイプ: 電子メールでは使用されないトークン暗号化アルゴリズムは無視します。
カスタム・トークン・コードから移入されるカスタム・トークン属性の値を入力します。
関連項目: Oracle Fusion Middleware Oracle Access Management管理者ガイド |
カスタム・モジュール・クラスの発行テンプレートを作成する手順は、次のとおりです。
既存のトークン発行テンプレートを検索します。
新しいトークン発行テンプレート:
右上隅の「新規発行テンプレート」ボタンをクリックします(または、「検索結果」表の上にある「追加」(+)コマンドをクリックします)。
一般: この章でカスタム・トークンに使用する次のものを設定します。
「保存」をクリックし、確認ウィンドウを閉じます(または保存せずに「取消」をクリックします)。
発行プロパティ: この章でカスタム・トークンに使用する次のものを設定します。
「適用」をクリックし、確認ウィンドウを閉じます(または保存せずに「元に戻す」をクリックします)。
定義を閉じます(またはステップ4の説明に従って定義を編集します)。
テンプレートの編集: 目的のテンプレートを見つけて、詳細を編集し、「適用」をクリックします。
または、ステップ3を使用して目的のテンプレートを検索し、「検索結果」表の名前をクリックして定義を表示します。
既存のリクエスタ・プロファイルを編集してカスタム・トークンを「トークン・タイプ構成」表に追加するか、新規リクエスタ・プロファイルを作成してカスタム・トークンで使用できます。どちらの方法も、次を構成します。
トークン・タイプ: email (カスタム・トークン)
検証テンプレート: email-wstrust-valid-temp
前提条件
カスタム・トークンおよび検証テンプレートを定義する必要があります。
カスタム・トークンのリクエスタ・プロファイルを作成または編集する手順は、次のとおりです。
「Oracle Access Managementコンソール」の「システム構成」タブから、「セキュリティ・トークン・サービス」セクションを開きます。
ナビゲーション・ツリーで、パートナ・プロファイル・ノードを開き、リクエスタ・プロファイル・ノードをダブルクリックして既存のプロファイルのリストを表示します。
既存のプロファイル:
リクエスタ・プロファイル・ページの「検索結果」表で、目的のプロファイルの名前をクリックします。
トークンと属性: この章のカスタム・トークンについて次の詳細を入力し、ページ上部の「保存」ボタンをクリックします。
email
email-wstrust-valid-temp
「保存」をクリックし、確認ウィンドウを閉じてページを閉じます(または「取消」をクリックし、送信せずにページを閉じます)。
新規プロファイル: 「新規リクエスタ・プロファイル」ボタンをクリックし、詳細を入力する新規パートナ・プロファイル・ページを表示します。
一般: この章のカスタム・トークンについて次の詳細を入力し、ページ上部の「次」ボタンをクリックします。
unique_requesterprofile_name
unique_relyingparty_name
トークン・タイプ構成の追加: この章のカスタム・トークンについて次の詳細を入力し、ページ上部の「保存」ボタンをクリックします。
email
email-wstrust-valid-temp
既存のリライイング・パーティ・プロファイルを編集するか、デフォルトでカスタム・トークンを発行するプロファイルを新規作成し、発行テンプレートおよび関連情報を参照できます。どちらの方法も、次を構成します。
発行するデフォルト・トークン: email (カスタム・トークン)
発行テンプレート: email-issuance-temp
前提条件
カスタム・トークンおよび発行テンプレートを定義する必要があります。
カスタム・モジュール・クラスのリクエスタ・プロファイルを編集する手順は、次のとおりです。
「Oracle Access Managementコンソール」の「システム構成」タブから、「セキュリティ・トークン・サービス」セクションを開きます。
ナビゲーション・ツリーで、パートナ・プロファイル・ノードを開き、リライイング・パーティ・プロファイル・ノードをダブルクリックして既存のプロファイルのリストを表示します。
既存のプロファイル:
リライイング・パーティ・プロファイル・ページの「検索結果」表で、目的のプロファイルの名前をクリックします。
「トークンと属性」タブをクリックします。
トークン・タイプ構成: 「トークン・タイプ構成」表の上の追加「+」ボタンをクリックし、次の詳細を入力します。
email
email-issuance-temp
属性: 「属性」表の上の追加「+」ボタンをクリックし、次の内容を定義します。
Userstore
(check to enable)
「適用」をクリックし、確認ウィンドウを閉じてページを閉じます(または「取消」をクリックし、送信せずにページを閉じます)。
新規プロファイル: 「新規リライング・パーティ・プロファイル」ボタンをクリックし、詳細を入力する新規パートナ・プロファイル・ページを表示します。
一般: この章のカスタム・トークンについて次の詳細を入力し、ページ上部の「次」ボタンをクリックします。
unique_relyingparty-name
email
「トークンと属性」タブをクリックし、ステップ2cおよび2dを実行してから「適用」をクリックします。
ユーザー名検証テンプレート(username-wss-valid-template)がない場合、Oracle Access Managementコンソールを使用して、トークンをリスナーにマップするテンプレートを作成します。
検証テンプレート名: username-wss-valid-template
トークン・タイプ: ユーザー名
「/wssuserエンドポイントの作成」に進みます。
前提条件
エンドポイントを作成する手順は、次のとおりです。
「Oracle Access Managementコンソール」の「システム構成」タブから、「セキュリティ・トークン・サービス」セクションを開きます。
「エンドポイント」ノードをダブルクリックして、既存のエンドポイントのリストを表示します。
新規エンドポイント:
表の上にある「追加」(+)ボタンをクリックします(または「アクション」メニューから「新規エンドポイント」を選択します)。
新規エンドポイントURIを入力します(/wssuser)。
Oracle WSMポリシー(sts/wss_username_service_policy)を選択します。
検証テンプレートを選択します(username-wss-validation-template)。
「適用」をクリックし、定義を送信して確認ウィンドウを閉じます(または「元に戻す」をクリックし、定義を送信せずにページを閉じます)。
ページを閉じます。