メインコンテンツまでスキップ

SAML を使用してシングルサインオンを設定する

最小限の設定で、このコネクターはあらゆる SAML ベースのアイデンティティプロバイダー (IdP) との統合を可能にします。

ヒント:

SSO についての詳細や Logto での SSO の設定方法については、エンタープライズシングルサインオン (SSO) (SAML & OIDC) ドキュメントを参照して始めてください。

ステップ 1: IdP で SAML SSO アプリケーションを作成する

IdP 側でアプリケーションを作成して SAML SSO 統合を開始します。Logto から次の設定を取得し、あなたのサービスプロバイダー (SP) を表します:

  • オーディエンス URI (SP エンティティ ID): これは、Logto サービスのグローバルに一意の識別子として機能し、IdP への認証リクエスト時に SP の EntityId として機能します。この識別子は、IdP と Logto 間での SAML アサーションやその他の認証関連データの安全な交換において重要です。
  • ACS URL: アサーションコンシューマーサービス (ACS) URL は、POST リクエストで SAML アサーションが送信される場所です。この URL は、IdP が SAML アサーションを Logto に送信するために使用されます。これは、Logto がユーザーのアイデンティティ情報を含む SAML レスポンスを受信し消費することを期待するコールバック URL として機能します。

IdP SAML アプリケーションにオーディエンス URI と ACS URL の設定を入力し、IdP から次の設定を取得し続けます。

ステップ 2: Logto で SAML SSO を設定する

SAML シングルサインオン (SSO) 統合を機能させるには、IdP メタデータを Logto に提供する必要があります。IdP メタデータは、Logto が IdP と信頼関係を確立するために必要なすべての情報を含む XML ドキュメントです。

Connection タブに移動します。Logto は、IdP メタデータを構成するための 3 つの異なる方法を提供しています:

  1. メタデータ URL: IdP メタデータ XML ドキュメントの URL を提供します。Logto は URL からメタデータを取得し、SAML SSO 統合を自動的に構成します。
  2. メタデータのアップロード: IdP メタデータ XML ドキュメントをアップロードします。Logto は XML ドキュメントを解析し、SAML SSO 統合を自動的に構成します。
  3. 手動構成: IdP メタデータを手動で構成します。
  • IdP エンティティ ID: IdP のエンティティ ID。
  • シングルサインオン URL: IdP シングルサインオンサービスの URL。
  • 署名証明書: IdP からの SAML 応答の署名を検証するために使用される x509 証明書。

上記のいずれかの構成を使用すると、Logto は IdP メタデータを解析し、それに応じて SAML SSO 統合を構成します。

ステップ 3: ユーザー属性のマッピングを設定する

IdP から返されるユーザー属性は、IdP の設定によって異なる場合があります。Logto は、IdP から返されるユーザー属性を Logto のユーザー属性にマッピングする柔軟な方法を提供します。SAML SSO 統合体験タブでユーザー属性のマッピングを設定できます。

  • id: ユーザーの一意の識別子。Logto は、SAML レスポンスから nameId クレームを読み取り、ユーザーの SSO アイデンティティ ID として使用します。
  • email: ユーザーのメールアドレス。
  • name: ユーザーの名前。

ステップ 4: メールドメインを設定し、SSO コネクターを有効化する

Logto のコネクターの SSO experience タブで、組織の email domains を提供してください。これにより、これらのユーザーに対して SSO コネクターが認証 (Authentication) 方法として有効になります。

指定されたドメインのメールアドレスを持つユーザーは、唯一の認証 (Authentication) 方法として SAML SSO コネクターを使用するようにリダイレクトされます。

オプション: SAML 認証リクエスト (Authentication request) に署名する

デフォルトでは、Logto は SAML 認証リクエスト(AuthnRequests)を署名せずに送信します。IdP が署名付き認証リクエストを要求する場合、Logto は生成されたサービスプロバイダー(SP)証明書でリクエストに署名できます。署名の有無はコネクターの 認証リクエストに署名 設定によって完全に制御されており、Logto は IdP メタデータの WantAuthnRequestsSigned フラグを読み取りません。

サインインの中断を避けるため、次の順序で設定してください:

  1. コネクターの Connection タブで リクエスト署名証明書 セクションを見つけ、新しいキーを生成 をクリックします。最初のキーは自動的に有効化され、以降に生成されたキーはローテーション用に無効状態でステージされます。
  2. 有効なキーの証明書をダウンロードし、IdP に登録します。
  3. 認証リクエストに署名 を有効にして保存します。有効化には有効な署名キーが必要です — キーがない状態で保存しようとすると拒否されます。
  4. IdP 側で署名付きリクエストの要求や検証を別途設定できる場合は、今そのオプションを有効にし、サインインフローをテストしてください。
警告:

両者の設定を同期させてください。証明書を登録する前に 認証リクエストに署名 を有効にしたり、Logto が署名する前に IdP 側で検証を必須にしたりすると、この接続経由のサインインができなくなります。リクエスト署名を検証しない IdP は署名を無視します。

キー管理はトグルとは独立して動作します:

  • 有効なキーは最大 1 つで、すべてのリクエストに署名します。キーの操作(生成、有効化、無効化、削除)は即時反映されます。
  • ダウンタイムなしで証明書をローテーションするには:新しいキーを生成(無効状態でステージ)、その証明書を IdP に登録し、有効化します — 以前のキーは自動的に無効化され、その後削除できます。
  • 有効なキーは削除できません。また、認証リクエストに署名 が有効な間は無効化できません — 先に署名を無効にしてください。
  • トグルをオフにしてもすべてのキーは保持されるため、再度有効化すれば同じ証明書で署名が再開されます — IdP 側での再設定は不要です。

Logto はデフォルトで RSA-SHA256 でリクエストに署名します。RSA-SHA512 を使用する場合は、Logto Management API を通じてコネクター設定の requestSignatureAlgorithmhttp://www.w3.org/2001/04/xmldsig-more#rsa-sha512 に設定してください。

SAML セキュリティ チートシート