この章では、セキュリティ・トークン・サービスのエンドポイントの保護に含まれるコンポーネントを管理する方法について説明します。この章は、次の項目で構成されています。
この項では、この章のタスクの要件を明らかにします。
この章のタスクを開始する前に、次のトピックを確認してください。
セキュリティ・トークン・サービスは、Access Managerと共存するWebサービスです。セキュリティ・トークン・サービスは、いくつかのAccess Managerコンポーネントを起動して、セキュリティ・トークンを検証および発行します。通常、Webクライアントはユーザー名トークンやX.509トークンのようなセキュリティ・トークンを提供することで、セキュリティ・トークン・サービスを使用してSAMLなどのアウトバウンド・トークンを要求できます。
セキュリティ・トークン・サービスはOracle Access Managementコンソールと統合され、統一された一貫性のある管理機能を提供します。Security Token Serviceシステムのすべての構成は、Oracle Access Managementコンソールを使用して実行します。
セキュリティ・トークン・サービスは次を提供します。
トークン:
検証トークン: 標準トークン(ユーザー名、X.509、Kerberos、SAML 1.1/2.0)およびカスタム・トークンOnBehalfOfユースケース(統合エンジンを介したOAMセッションID伝播トークンおよびカスタム・トークン)では、OAM sessionID伝播トークンおよびカスタム・トークン(ユーザー名、X.509、SAML 1.1/2.0)とともに次の標準トークンもサポートされています。
発行トークン: 統合エンジンを介した標準トークン(ユーザー名、SAML 1.1/2.0)およびカスタム・トークン
構成による発行および検証
複数の層およびドメインにまたがるアイデンティティ伝播による高度な監査
統合された共有プラットフォーム・サービスは、内部サービス(Access Manager SSO、Federation、Oracle Web Services Manager)および外部サービスと対話します。
ここでは、次の内容について説明します。
関連項目: 『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』 |
インストールおよびサーバーの起動後、OAMサーバー上のOracle Access Managementコンソールにアクセスできます。たとえば、OAMサーバーのURLがhttp://machine:14100/oamの場合、次のものにアクセスできます。
Oracle Access Managementコンソール: http://machine:7001/oamconsole
セキュリティ・トークン・サービス: http://machine:14100/sts/wss11user?wsdlにより、デフォルトで使用できる/sts/wss11userエンドポイントのWSDLを表示して、セキュリティ・トークン・サービスが使用できることを確認します。
デフォルトではセキュリティ・トークン・サービスは無効になっているため、すべてのランタイム機能およびWebサービス・エンドポイントも無効になっています。これらのエンドポイントにアクセスするには、最初にOracle Access Managementコンソールを使用してセキュリティ・トークン・サービスを有効にする必要があります。その後、エンドポイントにアクセスできるようになります。
インストール後の構成には次の概要に示すタスクが含まれており、詳細が記載されているこのマニュアル内の他の項を参照しています。
タスクの概要: セキュリティ・トークン・サービスの構成に必要なもの
サーバー側の構成: 次のタスクにOracle Access Managementコンソールを使用します。
サービス有効化: 「セキュリティ・トークン・サービスのサービスの有効化および無効化」
設定の構成: 「「セキュリティ・トークン・サービスの設定」の管理」
エンドポイント登録: 「エンドポイントの管理」
トークン発行テンプレート構成: 「トークン発行テンプレートの管理」
トークン検証テンプレート構成: 「トークン検証テンプレートの管理」
パートナ・プロファイル作成: 「Token Serviceパートナ・プロファイルの管理」
パートナ構成: 「Token Serviceパートナの管理」
トークン発行ポリシーによる、特定のリライイング・パーティに対してセキュリティ・トークン・サービスを使用してトークンを発行するための認可ルールの定義: 「トークン発行ポリシー、条件およびルールの管理」
次の項の説明に従って、Oracle WSMエージェントとの相互作用を設定します。
「セキュリティ・トークン・サービス・メッセージのロギングの概要」の説明に従って、メッセージ・ロギングを設定します。
「Oracle Access Managementの監査の設定」の説明に従って、イベント監査を構成します。
ライフサイクル管理の構成
項目1cの説明に従って、セキュリティ・トークン・サービスのトラスト・エンドポイントを登録します。
「Token Serviceパートナの管理」の説明に従って、リクエスタまたはリライイング・パーティ・パートナをセキュリティ・トークン・サービスに登録します。
第10章「Fusion Middleware Controlを使用したパフォーマンスおよびログの監視」の説明に従って、パフォーマンスを監視します。
Oracle Access Managementでは、すべてのセキュリティ・トークン・サービス・インスタンスはOAMサーバー(管理対象サーバーとも呼ばれる)上にインストールされます。各サーバーをAccess Managerに登録する必要があります。
セキュリティ・トークン・サービスでは、共有サービスの共通インフラストラクチャおよびOracle Access Management管理モデルが利用されます。
セキュリティ・トークン・サービスではWeb Services Securityプロトコル1.0および1.1がサポートされており、次のトークン(Security SOAPヘッダーに存在する場合)が処理されます。
ユーザー名トークン(UNT)
SAML 1.1またはSAML 2.0アサーション
Kerberos
X.509
サード・パーティのサーバー: セキュリティ・トークン・サービスは、サード・パーティのセキュリティ・トークン・サーバーと相互運用できます。たとえば、サード・パーティのセキュリティ・トークン・サービスでは、オラクル社のセキュリティ・トークン・サービスで使用できる有効なSecurity Assertion Markup Language (SAML)アサーションを作成できます。
セキュリティ・トークン・サービスは、様々なOracleクライアント(Oracle Web Services Managerクライアント)またはサード・パーティ・クライアント(MicrosoftおよびIBM)にサービスを提供します。
Oracle WSMクライアント: Oracle Web Services Managerクライアント・バインディングは、Oracle Web Services Managerの担当です(このマニュアルの範囲外)。詳細は、「WSS KerberosポリシーのためのOracle WSMエージェントの構成」を参照してください。
関連項目: 『Oracle Fusion Middleware Web Servicesのためのセキュリティおよび管理者ガイド』のWS-Trustポリシーと構成手順に関する項 |
サード・パーティ・クライアント: Oracle WSMクライアントとサーバーの間でセキュアなキー交換が必要です。単に、Security Token Service証明書をクライアントにインポートします。
SOAPの相互作用中に、WS-Securityプロトコルでは、セキュリティ・トークン・サービス・エンドポイントを保護するOWSMエージェントによるWSS操作に使用される署名/暗号化証明書を信頼することをクライアントに要求する場合があります。その場合、Oracle Access Management管理者はWSS操作に使用されるセキュリティ・トークン・サービスOWSM署名/暗号化証明書を抽出し、WSクライアントに提供する必要があります。詳細は、「Oracle STS/Oracle WSM署名証明書および暗号化証明書の抽出」を参照してください。
Oracle Web Services Managerはエージェントを介して通信します。このトピックでは、セキュリティ・トークン・サービスを操作するエージェントについて説明します。
Oracle WSMエージェント: Oracle Web Services Manager (Oracle WSM)エージェントはセキュリティ・トークン・サービスと統合されます。このエージェントは、セキュリティ・トークン・サービスWebサービス・エンドポイントに対してWebサービス・セキュリティ・サポートを提供します。
セキュリティ・トークン・サービスのWebサービス・エンドポイントの保護
SOAPメッセージをリライイング・パーティに送信するためのWS-Securityサポートの提供。そのプロセスの一部として、OWSMクライアントはセキュリティ・トークン・サービスとの相互作用により、リライイング・パーティに表示されるセキュリティ・トークンを取得します。
トークン取得およびトークン検証のためのセキュリティ・トークン・サービスとの相互作用
セキュリティ・トークン・サービスでは、Oracle Web Services Manager (Oracle WSM)エージェントによるトークン取得およびトークン検証がサポートされています。Oracle Web Services Managerエージェントでは、インバウンドまたはアウトバウンド・セキュリティ・ポリシー施行の一部としてセキュリティ・トークン・サービスを使用する必要はありません。Oracle Web Services Managerクライアント・バインディングは、Oracle Web Services Manager管理者の担当です。
Oracle WSMエージェントは、セキュリティ・トークン・サービスとクライアントの間のSOAP通信チャネルのメッセージを保護するために、セキュリティ・トークン・サービスで使用されます。Oracle WSMエージェントでは、WSSクライアントの証明書を検証するときに、関連する信頼できる証明書を含むOPSSキーストア(デフォルトでは$DOMAIN_HOME/config/fmwconfigディレクトリにあるdefault-keystore.jksキーストア)がキャッシュされます。その後、キーストアの内容またはキーストア名を変更する場合は、Oracle Enterprise Manager Fusion Middleware Control、WebLogic ServerコンソールまたはNodeManagerを使用して管理対象サーバーを再起動する必要があります。
セキュリティ・トークン・サービスで使用できるOracle WSMエージェントは、次のタスクを実行するために、セキュリティ・トークン・サービス・エンドポイントを保護するように構成する必要があります。
リクエストの復号化(必要な場合)
リクエストに表示されるデジタル証明書の検証
リクエストのデジタル署名を作成するために使用される証明書の検証(署名が秘密鍵で作成された場合)
SOAPヘッダー内のX.509トークンの検証(存在する場合)
SOAPヘッダー内のKerberosトークンの検証(存在する場合)
送信レスポンスの署名(必要な場合)
送信レスポンスの暗号化(必要な場合)
Oracle WSMエージェント・キーストア: Oracle WSMエージェントでは、様々な暗号化操作にキーストアが使用されます。これらの操作では、Oracle WSMエージェントはOracle WSMタスク用に構成されたキーストアを使用します。
Webgate: セキュリティ・トークン・サービスでは、Access Managerセッション伝播トークンにWebgateが使用されます。このアイデンティティ伝播のユースケースは、より高度なものです。WebLogic Serverおよび一部のカスタム統合でIDアサーション・プロバイダを必要とします。
エンドポイントを追加すると、セキュリティ・トークン・サービス・エンドポイントと関連付けるポリシーURIおよび検証テンプレートのリストから選択できるようになります。デフォルトでは、セキュリティ・トークン・サービスは図32-1に示すエンドポイントで構成されています。
ORAPROVIDERはOracle WSMエージェントと統合されており、クライアントとセキュリティ・トークン・サービスの間で交換されているSOAPメッセージ上でWebサービス・セキュリティをサポートします。セキュリティ・トークン・サービスはWebサービスのORAPROVIDERを利用して、次の処理を行います。
Web Servicesエンドポイントの動的な公開
SOAPメッセージを処理するためのセキュリティ・トークン・サービスの起動
各WSエンドポイントのWSDLファイルの公開
Oracle WSMエージェントWSSポリシー・ストア: Oracle WSMエージェントでは、リポジトリで必要なWebサービス・セキュリティ(WSS)ポリシーを取得する必要があります。セキュリティ・トークン・サービスでは2つのタイプのリポジトリがサポートされています。
WSSポリシーを含むJARファイル: WLSドメインがクラスパス用に構成されている場合に使用されます。
Oracle WSM Policy Manager: SOAデプロイメントから使用できます。
関連項目:
|
ポリシー・アサーション: 即時利用可能です。セキュリティ・トークン・サービスでは、Oracle Workspace Studio: SOAPメッセージ・セキュリティおよびWS-Trustのコンテキストでメッセージを保護する方法を示すために、WS-Policyフレームワークで使用するセキュリティ・ポリシー・アサーションのセットを提供しています。
セキュリティ・トークン・サービスでは、セキュリティ・ポリシー・ファイルをデプロイ済のWSDLにアタッチすることで、関連するセキュリティ・ポリシー・ファイルをパブリックに使用できるようになります。
セキュリティ・トークン・サービス・ランタイムでは、WS-Security暗号化およびデジタル署名操作のためにjps-config.xmlで定義されているキーストアに格納された秘密鍵とX.509証明書のペアが使用されます。
次の段落および表では、セキュリティ・トークン・サービスおよびOracle WSMエージェントで即時に利用できるポリシーを示します。
メッセージ・レベルのセキュリティが不要: メッセージ・レベルのセキュリティが不要な場合は、名前にmessage_protectionが指定されていないセキュリティ・トークン・サービス・ポリシーを使用します。これは、WS-Security SOAPヘッダーのトークンに含まれる資格証明を使用してユーザーを認証します。Fusion Applicationsトークンに含まれる資格証明は、検証テンプレートに指定されているルールに基づいてマップされます。プレーン・テキストとダイジェスト・メカニズムの両方がサポートされています。
メッセージ・レベルのセキュリティが不要な場合のトランスポート・セキュリティ: クライアント・アプリケーションとWebLogicサーバーの両方が相互に資格証明を提示する双方向のSSLを構成できます。コアWebLogic Serverセキュリティの双方向または一方向のSSLを構成するには、『Oracle Fusion Middleware Oracle WebLogic Serverの保護』のSSLの構成に関する項を参照してください。表32-1に説明されているポリシーを使用します。
WS-Security 1.0および1.1ポリシーの相互運用性: WS-Security 1.0または1.1(認証要件および資格証明の可用性により異なる)との相互運用性が必要な場合は、図32-2のポリシーを使用します。強力なセキュリティ要件がある場合は、WS-Security 1.1ポリシーを使用します。
タスクの概要: WS-Sポリシーの使用および変更
「Oracle Access Managementコンソール」の「システム構成」タブから、「セキュリティ・トークン・サービス」セクションを開きます。
「エンドポイント」ノードから、「セキュリティ・トークン・サービス・エンドポイントの管理」の説明に従って、保護されるエンドポイントを検索または作成します。
「ポリシーURI」リストから、次の説明に従って、エンドポイントを保護するための特定のWS Securityポリシーを選択します。
このトピックの内容は次のとおりです。
Oracle Access Managementコンソールの要素を使用すると、管理者はトークン・サービスを容易に構成してWS Trustトークンをパートナと交換できます。トークン・サービスの要素は、パートナ、エンドポイント、検証テンプレート、発行テンプレートおよびデータ・ストア接続の作成、表示、変更および削除のために用意されています。
Security Token Serviceシステムのすべての構成は、Oracle Access Managementコンソールを使用して実行します。これには、このマニュアルの第II部で説明する次の一般的なタスクが含まれています。
共通のOAMサーバーとプロキシ情報の登録および管理
共通のデフォルト・ユーザー・アイデンティティ・ストアの登録および管理
WSS処理に使用されるOWSMキーストアとは異なるOAMキーストアの構成
証明書の検証と失効
Oracle Access Managementコンソールを使用すると、管理者は次のセキュリティ・トークン・サービス固有のタスクを実行できます。
検証トークン・テンプレートの管理: 検証テンプレートには、Webサービス・セキュリティ/WSTrustトークンを検証し、デフォルト・ユーザー・アイデンティティ・ストア内のリクエスタ・パートナまたはユーザー・レコードにマップするための構成プロパティが含まれています。
発行テンプレートの管理: 発行テンプレートには、トークンの作成方法に関するルールが含まれています。
パートナ・データの管理: パートナは、セキュリティ・トークン・サービスが信頼しているパートナを表します。セキュリティ・トークン・サービスは、リクエスタ、リライイング・パーティおよび発行局の3つのタイプのパートナを定義します。各パートナ・エントリは、パートナ・プロファイルに関連付けられます。パートナ・エントリには、パートナを一意に識別するための署名証明書および暗号化証明書と識別子が含まれています。
パートナ・プロファイルの管理: パートナ・プロファイルには、パートナのセットに共通の構成プロパティが含まれています。
要求マッピング
トークン・タイプの定義
トークン・タイプに対して定義される発行および検証テンプレート
発行局(その他のSTS)の検証テンプレート・ルールの上書き
セキュリティ・トークン・サービス・エンドポイントの管理
トークン発行ポリシーの管理(リクエスタ・パートナがリクエストで参照されるリライイング・パーティに基づいてトークンをリクエストできるかどうかを判断するために評価される認可ポリシー)
セキュリティ・トークン・サービスのグローバル設定
カスタム・トークン
Oracle Access Managementコンソールへの管理アクセス権を持つユーザーには、Security Token Servicesへのアクセス権があります。
最初は管理者ユーザーは、初回構成時に設定されたWebLogic管理者の資格証明を使用してOracle Access Managementコンソールにログインする必要があります。ただし、企業によっては、Access Managerを担当するユーザーとセキュリティ・トークン・サービスを担当するユーザーに別の管理者グループが必要になることがあります。
Security Token ServiceをAccess Managerとともに使用する場合、Access Managementコンソールへのログインとサインアウトは同じです。
Security Token Serviceを使用するには、図32-3に示すように、Security Token ServiceとAccess Managerの両方を有効にする必要があります。デフォルトでは、Security Token Serviceは無効になっているため、有効にする必要があります。
サービス名の横にある「ステータス」フィールドの緑のチェック・マークは、サービスが有効であることを示します。中に線がある赤の円は、該当するサービスが無効であることを示します。
前提条件
Oracle Access Managerサービスを有効にする必要があります。
セキュリティ・トークン・サービスを有効または無効にするには
通常どおり、Oracle Access Managementコンソールにログインします。
https://hostname:port/oamconsole/
「システム構成」タブの「共通構成」セクションから「使用可能なサービス」をクリックします。
セキュリティ・トークン・サービスの有効化: セキュリティ・トークン・サービスの横で、「有効」をクリック(または「ステータス」チェック・マークが緑になっていることを確認)し、Access Manager Serviceも有効になっていることを確認します。
セキュリティ・トークン・サービスの無効化: セキュリティ・トークン・サービスの横で、「無効」をクリック(または「ステータス」チェック・マークが赤になっていることを確認)します。
この項の内容は次のとおりです。
「セキュリティ・トークン・サービス」は、「システム構成」タブの「セキュリティ・トークン・サービス」セクションから表示または変更できます。これらの設定を図32-4に示します。
表32-1に、「セキュリティ・トークン・サービスの設定」ページの要素を示します。
表32-1 セキュリティ・トークン・サービスの設定
要素 | 説明 |
---|---|
パートナ識別属性 |
「パートナ」ページの「アイデンティティ属性」表で使用できる必要がある、デフォルトで使用可能な属性以外の属性をリストするフィールド。これらの属性を使用すると、属性の値を着信リクエストに含まれる値と照合することでパートナを識別できます。 リクエスタがセキュリティ・トークン・サービスにWS-Trustリクエストを送信すると、サーバーはリクエスタのアイデンティティを含む着信トークンを、セキュリティ・トークン・サービス・パートナ・ストアのパートナ・エントリにマップできます。 そのために、セキュリティ・トークン・サービスでは検証テンプレートで構成されているマッピング設定を使用し、トークン・データをパートナ・アイデンティティ属性と照合することで参照を実行して、トークン・データをパートナ・エントリにマップします。 デフォルトでは、各リクエスタ・パートナには、ユーザー名、HTTP Basicユーザー名、SSLクライアント証明書DNの3つのアイデンティティ属性が含まれています。 リクエスタ・パートナ・エントリごとに設定できる追加のアイデンティティ属性を定義できます。 このセクションでは、新しい属性を設定できます。新しい属性を定義すると、その属性は「リクエスタ・パートナ」エントリ・セクションで使用可能になり、WSS検証テンプレートのマッピング・ルールで使用できます。 |
カスタム信頼アンカー・ファイル |
デフォルトでは、Access ManagerおよびSecurity Token Serviceでは、X.509トークンの検証時またはSAMLアサーション署名で使用される証明書の検証時に、Security Token Serviceによる証明書検証に使用される信頼アンカーを含むデフォルトの 必要に応じて、セキュリティ・トークン・サービスの操作および検証にのみ使用される信頼アンカーを含む特定の信頼アンカー・ファイルを使用するように、セキュリティ・トークン・サービスを構成できます。この場合、このフィールドには使用するJKSキーストアの場所を指定する必要があります。 次の点に注意してください。
|
デフォルト暗号化テンプレート |
セキュリティ・トークン・サービス暗号化用のデフォルト・テンプレートを選択できるリストを次に示します。
関連項目: 「デフォルトの暗号化鍵の設定」 |
プロキシ |
アウトバウンド接続のプロパティ、HTTPプロキシ設定: このセクションを使用して、オプションで実行時にリライイング・パーティのWS-Secポリシーを取得する場合、送信HTTP接続にプロキシを使用するようにセキュリティ・トークン・サービスを構成します。
|
キーストア |
ロケーション: セキュリティ・トークン・サービスのインストール時に設定されたアクティブなキーストアのパス。 キーストア表には、表内のテンプレートごとに次の情報が含まれており、各テンプレートは、デフォルト暗号化テンプレートとして使用できます。
キーストア・セクションでは、Security Token Serviceキーストア( エントリが定義されると、そのエントリを(SAML発行テンプレートのように)他のSecurity Token Serviceテンプレートで使用できます。 |
有効な管理者の資格証明を持つユーザーは、この手順を使用して、「セキュリティ・トークン・サービスの設定」を確認または変更できます。
前提条件
Access Managerサービスとセキュリティ・トークン・サービスの両方が有効になっている必要があります。
「セキュリティ・トークン・サービスの設定」を表示または編集する手順
通常どおり、Oracle Access Managementコンソールにログインします。
https://hostname:port/oamconsole/
「システム構成」タブから「セキュリティ・トークン・サービス」セクションを開きます。
「セキュリティ・トークン・サービスの設定」をダブルクリックします。
「セキュリティ・トークン・サービスの設定」ページで、次の情報を表示(または変更)します(表32-1を参照)。
パートナ識別属性
カスタム信頼アンカー・ファイル
「プロキシ」の詳細
キーストア表: 新しい暗号化テンプレートを表示、追加または削除します。
「適用」をクリックし、変更を送信します(または、「元に戻す」をクリックして変更を取り消します)。
終了したらページを閉じます。
既存のOracle Workspace Studioポリシーを使用して、セキュリティ・トークン・サービスWebサービス・エンドポイントを保護できます。次に例を示します。
クラスパス・モード: このモードでは、$ORACLE_IDM_HOME/oam/server/policy/sts-policies.jar
に定義されている既存のOracle Workspace Studioポリシーが使用されます。
SOAデプロイメント: SOAデプロイメントから使用できる、Oracle WSM Policy Managerに定義されているポリシーが使用されます。
この項では、次の各トピックでSecurity Token ServiceのWebサービス・セキュリティ・ポリシーを管理する方法を説明します。
この項では、Security Token Service WSエンドポイントの保護に使用されるWS-Securityポリシーおよびこれらのポリシーの変更方法を説明します。Oracleが提供するWS-Securityポリシーは、ほとんどのユースケースに対応している必要があります。
関連項目:
|
事前定義済のOracle Web Services Managerポリシーは、事前定義済アサーション・テンプレートに基づくアサーションを使用して構成します。WSSポリシーのクラスパス・モードの場合、OWSMエージェントはクラスパスにあるsts-policies.jarからポリシーを取得します。
SOAがWebLogic Serverドメインにデプロイされていない場合、セキュリティ・トークン・サービス・インストーラではWSSポリシーのクラスパス・モード用にWebLogic Serverドメインが構成されます。WLSドメインがクラスパス用に構成されるときに使用されるWSSポリシーを含むJARファイルは、次の場所にあります。
$IDM_ORACLE_HOME/oam/server/policy/sts-policies.jar
ご使用の環境がクラスパス・モードの場合は、管理者が次のタスクを実行してsts-policies.jarがクラスパスにあることを確認します。
関連項目:
|
タスクの概要: セキュリティ・トークン・サービスのためのWSSポリシーの管理: クラスパス
OWSMアサーション・テンプレートを定義します。
必要に応じて、次の作業を実行します。
OWSMポリシーの変更
ポリシーの定義(OWSMアサーション・テンプレートを使用)
sts-policies.jarファイルでアサーション・テンプレートおよびポリシーをバンドルします。
META-INF/assertiontemplates/oracle of the $IDM_ORACLE_HOME/oam/server/policy/
sts-policies.jar
sts-policies.jar
が次のパスにあることを確認して、「ポリシーURI」ドロップダウン・リストで使用できるようにポリシーURIを有効にします。
$IDM_ORACLE_HOME/oam/server/policy/sts-policies.jar
セキュリティ・トークン・サービスを実行している管理対象サーバーを再起動します。
Oracle Access Managementコンソールに移動し、セキュリティ・トークン・サービス・エンドポイントを構成します。
Oracle WSM Policy Managerは、Oracle Fusion Middleware WebサービスおよびSOAアプリケーションのセキュリティの根幹です。Oracle WSM Policy Managerがポリシー・フレームワークを管理する方法の詳細は、『Oracle Fusion Middleware Web Servicesのためのセキュリティおよび管理者ガイド』のOracle WSMポリシー・フレームワークの理解に関する項を参照してください。
設計時に、Oracle JDeveloperなど好みのIDEを使用して、プログラムによってアプリケーションにOracle WSMポリシーおよびWebLogic Webサービス・ポリシーを添付します。また、デプロイ時に、SOAコンポジット、ADFおよびWebCenterアプリケーションにはOracle Enterprise Manager Fusion Middleware Controlを使用し、WebLogic Webサービス(Java EE)にはWebLogic Server管理コンソールを使用して、ポリシーを添付します。
システム管理者は、Oracle Enterprise Manager Fusion Middleware Controlを使用して、Oracle WSMで次のことを実行できます。
Oracle WSM Policy Managerを使用して、ポリシーを一元的に定義。
Oracle WSMのセキュリティおよび管理ポリシーを実行時にローカルで実行。
ご使用の環境がOWSM Policy Managerと統合されている場合は、次のタスクを実行し、Oracle Web Services Managerを使用してセキュリティ・トークン・サービスのWSSポリシーを追加または変更します。
注意: 管理者は、Oracle Enterprise Manager Fusion Middleware ControlからOracle WSMのすべての機能にアクセスできます。 |
関連項目: 『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』
|
タスクの概要: セキュリティ・トークン・サービスのためのWSSポリシーの管理: OWSM Policy Manager
OWSM Policy Managerから、目的のポリシーを探して開きます。
『Oracle Fusion Middleware Web Servicesのためのセキュリティおよび管理者ガイド』を参照して、必要に応じてポリシーを変更します。
セキュリティ・トークン・サービスを実行しているすべての管理対象サーバーを再起動します。
「WSSプロトコル通信のためのOWSMの構成」に進みます。
この項では、セキュリティ・トークン・サービスに組み込まれているWS-SecクライアントとOracle WSMエージェントの間の通信を構成する方法を説明します。
Oracle WSMエージェントはセキュリティ・トークン・サービスのWebサービス・エンドポイントを保護し、WSSプロトコル交換をサポートします。クライアントがOracle WSMエージェントと正常に通信するためには、次のことが必要です。
クライアントは、Oracle WSMエージェントで使用される署名証明書および暗号化証明書を認識する必要があります(そのためには、セキュリティ・トークン・サービスに組み込まれているOWSMエージェントで使用される署名証明書および暗号化証明書を抽出して配布する必要があります)。
Oracle WSMエージェントは、ポリシーに応じてクライアントで使用される署名証明書を認識する必要があります(そのためには、Oracle WSMエージェントの信頼できる証明書としてクライアントの証明書を追加する必要があります)。
タスクの概要: Oracle WSMエージェントとの通信の構成
Oracle WSMエージェントでは、リポジトリで必要なWeb Services Security (WSS)ポリシーを取得する必要があります。Access Managerでは、セキュリティ・トークン・サービスのために次の2つのタイプのリポジトリがサポートされています。
WSSポリシーを含むJARファイル: WLSドメインがクラスパス用に構成されている場合に使用されます。必要なJARファイルは$IDM_ORACLE_HOME/oam/server/policy/ sts-policies.jarにあります。
SOAデプロイメントから使用できるOracle WSM Policy Manager
セキュリティ・トークン・サービスのインストール時に、インストーラにより、Oracle Web Services Manager Policy Managerが存在し、WebLogicセキュリティ・ドメインにデプロイされているかどうかが検出されます。
WebLogicセキュリティ・ドメインにデプロイされていない場合、インストーラでは、Webサービス・セキュリティ・ポリシー・クラスパス・モード用にWebLogicセキュリティ・ドメインが構成されます。このモードでは、WSMエージェントによりJARファイルからポリシーが取得されます。
存在する場合、インストーラはOracle Web Services Manager Policy Managerに接続し、セキュリティ・トークン・サービス・エンドポイントの保護に使用されるポリシーをアップロードします。
関連項目: Access Managerポリシー・データおよびAccess Managerセッション・データ(オプション)に必要なデータベースの詳細は、「ポリシー、パスワード管理およびセッションのデータベース・ストアについて」を参照してください。 |
管理者は、特定のアクティビティに対してCSFからキーストア・パスワードおよびキー・エントリ・パスワードを取得する必要があります。それ以外の場合、キーストアまたはキー・エントリを変更することはできません。キーストアへのアクセス権があると、次のことが必要になる場合があります。
クライアントに配布するための署名/暗号化証明書の抽出(必要な場合)
署名/暗号化キー・エントリの更新または置換
信頼できる証明書を追加します
次の手順により、Oracle WSMキーストアおよびキー・エントリの保護に使用されるパスワードが表示されます。
Oracle WSMキーストア・パスワードを取得する手順
WSLTスクリプト環境を入力します。
connect()
コマンドを使用してWebLogic Server AdminServerに接続します。
AdminServerに接続情報を提供することにより、コマンドlistCred(map="OAM_STORE", key="jks")
を実行します。
パスワードを書き留めます。
SOAPの相互作用中に、WS-Securityプロトコルでは、セキュリティ・トークン・サービス・エンドポイントを保護するOWSMエージェントによるWSS操作に使用される署名/暗号化証明書を信頼することをクライアントに要求する場合があります。その場合、Oracle Access Management管理者はWSS操作に使用されるセキュリティ・トークン・サービスOWSM署名/暗号化証明書を抽出し、WSクライアントに提供する必要があります。
管理者は、WSS暗号操作のためにセキュリティ・トークン・サービスで使用される署名証明書および暗号化証明書をエクスポートする必要があります。次の手順は、この操作の実行方法を示しています。
$DOMAIN_HOMEをDomainディレクトリへのパスに置換
CERT_FILEを、証明書が保存されるファイルの場所に置換
パスワードの入力を求められたら、[Enter]キーを押します。
前提条件
署名証明書および暗号化証明書をエクスポートする手順
keytoolを探します。
次のコマンドを実行します。
keytool -exportcert -keystore $DOMAIN_HOME/config/fmwconfig/default-keystore.j ks -storetype JKS -alias orakey -file $CERT_FILE
プロンプトが表示されたら、前の項で取得したキーストア・パスワードを入力します。
WSS暗号操作のためにOWSMキーストアに信頼できる証明書を追加する手順
次の手順でコマンドを実行
$DOMAIN_HOMEをDomainディレクトリへのパスに置換
$TRUSTED_CERT_FILEを、信頼できる証明書を含むファイルの場所に置換
TRUSTED_CERT_ALIASを、信頼できる証明書が格納される別名に置換
パスワードの入力を求められた場合は、以前に取得したOWSMキーストアのパスワードを入力します。
前提条件
管理者は、インポートする証明書を持っている必要があります。
Oracle WSMキーストアに信頼できる証明書を追加する手順
keytoolを探します。
次のコマンドを実行します。
keytool -importcert -trustcacerts -keystore $DOMAIN_HOME/config/fmwconfig/de fault-keystore.jks -storetype JKS -alias $TRUSTED_CERT_ALIAS -file $TRUSTED_ CERT_ALIAS
画面のメッセージを確認し、要求された場合はパスワードを入力します。
Oracle WSMエージェントが証明書検証を実行する場合、Oracle WSMタスク用に構成されたキーストアを使用し、キーストアに含まれる信頼できる証明書エントリに対して証明書を検証します。これらの操作では、OWSMキーストアでの信頼できる証明書エントリ(証明書自体または発行者の証明書)の追加が必要な場合があります。
SOAPリクエスタを受信すると、Oracle WSMエージェントはメッセージを保護するためにリクエストを処理します。手順の一部では、着信メッセージが次の場合に証明書検証操作が行われます。
タイプがWSS 1.0で、秘密鍵で作成されたデジタル証明書を含み、証明書が存在しない場合。この場合、次のようになります。
処置: Oracle WSMキーストアには署名証明書を含める必要があります。
タイプがWSS 1.0で、秘密鍵で作成されたデジタル証明書を含み、証明書が存在する場合。
処置: Oracle WSMキーストアには、署名証明書または署名証明書の発行者の証明書を含める必要があります。
タイプがWSS 1.1で、秘密鍵で作成されたデジタル証明書を含み、証明書が存在しない場合。
処置: Oracle WSMキーストアには署名証明書を含める必要があります。
タイプがWSS 1.1で、秘密鍵で作成されたデジタル証明書を含み、証明書が存在する場合。この場合、OWSMキーストアには署名証明書または署名証明書の発行者の証明書を含める必要があります。
処置: Oracle WSMキーストアには、署名証明書または署名証明書の発行者の証明書を含める必要があります。
セキュリティ・トークン・サービスは、様々なOracleクライアント(Oracle Web Services Managerクライアント)またはサード・パーティ・クライアント(MicrosoftおよびIBM)にサービスを提供します。Oracle WSMエージェントは、着信リクエストに対してメッセージ保護のみを実行します(認証は実行しません)。Oracle WSMエージェントでは、OPSSアイデンティティ・ストア内のユーザー・レコードへの着信Kerberosチケットのマップは試行されません。
Oracle WSMがWSS Kerberosポリシーを使用してセキュリティ・トークン・サービスとやり取りするクライアントの場合、『Oracle Fusion Middleware Web Servicesのためのセキュリティおよび管理者ガイド』のOracle WSM Kerberos全体の設定に関する項が適用されます。
ただし、クライアントがOracle WSMではない場合は表32-2を参照し、クライアントの構成方法に関する項、およびKerberosチケットで参照されるユーザーの認証に関する項は無視してください。
表32-2 WSS KerberosポリシーのためのOracle WSM以外のクライアントの構成
Oracle以外のクライアントに対して実行するタスク | Oracle以外のクライアントに対してスキップするタスク |
---|---|
KDCの構成 |
|
MIT Kerberos KDCの初期化および起動 |
|
プリンシパルの作成 |
|
正しいKDCを使用するためのWebサービス・クライアントの構成 |
|
Webサービス・クライアントでのサービス・プリンシパル名の設定 |
|
設計時のWebサービス・クライアントでのサービス・プリンシパル名の設定 |
|
正しいKDCを使用するためのWebサービスの構成 |
|
Enterprise Managerでの正しいkeytabファイルの使用方法 |
|
keytabファイルの抽出とエクスポート |
|
keytabファイルを使用するためのkrb5ログイン・モジュールの変更 |
|
サービス・プリンシパルに対応するユーザーの認証 |
|
Webサービス・クライアントのチケット・キャッシュの作成 |
|
Active DirectoryのKerberosおよびメッセージ保護との使用 |
|
Webサービス・クライアントの設定 |
|
ユーザー・アカウントの作成 |
|
Keytabファイルの作成 |
|
サービス・プリンシパル名の設定 |
|
Webサービスの設定 |
ここでは、次の内容について説明します。
セキュリティ・トークン・サービスでは、sts-policies.jarファイル内のエンドポイントのポリシーがパッケージ化されます。このjarは、WLS_HOMEの下の次の場所($WL_HOME/Oracle_IDM1など)にコピーされます。
$DW_HOME/oam/server/policy
sts-policies.jarには、JARの次の場所にstspolicies.propファイルが含まれています。
META-INF/policies/sts/
このファイルは、ポリシーを宛先リポジトリに移行するときにサーバーがJARエントリをプログラムによって読み取れるように、ディレクトリにパッケージ化されたすべてのポリシーをファイル名としてリストします。
注意: 移行の前に、必要に応じてポリシーおよびstspolicies.propを更新してください。 |
次の手順は、ポリシー更新の様々なシナリオを示しています。
タスクの概要: ポリシーおよびstspolicies.propの更新
sts-policies jarへのポリシーの追加: 新しいjarを作成する前に、この新しいポリシー・ファイル名を含めるように、META-INF/policies/sts/にあるstspolicies.propファイルも更新する必要があります。
sts-policies jarからのポリシーの削除: ファイルMETA-INF/policies/sts/stspolicies.propからエントリも削除する必要があります。
既存のポリシー・ファイル名の更新: META-INF/policies/sts/にあるポリシー・ファイルの名前を変更するときに、META-INF/policies/sts/stspolicies.propファイル内の対応するエントリも更新する必要があります。
既存のポリシー内容の更新: ファイル名を変更せずにポリシー・ファイルの内容を更新する場合、その他の処理を実行する必要はありません。
インストール時に、セキュリティ・トークン・サービスがインストールされるドメイン内にSOAがデプロイされているかどうかを確認するために、チェックが行われます。
SOAがインストールされていない場合、Oracle WSMプロトコルはクラスパスに設定され、クラスパス上のJARからポリシーが読み込まれます。
SOAがドメイン内に存在する場合、Security Token Serviceはsts-policies.jarからポリシーを読み取り、Oracle WSM MbeansをコールすることでOracle WSM PMリポジトリに移行します。
セキュリティ・トークン・サービスの後、同じドメイン内にSOAがインストールされる場合、次のようにSOAとセキュリティ・トークン・サービスの間のスムーズな操作が保証されます。
Oracle WSMプロトコルを「remote」に設定する必要があります。
Oracle WSMが提供するツールを使用して、セキュリティ・トークン・サービス・ポリシーをsts-policies jarからOracle WSM PMリポジトリに移行する必要があります。
ロギングは、コンポーネントがファイルにメッセージを書き込むためのメカニズムです。管理者は、ロギング・メカニズムを使用して重要なコンポーネント・イベントを取得できます。Access Managerは、Oracle Fusion Middleware 11gの他のコンポーネントと同じロギング・インフラストラクチャとガイドラインを使用しています。これはjava.util.logging
パッケージを使用して行いますが、このパッケージは標準的なもので、すべてのJava環境で使用できます。ロギング・システムはフラット・ファイルにのみ出力を書き出します。Oracle Databaseインスタンスへのロギングはサポートされていません。
ロギングの構成とログ・ファイルの検索がこの項の焦点です。ログ・ファイルの情報を使用した問題診断については、このマニュアルでは取り上げません。
ログ・メッセージは問題の診断に使用されます。ロギング・インフラストラクチャは、Access Managerからのメッセージを記録します。管理者は、ロガーの定義対象となる各コンポーネントに対してログ・レベルを指定することにより、メッセージ内の記録情報量を制御します。
注意: 一般に、ユーザーは、問題診断のためにOracleテクニカル・サポートへ送るファイルを作成するためにロギングを有効にします。ログ・メッセージに関するドキュメントはありません。場合によっては、ログ・ファイルを参照することによってユーザー自身で問題を診断できることもあります。 |
デフォルトでは、Access Managerのログ・レベルが通知レベルになっています。「エラー」レベルでのロギングで生成される出力は少量ですが、他のログ・レベルではロギング出力が大量になることがあり、その場合はOAMのパフォーマンスに影響します。本番環境では、通常はロギングを無効にするか、ロギング出力量が少くなるようなレベル(たとえばエラー・レベル)に設定します。
Access Managerおよびセキュリティ・トークン・サービスは、次のWebLogicコンテナのロギング・デフォルトを使用します。
ロギング・ファイル: DOMAIN_HOME/servers/SERVER-NAME/logs/SERVER-NAME-diagnostics.log
ロギング構成ファイル: ロギング・レベルと、ロギングのためのその他の構成情報を提供します。このファイルは次のパスに保存されます: DOMAIN_HOME/config/fmwconfig/servers/SERVER-NAME/logging.xml
Oracle Fusion Middlewareにおいて、監査はアカウンタビリティを実現する手段であり、また、誰が、いつ、何を行ったかというタイプの質問への回答を提供します。監査データは、ダッシュボードの作成、履歴データの集計、およびリスクの評価に使用できます。記録された監査データを分析すれば、コンプライアンス担当者がコンプライアンス方針を定期的に確認できます。
この項では、監査可能なセキュリティ・トークン・サービス管理イベントとランタイム・イベントを説明します。セキュリティ・トークン・サービスの共通監査設定を構成することと、設定した監査構成の検証がこの章の主題です。ただし、監査データの分析と監査についてはこのマニュアルでは取り上げません。
Oracle Fusion Middlewareの共通監査フレームワークは、大量のランタイム・イベントと管理イベント(システムへの変更)の監査をサポートします。Oracle Fusion Middlewareの共通監査フレームワークを使用すれば、ロギングと例外を一様な形で取り扱い、すべての監査イベントの診断を行うことができます。
監査機能は有効または無効のどちらに設定しておくことも可能ですが、本番環境では有効にしておくのが普通です。監査による性能への影響は最小限に抑えられており、監査によって得られた情報は有用です(業務に不可欠な場合もあります)。
監査は、1人のユーザーまたは一連のユーザーに対してデータ・キャプチャを有効にする、Oracle Access Managementコンソールで設定される構成パラメータに基づいています。
監査データは、集中管理された1つのOracle Databaseインスタンスや、フラットファイルに書き込むことができます。監査記録の保存場所にかかわらず、記録には、特定の要件に合せて構成することのできる一連の項目が含まれています。監査ログ・ファイルは、監査フレームワークが正常に機能しない場合に監査管理者がエラーを追跡したり問題を診断したりする助けとなります。
セキュリティ・トークン・サービスは、あらかじめ設定されたコンプライアンス・レポートを提供するOracle Business Intelligence Publisherと統合できます。
セキュリティ・トークン・サービスは、共通監査フレームワークでサポートされている様々なターゲットに監査レコードを書き込むように構成できます。
ローカル・フラット・ファイル: デフォルトでは、セキュリティ・トークン・サービスは監査データをファイルに記録します。
中央データベース: 本番環境においては、共通監査フレームワークのスケーラビリティと高可用性を実現するために、データベース監査ストアを使用することをお薦めします。監査データは累積的なもので、その量は時間とともに増大します。これは監査データ専用のデータベースとして、他のアプリケーションは使用しないようにするのが理想です。
プラットフォーム固有のログ(LinuxのSyslogおよびWindowsのイベント・ログ)
Audit Vault
監査記録用の恒久的ストアとしてのデータベースに切り替えるには、まず、リポジトリ作成ユーティリティ(RCU)を使用して監査データ用のデータベース・スキーマを作成する必要があります。RCUは、データベースに監査記録を格納するために必要なスキーマを使用して、そのデータベース・ストアをシードします。スキーマ作成後にデータベース監査ストアを構成するには次の操作が必要です。
作成した監査スキーマを参照するデータ・ソースの作成
そのデータ・ソースを参照する監査ストアの設定
データベース監査ストア内のデータは、Oracle Business Intelligence Publisherであらかじめ定義されたレポートを通じて表示されます。これらのレポートを使用すれば、ユーザー名、時間範囲、アプリケーション・タイプ、実行コンテキスト識別子(ECID)などの様々な基準に基づいて、監査データをドリルダウンできます。
セキュリティ・トークン・サービスには、そのまますぐに使用できるサンプル監査レポートがいくつか用意されており、これらのレポートにはOracle Business Intelligence Publisherでアクセスできます。また、Oracle Business Intelligence Publisherを使用して、独自のカスタム監査レポートを作成することもできます。
監査ログ・ファイルは、監査フレームワークが正常に機能しない場合に監査管理者がエラーを追跡したり問題を診断したりする助けとなります。監査ログ・ファイルには、Date、Time、Initiator、EventType、EventStatus、MessageText、ECID、RID ContextFields、SessionId、TargetComponentType、ApplicationName、EventCategoryなどを含むいくつかのフィールドが記録されます。
関連項目: 『Oracle Fusion Middlewareセキュリティ・ガイド』の監査の構成と管理に関する章に含まれる監査ログ関連項目 |
セキュリティ・トークン・サービスに対して監査可能な特定の管理イベントとランタイム・イベントは、第8章「管理イベントとランタイム・イベントの監査」にまとめられています。イベントに付随し、監査を設定および検証するための共通の手順が示されています。詳細は、次のドキュメントを参照してください。