シングル・サインオン (SSO) パートナーの構成

WebSphere® Application Server を IdPが開始したシングル・サインオン用の ID プロバイダー (IdPs) のサービス・プロバイダー・パートナーとして使用するには、 WebSphere Application Server SAML サービス・プロバイダーと外部 SAML ID プロバイダーの間に協力関係を確立する必要があります。

事前処理

このタスクでは、 SAML Web SSO 機能を有効にしていることを前提としています。

手順

  1. シングル・サインオン用の IdP SAML サービス・プロバイダーを追加します。

    以下のいずれかのトピックのステップを実行します。

    IdP を SAML サービス・プロバイダーに追加した後、このトピックに戻り、 ステップ 2に進みます。

  2. アプリケーションが IdP。 以下のいずれかのアクションを実行します。
    • アプリケーションが元のレルム名を認識する必要がない場合は、サブジェクトの作成時に使用するコア・セキュリティー用に SAML TAI が指定するレルム名をハードコーディングすることができます。
      1. 「セキュリティー」 > 「グローバル・セキュリティー」をクリックします。
      2. 「ユーザー・アカウント・リポジトリー」の下で、 「レルム名」 フィールドからレルム名を取得します。
      3. sso_<id>.sp.useRealm SAML TAI プロパティーを、前のステップで取得したレルム名に設定します。
    • アプリケーションがサブジェクト内の元のレルム名にアクセスできる必要がある場合は、ID プロバイダーが使用するすべてのレルムにインバウンド・トラストを付与します。

      WebSphere Application Server サービス・プロバイダーで使用される ID プロバイダーごとに、管理コンソールまたは wsadmin コマンド・ユーティリティーのいずれかを使用してインバウンド・トラストを付与できます。

      • 管理コンソールを使用してインバウンド・トラストを追加します。

        1. 「Global security」をクリックします。
        2. ユーザー・アカウント・リポジトリーの下で、「構成」をクリックします。
        3. 「トラステッド認証レルム - インバウンド」をクリックします。
        4. 「外部レルムの追加」をクリックします。
        5. 「OK」 をクリックし、 「変更をマスター構成に保存します」をクリックします。
      • wsadmin コマンド行ユーティリティーを使用して、インバウンド・トラストを追加します。

        1. インバウンド・トラストに単一の ID プロバイダーを追加するには、 realmName にインバウンド・トラストを付与する必要があるレルムの名前を指定して、 addTrustedRealms コマンドを使用します。
          AdminTask.addTrustedRealms('[-communicationType inbound -realmList realmName]')
        2. インバウンド・トラストにレルムのリストを追加するには、 realm1realm2、および realm3 トラステッド・レルムとして追加する必要があるレルムを指定して、 addTrustedRealms コマンドを使用します。
          AdminTask.addTrustedRealms('[-communicationType inbound -realmList realm1|realm2|realm3]')
  3. オプション: sso_<id>.sp.idMapsso_<id>.sp.groupMap、および sso_<id>.sp.groupName 属性を使用して、 WebSphere Application Server セキュリティー・コンテキストを構成します。

    WebSphere Application Server サービス・プロバイダーは、ID プロバイダーからの SAML プロトコル・メッセージをインターセプトし、セキュリティー・コンテキストを確立します。 SAML アサーションをマップすることで、セキュリティー・コンテキストが作成されます。 サービス・プロバイダーでのセキュリティー・コンテキスト・マッピングは非常に柔軟であり、構成可能です。 以下に、使用可能なマッピング・オプションのリストを示します。

    idAssertion
    ローカル・レジストリーを使用せずに、SAML アサーションを WebSphere Application Server プラットフォーム・サブジェクトにマップします。 これはデフォルト動作です。 このデフォルトの実装では、SAML NameID はプリンシパルにマップされ、発行者はレルムにマップされます。また、選択した属性は、グループ・メンバーにマップできます。 ID アサーションはさらにカスタマイズできます。 例えば、プリンシパル、レルム、accessID、またはグループ・メンバーのリストとして SAML 属性を構成できます。 また、NameIDNameQualifier をレルムとして構成したり、事前定義のレルム名を使用したりすることもできます。
    localRealm
    SAML アサーションからの NameID をサービス・プロバイダーのローカル・レジストリーにマップするように WebSphere Application Server サービス・プロバイダーを構成し、レジストリーからサブジェクトを作成します。 このオプションを使用すると、レジストリーに照らして SAML NameID を直接検索するか、アサーションのカスタム・マッピングのプラグイン・ポイントを使用してから、新しいマップされた ID を使用してレジストリーからサブジェクトを作成できます。
    localRealmThenAssertion
    NameID をレジストリーにマップし、 NameID をレジストリーにマップできない場合は、ID アサーションにフォールバックします。
    AddGroupsFromLocalRealm
    ID アサーションとローカル・レジストリーを結合します。 このオプションを使用すると、ID アサーションの実行中にグループ・メンバーシップを再評価できます。 グループ属性 X-ray Techs を持つユーザー Joe が含まれた、パートナー・ラボからの SAML アサーションについて考えてみます。 サービス・プロバイダーで、グループ X-ray Techs はグループ Technicians のサブグループですが、Joe はサービス・プロバイダーのユーザー・レジストリーに必ずしも存在しているとは限りません。 サービス・プロバイダー・アプリケーションの許可ポリシーでは、Technicians グループにアクセスが許可されています。 これを実現するために、SAML TAI は、表明されたグループ X-ray Techs をレジストリーで検索してから、親グループ Technicians をサブジェクトに含める必要があります。

    ID アサーションを実行してセキュリティー・コンテキストを作成する際に、カスタム・セキュリティー・レルムが選択されます。 カスタム・レルムをトラステッド・レルムとして明示的に追加する必要があります。 デフォルトの ID アサーション実装では、SAML 発行者名がセキュリティー・レルムとして使用されます。 現在のユーザー・レジストリー内でインバウンド・トラステッド認証レルムのリストに発行者名を明示的に追加する必要があります。 インバウンド・トラステッド・レルムにカスタム・レルムを追加すると、このカスタム・レルムを使用したロール・マッピングを実行する準備ができています。

    カスタム・レルムをトラステッド・レルムとして追加するには、ステップ『インバウンド・トラステッド・レルムのリストに IdP レルムを追加します』を参照してください。

  4. WebSphere Application Server SAML サービス・プロバイダーを SSO の ID プロバイダーに追加します。

    WebSphere Application Server サービス・プロバイダーで使用される各 ID プロバイダーは、SSO パートナーとしてサービス・プロバイダーを追加するように構成する必要があります。 サービス・プロバイダー・パートナーを ID プロバイダーに追加する手順は、特定の ID プロバイダーに依存します。 SSO 用にサービス・プロバイダー・パートナーを追加する方法については、ID プロバイダーの資料を参照してください。

    WebSphere Application Server サービス・プロバイダー・メタデータをエクスポートして ID プロバイダーにインポートすることも、ID プロバイダーを手動で構成してサービス・プロバイダーを追加することもできます。

    統合パートナーとしてサービス・プロバイダーを ID プロバイダーに追加するには、サービス・プロバイダーのアサーション・コンシューマー・サービス (ACS) の URL を指定する必要があります。これは、SAML トラスト・アソシエーション・インターセプター (TAI) を使用可能にする際に使用される -acsUrl パラメーターです。

    ID プロバイダーがメタデータ・ファイルを使用してサービス・プロバイダーを連携パートナーとして追加できる場合は、wsadmin exportSAMLSpMetadata コマンドを使用してサービス・プロバイダー・メタデータをエクスポートできます。
    wsadmin -lang jython
    AdminTask.exportSAMLSpMetadata('-spMetadataFileName /tmp/spdata.xml -ssoId 1')
    このコマンドは、/tmp/spdata.xml メタデータ・ファイルを作成します。

    SAML トークンが暗号化されている場合、エクスポートを実行する前に、ID プロバイダーが SAML トークンの暗号化に使用する公開鍵証明書を指定する必要があり、その証明書が WebSphere Application Server のデフォルトの KeyStore に存在している必要があります。

結果

これで、 WebSphere Application Server は、 IdP開始 SSO のサービス・プロバイダー・パートナーとして構成されました。

次の作業

シナリオで必要になる可能性がある残りの SAML TAI 必須カスタム・プロパティー ( sso_<id>.sp.login.error.pagesso_<id>.sp.filterなど) を構成します。

SAML TAI カスタム・プロパティーの完全なリストについて詳しくは、 SAML Web シングル・サインオン (SSO) トラスト・アソシエーション・インターセプター (TAI) のカスタム・プロパティーを参照してください。