|
以下の節では、HTTP 認証の X-3GPP-Asserted-Identity ヘッダを処理するように Oracle Communications Converged Application をコンフィグレーションする方法について説明します。
Oracle Communications Converged Application Server は、IMS ネットワーク内でアプリケーション サーバとして機能できるように、「3GPP TS 33.222 Generic Authentication Architecture (GAA); Access To network application functions using Hypertext Transfer Protocol over Transport Layer Security (HTTPS)」の仕様に従って X-3GPP-Asserted-Identity ヘッダの処理をサポートしています。Oracle Communications Converged Application Server では、X3gppAssertedIdentityAsserter または X3gppAssertedIdentityStrictAsserter というコンフィグレーション済みのセキュリティ プロバイダを通じてこのサポートが提供されます。どちらのプロバイダも使用する認証プロセスは同じですが、厳密 (Strict) なアサーション プロバイダの方は、信頼できないホストからヘッダを受け取ると例外を送出します (これにより、信頼できないホストからアサートされた ID リクエストの監査が可能になります)。
X-3GPP-Asserted-Identity ヘッダの HTTP リクエストに対する機能は、P-Asserted-Identity ヘッダの SIP に対する機能と同様です。コンテナは X-3GPP-Asserted-Identity ヘッダ付きの HTTP リクエストを受け取ると、まず、そのリクエストが信頼性できるホストから送信されたものかどうかを確認します。そのホストが信頼できる場合、コンテナはヘッダ内の情報を使用してユーザの ID をアサートして認証し、さらに、要求されているリソースへのアクセス権がそのユーザに与えられている場合はログインを許可します。(リクエストが信頼できないホストから送信されたものである場合、コンテナは単にヘッダを無視します)。
X-3GPP-Asserted-Identity ヘッダには、複数の名前のリスト (user1@oracle.com、user2@oracle.com など) が含まれていることもあります。デフォルト ユーザ名マッパー クラスでコンフィグレーションされている場合、Oracle Communications Converged Application Server はアドレスのドメイン部 (@oracle.com) を取り除き、残りをユーザ名として使用します。デフォルト ユーザ名マッパーは常に、リスト内の最初のユーザ名を選択し、それを ID のアサーションに使用します。この動作は、カスタム ユーザ名マッパー クラスを作成およびコンフィグレーションすることにより、変更することができます。たとえば、重複するユーザ名 (sipuser@oracle.com と sipuser@oracle.com など) を個別のものとして扱う必要がある場合、カスタム ユーザ名マッパーを使用してヘッダの情報を処理し、一意のユーザ名 (sipsuser_b と sipuser_c) を生成することができます。カスタム ユーザ名マッパーを使用すると、@ 文字を含む WebLogic ユーザ名 (@oracle.com など) をサポートすることもできます。
SIP サーブレットで X-3GPP-Asserted-Identity ヘッダによる認証をサポートするには、web.xml デプロイメント記述子の auth-method 要素を CLIENT-CERT に設定する必要があります。詳細については、Oracle WebLogic Server 10g Release 3 ドキュメントの「web.xml デプロイメント記述子の要素」を参照してください。
HTTP リクエストの X-3GPP-Asserted-Identity ヘッダをサポートするためのセキュリティ プロバイダをコンフィグレーションするには、以下の手順に従います。「概要」でも触れたように、2 つのプロバイダのうち、どちらか 1 つを選択することができます。
詳細については、「概要」を参照してください。
sipserver.xml ファイルに信頼できるホストとしてコンフィグレーションされているホストは使用しません (『コンフィグレーション リファレンス マニュアル』の「sip-security」を参照してください)。IP アドレスと DNS 名のどちらでも入力できます。また、ワイルドカードを使用することもできます。X-3GPP-Asserted-Identity ヘッダのユーザ名をデフォルトのセキュリティ レルムのユーザ名にマップするために使用するカスタム Java クラス名を入力します。カスタム ユーザ名マッパーは、通常、ユーザ名が複数のドメインから送られてきた場合に使用されます。この場合、受け取ったユーザ名をマップするために、ドメインごとに別のロジックが必要とされることもあります。ユーザ名を WebLogic ユーザ名にマップする場合、または X-3GPP-Asserted-Identity ヘッダに指定されているユーザ名のうち最初のユーザ名だけを使用するのではなく、複数のユーザ名を論理的に処理する場合は、カスタム ユーザ名マッパー クラスが必要です。詳細については、Oracle WebLogic Server 10g Release 3 ドキュメントの 「ロール マッピング プロバイダのコンフィグレーション」を参照してください。
このフィールドを空白のままにすると、デフォルトのユーザ名マッパーが使われます。デフォルトのユーザ名マッパーでは、ドメイン名を取り除き、残った最初のユーザ名を ID のアサーションに使用します。たとえば、デフォルトのユーザ名マッパーは以下のヘッダ
X-3GPP-Asserted-Identity: "user1@oracle.com", "user2@oracle.com"
|