JAAS を使用して、アプリケーション・ログインをカスタマイズし ID アサーションを実行する

Java™ Authentication and Authorization Service (JAAS) ログイン・フレームワークを使用して、ID アサーションへのログイン実行に使用可能な JAAS ログイン構成を作成することができます。

始める前に

アプリケーションまたはシステム・プロバイダーに、信頼性検証付きの ID アサーションの実行を 許可することができます。これを実行するには、 JAAS ログイン・フレームワークを使用します。このフレームワークでは、信頼性検証が 1 つのログイン・モジュールで実行され、 クレデンシャルの作成は別のモジュールで実行されます。2 つのカスタム・ログイン・モジュールにより、ID アサーションへのログイン実行に使用できる JAAS ログイン構成を作成することができます。
以下の 2 つのカスタム・ログイン・モジュールが必要です。
ユーザーが実装したトラスト・アソシエーション・ログイン・モジュール (信頼性検証)
ユーザーが実装したトラスト・アソシエーション・ログイン・モジュールは、 ユーザーが必要とする信頼性検証は何でも実行します。信頼性が検証されたら、 クレデンシャル作成ログイン・モジュールがその情報を使用できるように、ログイン・モジュールの共有状態で、 信頼性検証の状況およびログイン ID は、マップに配置される必要があります。このマップは、以下のプロパティーで保管される必要があります。

com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.state
      (which consists of)

com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.trusted
      (信頼できる場合は true に設定。そうでない場合は false に設定)

com.ibm.wsspi.security.common.auth.module.IdenityAssertionLoginModule.principal
       (ID のプリンシパルを含む。)

com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.certificates
       (ID の証明書を含む。)

ID アサーション・ログイン・モジュール (クレデンシャル作成)
com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule は、クレデンシャル作成を実行します。このモジュールは、 ログイン・コンテキストの共有状態にある信頼性状態情報に依存します。このログイン・モジュールは、以下について、Java 2 セキュリティー・ランタイム許可によって保護されています。
  • com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.initialize
  • com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.login
ID アサーション・ログイン・モジュールは、 共有状態プロパティー com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.state 内で信頼性情報を検索します。 このプロパティーには、信頼性の状態およびログイン用 ID が含まれており、また、以下を含んでいる必要があります。

com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.trusted
       (true は信頼されていることを示し、false は信頼されていないことを示す。)

com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.principal
       (プリンシパルを使用する場合、ログインするための ID のプリンシパルを含む。)

com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.certificates
       (証明書を使用する場合、ログインするための ID を含む一連の証明書チェーンを含む。)

状態、信頼性、または ID 情報が欠落している場合、WSLoginFailedException が戻されます。 ログイン・モジュールは、ID のログインを実行し、その対象が新規 ID を含みます。

手順

  1. ユーザーが実装したプラグ・ポイントに信頼性検証を委任します。 信頼性検証は、カスタム・ログイン・モジュール内で実行する必要があります。このカスタム・ログイン・モジュールは、 必要なすべての信頼性検証を実行し、共有状態でトラストおよび ID 情報を設定して ID アサーション・ログイン・モジュールに渡します。 共有状態鍵 com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.state ではマップが必要です。状態が欠落している場合、WSLoginFailedException が IdentityAssertionLoginModule によりスローされます。 このマップは、以下を含む必要があります。
    • com.ibm.wsspi.secuirty.common.auth.module.IdentityAssertionLoginModule.trust というトラスト鍵。トラスト鍵が true に設定されていると、信頼性が確立されます。トラスト鍵が false に設定されていると、 信頼性が確立されません。トラスト鍵が true に設定されていない場合、IdentityAssertionLoginModule により WSLoginFailedException がスローされます。
    • ID 鍵を設定: java.security.Principal を、 com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.principal 鍵内で 設定することができます。
    • または java.security.cert.X509Certificate[] を com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.certficates 鍵内で設定することができます。
    プリンシパルと証明書の両方が提供されている場合、プリンシパルが使用され、警告が発生します。
  2. アプリケーション・ログインの新規 JAAS 構成の作成 JAAS 構成には、 ユーザーが実装した信頼性検証カスタム・ログイン・モジュールおよび IdentityAssertionLoginModule が含まれます。 次に、アプリケーション・ログイン構成を構成するには、管理コンソールで以下を実行します。
    1. 「セキュリティー」>「グローバル・セキュリティー」と展開します。
    2. 「Java 認証・承認サービス」>「アプリケーション・ログイン」と展開します。
    3. 新規」を選択します。
    4. JAAS 構成に別名を指定します。
    5. 適用」をクリックします。
    6. JAAS Login Modules」を選択します。
    7. 新規」を選択します。
    8. ユーザーが実装した信頼性検証カスタム・ログイン・モジュールのモジュール・クラス名を入力します。
    9. 適用」をクリックします。
    10. com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule のモジュール・クラス名を入力します。
    11. モジュール・クラス名のクラスが正しい順序になっているかを確認します。 リスト内では、ユーザーが実装した信頼性検証ログイン・モジュールを最初に、IdentityAssertionLoginModule を 2 番目にする必要があります。
    12. 保存」をクリックします。
    この JAAS 構成は、ID アサーションを実行するためにアプリケーションによって使用されます。
  3. プログラマブル ID アサーションを実行します。 プログラムは、JAAS ログイン構成を使用し、プログラマチックな ID アサーションを実行することができます。 アプリケーション・プログラムは、ステップ 2 で作成された JAAS 構成にログイン・コンテキストを作成し、表明する ID でそのログイン・コンテキストにログインすることができます。 正常にログインした場合、その ID は現在実行中のプロセスで設定できます。 以下はこれらのコードの作動例です。
    MyCallbackHandler handler = new MyCallbackHandler(new MyPrincipal(“Joe”));
    LoginContext lc = new LoginContext(“MyAppLoginConfig”, handler);
    lc.login();  //assume successful
    Subject s = lc.getSubject();
    WSSubject.setRunAsSubject(s);
    // From here on , the runas identity is “Joe”

タスクの結果

JAAS ログイン・フレームワークおよびユーザーが実装した 2 つのログイン・モジュールを使用して、 ID アサーションへのログインに使用可能な JAAS ログイン構成を作成することができます。

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_cust_identity_assert
ファイル名:tsec_cust_identity_assert.html