12.2. SAML クライアントの作成


Red Hat Single Sign-On は、登録済みアプリケーションの SAML 2.0 をサポートします。POST およびリダイレクトバインディングがサポートされます。クライアント署名の検証を要求することもできます。サーバー署名や暗号化応答も可能です。

手順

  1. メニューで Clients をクリックします。
  2. Create をクリックして Add Client ページに移動します。

    クライアントの追加

    add client saml

  3. クライアントの クライアント ID を入力します。これは通常 URL であり、アプリケーションによって送信される SAML リクエストの issuer 値になります。
  4. Client Protocol ドロップダウンボックスで saml を選択します。
  5. クライアント SAML エンドポイント URL を入力します。この URL には、Red Hat Single Sign-On サーバーが SAML 要求および制限を送信する先を指定します。アプリケーションには SAML 要求を処理するための URL は 1 つあります。クライアントの Settings タブで複数の URL を設定できます。
  6. Save をクリックします。このアクションにより、クライアントが作成され、Settings タブが表示されます。

    クライアントの設定

    client settings saml

    以下のリストでは、各設定について説明します。

    Client ID
    OIDC 要求で使用される英数字 ID 文字列および Red Hat Single Sign-On データベースでクライアントを特定します。この値は、AuthNRequests で送信される発行者の値と一致する必要があります。Red Hat Single Sign-On は、Authn SAML 要求から発行者をプルし、この値によってクライアントに一致します。
    名前
    Red Hat Single Sign-On UI 画面のクライアントの名前。名前をローカライズするには、代替文字列値を設定します。たとえば、${myapp} などの文字列値です。詳細は、サーバー開発者ガイド を参照してください。
    Description
    クライアントの説明。この設定はローカライズすることもできます。
    Enabled
    OFF に設定すると、クライアントは認証を要求できません。
    Consent Required
    ON に設定すると、そのアプリケーションへのアクセスを許可する同意ページが表示されます。このページには、クライアントがアクセスできる情報のメタデータも表示されます。Facebook へのソーシャルログインを行う場合は、通常同様のページが表示されます。Red Hat Single Sign-On は同じ機能を提供します。
    Include AuthnStatement
    SAML ログイン応答は、使用される認証方法 (パスワードなど) と、ログインのタイムスタンプおよびセッションの有効期限を指定できます。Include AuthnStatement は、AuthnStatement 要素がログイン応答に含まれるように、デフォルトで有効になっています。これを OFF に設定すると、クライアントが最大セッションの長さを判別できなくなるので、期限切れにならないクライアントセッションが作成できます。
    サインインドキュメント
    ON に設定すると、Red Hat Single Sign-On はレルムの秘密鍵を使用してドキュメントに署名します。
    Optimize REDIRECT signing key lookup

    ON に設定すると、SAML プロトコルメッセージには Red Hat Single Sign-On ネイティブ拡張が含まれます。この拡張には、署名キー ID のヒントが含まれています。SP は、鍵を使用した署名の検証を試みる代わりに、署名検証の拡張を使用します。

    このオプションは、署名がクエリーパラメーターで転送され、この情報は署名情報では見つからない REDIRECT バインディングに適用されます。これは、キー ID が常にドキュメント署名に含まれる POST バインディングメッセージとは対照的です。

    このオプションは、Red Hat Single Sign-On サーバーおよびアダプターが IDP および SP を提供する場合に使用されます。このオプションは、Sign Documents がオンの場合にのみ関連します。

    アサーションへの署名
    アサーションは署名され、SAML XML Auth 応答に組み込まれます。
    Signature Algorithm
    SAML ドキュメントの署名に使用されるアルゴリズム。
    SAML Signature Key Name

    POST バインディングを使用して送信される署名付き SAML ドキュメントには、 KeyName 要素に署名キーの ID が含まれています。このアクションは、SAML 署名キー名 のオプションを使用して制御できます。このオプションは、Keyname の内容を制御します。

    • KEY_ID: KeyName にはキー ID が含まれます。このオプションはデフォルトのオプションです。
    • CERT_SUBJECT: KeyName には、レルムキーに対応する証明書のサブジェクトが含まれます。このオプションは、Microsoft Active Directory Federation Services で必要です。
    • NONE: KeyName ヒントは、SAML メッセージから完全に省略されます。
    正規化メソッド
    XML 署名の正規化メソッド。
    Encrypt Assertions
    SAML ドキュメントのアサーションをレルムの秘密鍵で暗号化します。AES アルゴリズムは、128 ビットのキーサイズを使用します。
    Client Signature Required
    Client Signature Required が有効な場合は、クライアントからのドキュメントは署名されている必要があります。Red Hat Single Sign-On は、クライアントパブリックキーまたは Keys タブで証明書を使用してこの署名を検証します。
    Force POST Binding
    デフォルトでは、Red Hat Single Sign-On は元のリクエストの最初の SAML バインディングを使用して応答します。Force POST Binding を有効にすると、Red Hat Single Sign-On は元の要求がリダイレクトバインディングを使用した場合でも SAML POST バインディングを使用して応答します。
    フロントチャンネルのログアウト
    Front Channel Logout が有効になっている場合、アプリケーションのログアウトにはブラウザーのリダイレクトが必要です。たとえば、アプリケーションでは Cookie をリセットする必要がありますが、リダイレクトでのみ実行可能です。Front Channel Logout が無効な場合は、Red Hat Single Sign-On はバックグラウンドの SAML 要求を呼び出して、アプリケーションからログアウトします。
    Force Name ID Format
    要求に名前 ID ポリシーがある場合は無視し、管理コンソールで設定された値を Name ID Format で使用されます。
    Allow ECP Flow
    true の場合、このアプリケーションは認証に SAML ECP プロファイルを使用できます。
    Name ID Format
    サブジェクトの名前 ID 形式。この形式は、要求に名前 ID ポリシーが指定されていない場合や、Force Name ID Format 属性が ON に設定されている場合に使用されます。
    Root URL
    Red Hat Single Sign-On が設定済みの相対 URL を使用する場合には、この値は URL の前に追加されます。
    Valid Redirect URIs
    URL パターンに入力し、+ 記号をクリックして追加します。- 記号をクリックして削除します。Save をクリックして変更を保存します。ワイルドカードの値は URL の最後にのみ使用できます。(例: http://host.com/*$$)。このフィールドは、正確な SAML エンドポイントが登録されておらず、Red Hat Single Sign-On がリクエストから Assertion Consumer URL をプルする場合に使用されます。
    ベース URL
    Red Hat Single Sign-On がクライアントへのリンクが必要な場合は、この URL が使用されます。

Logo URL

クライアントアプリケーションのロゴを参照する URL。

Policy URL

プロファイルデータがどのように使用されるかについて読むために、証明書利用者クライアントがエンドユーザーに提供する URL。

Terms of Service URL

依拠当事者の利用規約について読むために、依拠当事者クライアントがエンドユーザーに提供する URL。

Master SAML Processing URL

この URL はすべての SAML 要求に使用され、応答は SP に転送されます。これは、Assertion Consumer Service URL および Single Logout Service URL として使用されます。

ログイン要求に Assertion Consumer Service URL が含まれる場合には、これらのログイン要求が優先されます。この URL は、登録された Valid Redirect URI パターンで妥当性を検証する必要があります。

Assertion Consumer Service POST Binding URL
Assertion Consumer Service の POST バインディング URL。
Assertion Consumer Service Redirect Binding URL
Assertion Consumer Service のリダイレクトバインディング URL。
Logout Service POST Binding URL
Logout Service の POST バインディング URL。
Logout Service Redirect Binding URL
Logout Service のリダイレクトバインディング URL。
Logout Service Artifact Binding URL
Logout Service の Artifact リダイレクトバインディング URL。Force Artifact Binding オプションと共に設定すると、Artifact バインディングがログインフローとログアウトフローの両方で強制的に実行されます。このプロパティーが設定されていない限り、Artifact バインディングはログアウトには使用されません。
アーティファクトバインディング URL
HTTP アーティファクトメッセージの送信先となる URL。
Artifact Resolution Service
ArtifactResolve メッセージの送信先となるクライアント SOAP エンドポイントの URL。

12.2.1. IDP でのログイン

IDP Initiated Login は、特定のアプリケーション/クライアントにログインする Red Hat Single Sign-On サーバーでエンドポイントを設定することができる機能です。クライアントの Settings タブで、IDP Initiated SSO URL Name を指定する必要があります。これは、空白のない単純な文字列です。この後、root/auth/realms/{realm}/protocol/saml/clients/{url-name} の URL でクライアントを参照できます。

IDP によって開始されるログインの実装では、REDIRECT バインディングよりも POST が優先されます (詳細については、saml バインディング を確認してください)。そのため、最終バインディングおよび SP URL は以下の方法で選択されます。

  1. 特定の Assertion Consumer Service POST Binding URL が定義される場合 (クライアント設定の Fine Grain SAML Endpoint Configuration 設定)。POST バインディングはその URL で使用されます。
  2. 一般的な Master SAML Processing URL が指定されている場合には、この一般的な URL ではなく POST バインディングが使用されます。
  3. 最後に、(Fine Grain SAML Endpoint Configuration 内で) Assertion Consumer Service Redirect Binding URL が設定されている場合は、この URL で REDIRECT バインディングが使用されます。

クライアントに特別なリレー状態が必要な場合は、IDP Initiated SSO Relay State フィールドの 設定 タブで設定することもできます。または、ブラウザーは RelayState クエリーパラメーター (つまり root/auth/realms/{realm}/protocol/saml/clients/{url-name}?RelayState=thestate) にリレー状態を指定することもできます。

アイデンティティーブローカー を使用する場合は、外部 IDP からクライアントの IDP 開始ログインを設定できます。前述のように、ブローカー IDP で IDP 開始ログインに実際のクライアントが設定されている。外部 IDP は、ブローカーを示す特別な URL を参照するアプリケーションの IDP Initiated ログインにクライアントを設定し、仲介 IDP で選択したクライアントの IDP Initiated ログインエンドポイントを表す必要があります。これは、外部 IDP のクライアント設定を意味します。

  • IDP Initiated SSO URL Name は、IDP Initiated Login initial point として公開される名前に設定されます。
  • Fine Grain SAML Endpoint Configuration セクションの Assertion Consumer Service POST Binding URL は、broker-root/auth/realms/{broker-realm}/broker/{idp-name}/endpoint/clients/{client-id} の URL に設定する必要があります。ここでは、以下のようになります。

    • broker-root はベースブローカー URL です。
    • broker-realm は、外部 IDP が宣言されるブローカーのレルムの名前です。
    • IDP-name はブローカーの外部 IDP の名前です。
    • client-id は、ブローカーで定義された SAML クライアントの IDP Initiated SSO URL Name 属性の値です。このクライアントは、外部 IDP から IDP Initiated ログインで利用できます。

ブローカー IDP から外部 IDP のクライアント設定に基本的なクライアント設定をインポートできることに注意してください。ブローカー IDP でアイデンティティープロバイダーの設定から利用可能な SP 記述子 を使用し、clients/client-id をエンドポイント URL に追加するだけです。

12.2.2. エンティティー記述子を使用したクライアントの作成

SAML 2.0 クライアントを手動で登録するのではなく、標準の SAML Entity Descriptor XML ファイルを使用してクライアントをインポートできます。

Add Client ページには Import オプションがあります。

クライアントの追加

add client saml

手順

  1. ファイルの選択 をクリックします。
  2. XML エンティティー記述子情報が含まれるファイルを読み込みます。
  3. 情報を確認し、すべてが正しく設定されていることを確認します。

mod-auth-mellon などの SAML クライアントアダプターの中には、IDP の XML エンティティー記述子が必要です。この記述子は、以下の URL に移動して確認できます。

root/auth/realms/{realm}/protocol/saml/descriptor

realm は、クライアントのレルムに置き換えます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.