9.6. SAML v2.0 アイデンティティープロバイダー


Red Hat build of Keycloak は、SAML v2.0 プロトコルに基づいてアイデンティティープロバイダーを仲介できます。

手順

  1. メニューで Identity Providers をクリックします。
  2. Add provider リストから SAML v2.0 を選択します。

    アイデンティティープロバイダーの追加

    Add Identity Provider

  3. 初期設定オプションを入力します。設定オプションの詳細は、一般的な IDP 設定 を参照してください。
Expand
表9.3 SAML 設定
設定説明

Service Provider Entity ID

リモートアイデンティティープロバイダーがこのサービスプロバイダーからのリクエストを識別するために使用する SAML エンティティー ID。デフォルトでは、この設定はレルムベース URL <root>/realms/{realm-name} に設定されます。

Identity Provider Entity ID

受信した SAML アサーションの発行者を検証するために使用されるエンティティー ID。空の場合、発行者の検証は実行されません。

Single Sign-On Service URL

認証プロセスを開始する SAML エンドポイント。SAML IDP が IDP エンティティー記述子を公開する場合、このフィールドの値はそこで指定されます。

アーティファクトサービス URL

SAML アーティファクト解決エンドポイント。SAML IDP が IDP エンティティー記述子を公開する場合、このフィールドの値はそこで指定されます。

Single Logout Service URL

SAML ログアウトエンドポイント。SAML IDP が IDP エンティティー記述子を公開する場合、このフィールドの値はそこで指定されます。

Backchannel Logout

SAML IDP がバックチャネルのログアウトに対応している場合は、このスイッチを ON に切り替えます。

NameID Policy Format

名前識別子の形式に対応する URI 参照。Red Hat build of Keycloak は、デフォルトでこれを urn:oasis:names:tc:SAML:2.0:nameid-format:persistent に設定します。

Principal Type

外部ユーザー ID の特定および追跡に使用される SAML アサーションの一部を指定します。Subject NameID または SAML 属性のいずれかを指定できます (名前または分かりやすい名前のいずれか)。Subject NameID の値は、'urn:oasis:names:tc:SAML:2.0:nameid-format:transient' NameID Policy Format の値と共に設定することはできません。

Principal Attribute

Principal type が空欄でない場合は、このフィールドで識別する属性の名前 ("Attribute [Name]") または分かりやすい名前 ("Attribute [Friendly Name]") を指定します。

Allow create

外部アイデンティティープロバイダーがプリンシパルを表す新しい識別子を作成するのを許可します。

HTTP-POST Binding Response

外部 IDP によって送信される SAML リクエストに応答する SAML バインディングを制御します。OFF の場合、Red Hat build of Keycloak は Redirect Binding を使用します。

ARTIFACT Binding Response

外部 IDP によって送信される SAML リクエストに応答する SAML バインディングを制御します。OFF の場合、Red Hat build of Keycloak は HTTP-POST Binding Response 設定を評価します。

HTTP-POST Binding for AuthnRequest

外部 IDP からの認証を要求するときに SAML バインディングを制御します。OFF の場合、Red Hat build of Keycloak は Redirect Binding を使用します。

Want AuthnRequests Signed

ON の場合、Red Hat build of Keycloak はレルムのキーペアを使用して、外部 SAML IDP に送信される要求トに署名します。

Want Assertions Signed

このサービスプロバイダーが署名付きアサーションを期待しているかどうかを示します。

Want Assertions Encrypted

このサービスプロバイダーが暗号化されたアサーションを期待しているかどうかを示します。

Signature Algorithm

Want AuthnRequests SignedON の場合に、使用する署名アルゴリズム。SHA1 ベースのアルゴリズムは非推奨となっており、将来のリリースでは削除される可能性があることに注意してください。*_SHA1 の代わりに、よりセキュアなアルゴリズムを使用することを推奨します。また、*_SHA1 アルゴリズムでは、SAML ID プロバイダー (Red Hat build of Keycloak の別のインスタンスなど) が Java 17 以降で実行されている場合、署名の検証が機能しません。

Encryption Algorithm

SAML ドキュメント、アサーション、または ID の暗号化のために SAML IDP によって使用される暗号化アルゴリズム。SAML ドキュメント部分の復号化に対応する復号化キーは、この設定されたアルゴリズムに基づいて選択され、暗号化 (ENC) の使用にレルムキーで使用できる必要があります。アルゴリズムが設定されていない場合は、サポートされているアルゴリズムが許可され、SAML ドキュメント自体で指定されているアルゴリズムに基づいて復号キーが選択されます。

SAML Signature Key Name

POST バインディングを使用して送信された署名付き SAML ドキュメントには、KeyName 要素に署名キーの識別が含まれており、デフォルトでは Red Hat build of Keycloak キー ID が含まれています。外部 SAML IDP には異なるキー名が必要です。このスイッチは、KeyName に次のものが含まれるかどうかを制御します。* KEY_ID - キー ID* CERT_SUBJECT - レルムキーに対応する証明書からのサブジェクト。Microsoft Active Directory Federation Services には CERT_SUBJECT が必要です。* NONE - Red Hat build of Keycloak では、SAML メッセージからキー名のヒントが省略されます。

Force Authentication

ユーザーがすでにログインしている場合でも、ユーザーは外部の IDP に認証情報を入力する必要があります。

Validate Signature

ON の場合、レルムには SAML リクエストおよびデジタル署名する外部 IDP からの応答が必要です。

Metadata descriptor URL

アイデンティティープロバイダーが IDPSSODescriptor メタデータを公開する外部 URL。この URL は、Reload keys または Import keys アクションをクリックしたときに、アイデンティティープロバイダーの証明書をダウンロードするために使用されます。

Use metadata descriptor URL

ON の場合、署名を検証するための証明書が Metadata descriptor URL から自動的にダウンロードされ、Red Hat build of Keycloak にキャッシュされます。SAML プロバイダーは、2 つの異なる方法で署名を検証できます。特定の証明書が (通常は POST バインディングで) 要求されたときに、それがキャッシュ内に存在しない場合、証明書はこの URL から自動的に更新されます。すべての証明書の署名検証が要求された場合 (REDIRECT バインディング)、最大キャッシュ時間の経過後にのみ更新が実行されます (キャッシュの動作の詳細は、すべてのプロバイダー設定ガイドの public-key-storage spi を参照してください)。アイデンティティープロバイダーページの Reload Keys アクションを使用して、キャッシュを手動で更新することもできます。

このオプションが OFF の場合、Validating X509 Certificates の証明書が署名の検証に使用されます。

Validating X509 Certificates

Use metadata descriptor URLOFF の場合に、Red Hat build of Keycloak が外部 IDP からの SAML 要求および応答の署名を検証するために使用する公開証明書。複数の証明書をコンマ (,) で区切って入力できます。アイデンティティープロバイダーページの Import Keys アクションをクリックすると、Metadata descriptor URL から証明書を再インポートできます。このアクションは、メタデータエンドポイント内の現在の証明書をダウンロードし、このオプションの設定に割り当てます。再インポートした証明書を確実に保存するには、Save をクリックする必要があります。

Sign Service Provider Metadata

ON の場合、Red Hat build of Keycloak はレルムのキーペアを使用して SAML Service Provider Metadata descriptor に署名します。

Pass subject

Red Hat build of Keycloak が、login_hint クエリーパラメーターを IDP に転送するかどうかを制御します。Red Hat build of Keycloak は、このフィールドの値を AuthnRequest の Subject の login_hint パラメーターに追加し、宛先プロバイダーがログインフォームを事前に入力できるようにします。

属性消費サービスインデックス

リモート IDP に要求する属性セットを識別します。Red Hat build of Keycloak は、ID プロバイダー設定でマップされた属性を自動生成された SP メタデータドキュメントに自動的に追加します。

サービス名を使用している属性

自動生成される SP メタデータドキュメントでアドバタイズされる属性セットの説明的な名前。

外部 IDP の SAML IDP エンティティー記述子をポイントする URL またはファイルを指定することで、すべての設定データをインポートできます。Red Hat build of Keycloak の外部 IDP に接続する場合は、URL <root>/realms/{realm-name}/protocol/saml/descriptor から IDP 設定をインポートできます。このリンクは、IDP に関するメタデータを記述する XML ドキュメントです。接続先の外部 SAML IDP のエンティティー記述子をポイントする URL または XML ファイルを指定することで、このすべての設定データをインポートすることもできます。

9.6.1. 特定の AuthnContexts の要求

アイデンティティープロバイダーは、クライアントがユーザーアイデンティティーを検証する認証方法の制約を指定するのを容易にします。たとえば、MFA、Kerberos 認証、またはセキュリティー要件を要求します。これらの制約は、特定の AuthnContext 条件を使用します。クライアントは 1 つまたは複数の条件を要求し、アイデンティティープロバイダーがどの程度要求された AuthnContext と一致しなければならないか (完全に、または他の同等の条件を満たしながら) を指定できます。

Requested AuthnContext Constraints セクションの ClassRefs または DeclRefs を追加して、サービスプロバイダーが必要とする条件をリストにして設定できます。通常、ClassRefs または DeclRefs のいずれかを指定する必要があるため、どの値がサポートされるかをアイデンティティープロバイダーのドキュメントで確認してください。ClassRefs または DeclRefs が存在しない場合、アイデンティティープロバイダーは追加の制約を適用しません。

Expand
表9.4 要求される AuthnContext 制約
設定説明

Comparison

アイデンティティープロバイダーがコンテキスト要件を評価するために使用する方法。設定可能な値は、ExactMinimumMaximum、または Better です。デフォルト値は Exact です。

AuthnContext ClassRefs

必要な基準を記述する AuthnContext ClassRefs。

AuthnContext DeclRefs

必要な基準を記述する AuthnContext DeclRefs。

9.6.2. SP 記述子

プロバイダーの SAML SP メタデータにアクセスする場合は、アイデンティティープロバイダー設定で Endpoints 項目を探します。これには、サービスプロバイダーの SAML エンティティー記述子を生成する SAML 2.0 Service Provider Metadata のリンクが含まれます。記述子をダウンロードするか、その URL をコピーして、それをリモートの ID プロバイダーにインポートすることができます。

このメタデータは、以下の URL で一般に公開されています。

http[s]://{host:port}/realms/{realm-name}/broker/{broker-alias}/endpoint/descriptor

記述子にアクセスする前に設定変更を保存するようにしてください。

9.6.3. SAML リクエストのサブジェクトの送信

デフォルトでは、SAML アイデンティティープロバイダーをポイントするソーシャルボタンは、ユーザーを以下のログイン URL にリダイレクトします。

http[s]://{host:port}/realms/${realm-name}/broker/{broker-alias}/login

この URL に login_hint という名前のクエリーパラメーターを追加すると、パラメーターの値が Subject 属性として SAML リクエストに追加されます。このクエリーパラメーターが空の場合、Red Hat build of Keycloak はリクエストにサブジェクトを追加しません。

"Pass subject" オプションを有効にして SAML リクエストのサブジェクトを送信します。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る