Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

XUA レジストリの管理

Cross-Enterprise User Assertion (XUA) は、企業の境界を越えたユーザ認証をサポートし、SAML 2.0 ID アサーションを使用して、認証された ID に関するクレームを検証する IHE プロファイルです。SAML トークンは、SOAP 呼び出しのセキュリティ・ヘッダで送信されます。

XUA レジストリを使用して送信 SAML アサーションの作成を有効にするには、以下の操作を行います。

  1. XUA レジストリで 1 つまたは複数の XUA 構成を作成します (次の節で説明します)。

  2. 適切なサービス・レジストリ・エントリで [XUA 構成] を選択します。

    XCA と XDS.b の場合、サービス・レジストリ・エントリは、[デバイス関数]XCA.Retrieve または XDSb.Retrieve に設定されているものでなければなりません。

  3. サービス・レジストリ・エントリの [SAML アサーションの送信] フィールドで SAML アサーションのスタイルを選択します。アサーションのさまざまなスタイルの詳細は、"サービス・レジストリの管理" の章の “SOAP サービスの設定” を参照してください。

サービス・レジストリで SAML を設定すると、さまざまな SAML アサーション・タイプをさまざまなリポジトリ (さまざまなベンダのものを含む) に送信できます。例えば、複数の XDS.b リポジトリや複数の XCA ホーム・コミュニティにドキュメントを要求する場合、すべての要求に同じコンシューマ・オペレーションを使用することができます。サービス・レジストリ・エントリごとに異なる XUA 構成を割り当てることにより、SAML クリエータを各システムに合わせてカスタマイズできます。Health Connect は、ドキュメント要求のリポジトリ OID またはホーム・コミュニティ OID を使用して、その要求で使用するサービス・レジストリ・エントリ (および XUA 構成) を特定します。

Note:

XDS.b コンシューマ・オペレーションには [SendSAMLAssertion] 設定と [SAMLCreator] 設定が含まれていますが、サービス・レジストリの XUA 構成と設定を優先して非推奨になっています。サービス・レジストリの設定の方が柔軟性に優れているためです。

受信 SAML アサーションの処理を有効にするには、アサーションで見つかった組織 OID または URL を使用して送信組織を特定する XUA 構成を作成します。

XUA 構成の作成または編集

XUA 構成では、送信 SAML アサーションを作成する方法と受信 SAML アサーションを処理する方法を定義します。XUA 構成を作成または編集するには、以下の操作を行います。

  1. 管理ポータルに %HS_Administrator ロールを持つユーザとしてログインします。

  2. Foundation ネームスペースを選択します。

  3. [Health] > [IHE 構成] > [XUA 構成レジストリ] を選択します。

  4. 既存の構成を編集する場合は、テーブルから構成を選択します。新しい構成を作成する場合は、[構成の追加] を選択します。

  5. 個々の設定に適切な値を入力し、[保存] を選択します。設定については、次の節で説明します。

XUA 構成の設定

次の画像は [XUA 構成] 画面です。

設定の最初のブロックは、送信 SAML アサーションの作成に関連しています。設定の 2 つ目のブロックは、受信 SAML アサーションの処理に関連しています。

SAML アサーションの作成に関する XUA 設定

名前

構成の名前。構成を保存するには、[名前] を指定するだけでかまいませんが、アサーションを作成または処理する場合に XUA 構成が機能するためには、その他にもいくつかの設定が必要です。

クリエータ・クラス

SAML アサーションを作成するクラスの名前。この設定は、アサーションを作成する場合に必要です。クリエータ・クラスは、HS.IHE.XUA.Creator.cls、または HS.IHE.XUA.CreatorOpens in a new tab を拡張するカスタム・クラスです。クラス HS.IHE.XUA.SHINNY.Creator.cls にサンプルがあります。

[発行者] または [発行者 X509]

SAML 発行者の名前に使用する文字列。どちらか一方のプロパティを設定します。

  • [発行者] — 組織の証明書の識別名を含む文字列。

  • [発行者 X509] — 組織の証明書を参照する X.509 証明書のエイリアス。[アサーションに署名] にチェックを付けると、SAML トークンの署名に X.509 証明書が使用されます。

[発行者][発行者 X509] の両方が空の場合、新しいトークンを作成する際にエラーが報告されます。両方の値が設定されている場合は、[発行者 X509][発行者] より優先されます。

アサーションに署名

[発行者 X509] 設定で指定した X.509 証明書で各 SAML トークンが署名されるようにするには、ここにチェックを付けます。[アサーションに署名] にチェックを付ける場合は、[発行者 X509] の値が設定されている必要があります。

次を使用して署名

WSSecuritySignature と Signature のどちらを使用してメッセージに署名するかを指定します。Signature は、プレースホルダ WSSecuritySignature のみが存在する場合にアサーションに署名しますが、完全な WSSecuritySignature を含むメッセージに対して検証されるため、両方で署名すると、Signature の検証時に問題が発生します。既定値は WSSecuritySignature です。

シグニチャ検証プロセスの一環として、XUA プロセッサは、SAML 2.0 仕様Opens in a new tabのセクション 5.4.2 に基づいて、参照 URI をアサーション ID と比較することにより、アサーション全体が実際に WSSecuritySignature または Signature によって署名されていることを確認します。

受信 SAML アサーションの処理に関する XUA 設定

[組織 OID] または [組織 URL]

組織を識別する OID レジストリ・エントリのコードを [組織 OID] フィールドで選択します。オプションで、組織の URL を [組織 URL] 設定で設定します。

受信 SAML アサーションには、何らかの組織識別子が含まれている必要があります。これは、OID 形式でも URL 形式でもかまいません。インターシステムズでは、組織識別子を使用して、アサーションを処理する XUA 構成が特定されます。インターシステムズでは、組織識別子について以下の形式の属性名が認識されます。

  • IHE : urn:oasis:names:tc:xspa:1.0:subject:organization-id

  • SHIN-NY : UserOrganizationOID

属性について異なる名前付け規約を使用する SAML アサーションを受け取る場合は、アサーション内で組織識別子を探すカスタム・メソッドを作成し、そのメソッドを Web サービスの OrgURLAttributeCode に割り当てます。このメソッドは、OID 形式または URL 形式の組織識別子を返す必要があります。クラス HS.IHE.XUA.SHINNY.ProcessorGetOrganizationID() にメソッドのサンプルがあります。

プロセッサ・クラス

受信 SAML アサーションを処理するクラスの名前。この設定は、アサーションを処理する場合に必要です。プロセッサ・クラスは、HS.IHE.XUA.Processor.cls、または HS.IHE.XUA.ProcessorOpens in a new tab を拡張するカスタム・クラスです。クラス HS.IHE.XUA.SHINNY.Processor.cls にサンプルがあります。

[ドメイン接頭語][既定のセキュリティ・ドメイン]

[既定のセキュリティ・ドメイン] は、既定のセキュリティ・ドメインの名前です。これはオプションです。

インターシステムズでは、SAML 属性から取得した情報をオプションの [ドメイン接頭語] と共に使用して、SAML ユーザが定義されている該当のセキュリティ・ドメインを探します。以下の値と連結された [ドメイン接頭語] の値によって識別されるドメインが以下の順序で検索されます。

  1. SAML アサーションから取得した organization-id の OID レジストリ・コード

  2. SAML アサーションから直接取得した organization の名前

  3. SAML アサーションから取得した送信者の homeCommunityId の OID レジストリ・コード

[ドメイン接頭語] には、内部セキュリティ・ドメインに対応する “%HS” という値が指定されています。

該当する名前が付いたセキュリティ・ドメインが見つかると、そこでユーザが検索されます。見つからない場合は、ドメイン接頭語を含めずに、[既定のセキュリティ・ドメイン] の値を使用して、ユーザが検索されます。

例えば、お使いのシステムにおいて “SAML_” で始まるセキュリティ・ドメイン内にすべての SAML ユーザが指定されている場合、[ドメイン接頭語] フィールドに「SAML_」と入力します。以下の属性を持つ SAML アサーションがあるとします。

  • “XYZ” という organization 属性

  • OID レジストリ内の “XYZ-Organization” に解決される “1.2.3” という organization-id

  • OID レジストリ内の “RHIO-A” に解決される “4.5.6” という homeCommunityID

以下の名前のドメインが以下の順序で検索されます。

  1. “SAML_XYZ-Organization”

  2. “SAML_XYZ”

  3. “SAML_RHIO-A”

いずれのドメインも見つからなかった場合は、既定のドメイン内で検索されます。

この動作を変更できますが、そのためには、プロセッサ・クラスで GetDomain() メソッドをオーバーライドします。提供されているサンプルの HS.IHE.XUA.SHINNY.Processor.cls では、以下の方式が使用されます。

  1. DomainPrefix_UserOrganizationOID

  2. DomainPrefix_UserOrganizationName

  3. DomainPrefix_UserRHIO (OID)

シグニチャが必要

受信 SAML アサーションを処理するためには X.509 証明書で署名されていることが必要な場合、ここにチェックを付けます。

署名者の ID をチェック

チェックを付けた場合 (既定)、XUA プロセッサは、シグニチャ検証の一環として受信 SAML アサーションのシグニチャの KeyInfo プロパティを検査します。以下の 2 つの条件を満たす場合にのみ、アサーションは検証に合格します。

  • KeyInfo から署名者を識別できる。

  • 署名者の認証情報が信頼されている。

    Important:

    X.509 証明書の代わりに RSA 公開鍵を使用する場合は、信頼された RSA 鍵レジストリに鍵を追加する必要があります。

チェックを付けなかった場合、RSA 公開鍵のみで署名されていたり対称暗号で署名されているアサーションは、署名者の識別を試みることなく検証に合格します。

FeedbackOpens in a new tab