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