フォームのSAML連携

  • 更新

クライゼルの更新・削除フォームで、シングルサインオンできるようにします。

このページの概要

SAML連携の概要 SAML連携についての概要を説明します。
フォームのSAML連携を設定する SAML連携設定手順の説明です。
フォームでシングルサインオン (SSO)を有効化する 設定したSAML連携でフォームのシングルサインを有効化する方法を説明します。

SAML連携概要

[SAML連携](サムル連携/サムエル連携)は、クライゼルの更新フォーム・削除フォームへのログインについて、外部IdP(アイディーピー)と連携してシングルサインオン(SSO)を有効化できる機能です。

SAML認証では、「IdP」と「SP」があり、クライゼルの「SAML連携」は「SP」(サービスプロバイダー)に該当します。

  • IdP・・・認証するクラウドサービスやログインアカウントをまとめて管理するためのサービス。
  • SP・・・認証ログインし、エンドユーザに利用させたいクラウドサービス。このサービスにも利用ユーザのアカウントが登録されている必要がある。

SAML認証.png

ユーザが認証フォームにアクセスしてきた時、IdPにログインしていなければ、まずIdPにログインしなければいけません。

その後は、ログインIdP側に登録されているユーザとクライゼル会員DBに登録されているユーザを紐づけて自動認証できます。

IdP側に複数のクライゼルデータベース用の認証設定が作成されてあれば、複数データべースをまたいで更新フォームを遷移できます。

下記画像の例では、3つのクライゼル会員データベースに対応するSAMLアプリを1つのIdP上に設定し、SAML連携させる。各更新フォーム間のリンクに認証画面の表示をスキップする指示パラメータ付きにしています。

SAML認証(推移).png

 

注意

  • あらかじめ、IdPに登録されているユーザの連携項目の値をクライゼル側データベースにも登録しておく必要があります。
  • 複数データベースを認証するには、IdP側にも複数のSP登録が必要です。
  • IdPにログインする際は、IdP側の認証ページでログインする必要があるため、エンドユーザ向けの提供となる場合は、ログイン画面のデザイン的なカスタマイズが可能であるIdPの選定などにご留意ください。
  • 認証時にはIdPのURLへリダイレクトされます。

 

フォームのSAML連携を設定する

操作手順

1 [フォーム]>[SAML連携]を開きます。

2 シングルサインオンでログインさせたい更新フォーム・削除フォームのあるデータベースの「設定一覧」を開きます。

フォームのシングルサインオンのためのSAML連携を設定する:手順2.png

3 新たな連携のための設定を作成する場合は[新規作成]ボタンを押します。すでに存在する連携設定を更新したい場合は[更新]を押します。

フォームのシングルサインオンのためのSAML連携を設定する:手順3.png

4 IdPとSAML連携させてシングルサインオンさせるために必要な設定と、ログイン時の挙動に関する設定が設定できます。

フォームのシングルサインオンのためのSAML連携を設定する:手順4.png

[名称 ] 連携設定の内容が簡単にわかる名称を設定します。
[SSO(シングルサインオン)設定] 下記の選択肢から指定します。
  • 無効
  • 有効
設定を稼働させるかどうかの状態の設定です。「有効」で設定を開始して、無効化したい場合に「無効」に変更します。

5 「SAML全般設定」部分を設定していきます。

[認証で利用するDB項目] クライゼル側の会員データ項目のどの項目を利用するかを設定します。
下記のようなルールで選択可能な項目が選べます。
  • テキストとメールアドレス項目のみ設定可能
  • 複数重複キーが設定されている場合に、どちらで認証するかを選択できる
  • 対象の項目がない場合には画面表示時にエラーとなる
[認証で利用するIdP情報] IdP側のどの項目を認証に利用するかを設定します。
  • NameID
  • 属性情報
[認証時の比較方法] 利用するIdPの項目値の一致確認をどのようにするか設定します。
  • 完全一致で比較:(会員DB: user1@example.com, IdP: user1@example.com)
  • 会員のローカルパートと比較: (会員DB: user1@example.com, IdP: user1)
  • IdPのローカルパートと比較: (会員DB: user1, IdP: user1@example.com)
[大文字・小文字の区別] 大文字小文字の区別をするかどうか設定します。
特に、クライゼルのメールアドレス項目上では、大文字のメールアドレスも小文字化されて保存されているため、IdP側のメールアドレスが大文字小文字の区別を許容している場合に不一致が発生するため、この設定を「区別しない」で設定する必要があります。

6 「IdP設定(連携システムの情報を入力してください)」は、IdPの管理画面から取得した情報を登録します。

フォームのシングルサインオンのためのSAML連携を設定する:手順6.png

 

[エンティティID] IdP管理画面で発行されている当連携用の値を確認して入力してください。
[エンドポイントURL] シングルサインオンURLサインインURLIDプロバイダーURLとも言われます。
IdP管理画面より該当する値を確認して入力してください。
[証明書] IdP管理画面より証明書を取得して貼付してください。
  • ヘッダ・フッタ(-----BEGIN CERTIFICATE-----のような部分)の有無はどちらでも可
  • 証明書のフォーマットのバリデーションチェックがされ、エラー時は「エラー: 証明書のフォーマットが正しくありません。」と表示されます。
  • 補足:ここで設定した証明書の有効期限が切れた場合でも、認証は無効化されない仕様としておりますが、セキュリティ上期限内に更新いただくようお願いいたします。

7 「SP設定(連携先システムに、この情報を入力して下さい)」部分は、連携を新規作成する時はまだ正しい値が表示されていません。

フォームのシングルサインオンのためのSAML連携を設定する:手順7.png

一旦画面下の[次へ→]をクリックし、確認画面で[実行→]を押して保存します。
[←戻る]をクリックします。

フォームのシングルサインオンのためのSAML連携を設定する:手順7(完了).png

8 作成された連携設定が表示されるので、[編集]をクリックします。

フォームのシングルサインオンのためのSAML連携を設定する:手順8.png

「SP設定(連携システムに、この情報を入力して下さい)」部分に表示される内容を、IdP側の管理画面の登録欄に設定してください。

フォームのシングルサインオンのためのSAML連携を設定する:手順8(登録欄).png
[エンティティID] クライゼルが発行したIDが表示されていますので、IdP管理画面上でSP側のエンティティIDを入力する欄に設定してください。
[ACS URL]
(Assertion Consumer Service URL)
SP側のエンドポイントURL(シングルサインオンURL)です。
IdP管理画面上のSP側の情報としてエンドポイントURLを入力する欄に設定してください。
[NameID] NameIDのフォーマットです。クライゼルでは「urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified」固定としています。IdP側では形式を定義し、SP側はその形式を受け入れ、必要なサービスをユーザに提供することとなります。
IdP側では「NameIDのフォーマット」という設定欄などとなっており「unspecified」と指定すれば良いこともあります。
[RelayState] SAMLログイン後遷移する専用URLのことです。クライゼルではログイン後自動で状況に合わせたページへ遷移させますので、設定の必要はありません。
「SP認証成功後の移行URL」のような設定欄であることがあります。

以上で基本的な連携設定は完了です。

下記は必要に応じて設定できます。

9 エラーメッセージ/高度な設定/備考 必要に応じて設定してください。

「エラーメッセージ」はSAML連携による認証に失敗した際に表示されるメッセージです。空欄の場合はデフォルトのメッセージが表示されます。
エラーが表示される画面はフォームの認証画面です。

エラーメッセージの表示画面についてはこちら

 

「高度な設定」はIdPの仕様等にあわせて設定してください。

[利用するハッシュアルゴリズム] 利用するIdPの仕様等にあわせて下記の選択肢から指定します。
  • SHA-256
  • SHA-384
  • SHA-512
※本項目はVer.202503より「SAML全般設定」欄から移動されました。
[IdPへのRequestedAuthnContext送信] 利用するIdPの仕様等にあわせて下記の選択肢から指定します。
  • 送信しない
  • 送信する
「送信する」の場合、SAML認証リクエストに、以下の要素が含まれます。
IdPで、パスワード認証以外の端末認証等を認証方法に設定している場合は「送信しない」に設定することでエラーが解消される可能性があります。
<samlp:RequestedAuthnContext Comparison="exact">
  <saml:AuthnContextClassRef>   urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport   </saml:AuthnContextClassRef>
</samlp:RequestedAuthnContext>

※本項目はVer.202503より追加されました。2025年3月25日のバージョンアップより前に設定された場合の初期値は「送信する」、以降の初期値は「送信しない」となります。

「その他」は、設定時のメモ用に備考欄があります。

[備考]
※SAML連携システム名など設定のメモを残すのにご利用下さい
設定者自身向けのメモ、後任の方への引き継ぎ事項等をメモしておきましょう。

 

 

フォームでシングルサインオン (SSO)を有効化する

操作手順

1 [フォーム]>[フォーム管理]>対象データベースの[フォーム一覧]>対象とする更新・削除フォームの[設定]を開きます。

フォームのシングルサインオンのためのSAML連携を設定する:手順1.png
2 [SAMLシングルサインオン]にて、SAML連携で作成した設定を指定します。
フォームのシングルサインオンのためのSAML連携を設定する(SAMLシングルサインオン):手順2.png

保存をしたら、基本的な設定は完了です。

 

 

認証画面を省略する方法

シングルサインオン設定をすると、[公開URL]にてパスワードによるログインが不要となり、認証画面には「ログイン」ボタンだけが表示されています。

認証画面を省略する方法.png

ログインボタンを押すと、IdPへのログインを促され、IdP側のログイン画面でログインに成功すると入力画面に遷移します。

下記のパラーメータをフォームのURLの後ろに追加すると、ボタンを押さなくてもログインを開始するための指定をすることができます。

認証画面を省略するパラメータ

 

パラメータと値 saml=auto
設定例(krs.bzドメイン、フォームの別名未設定時) http://krs.bz/環境ID/m?f=79&saml=auto
設定例(krs.bzドメイン、フォームの別名設定時) http://krs.bz/環境ID/m/別名?saml=auto

一度IdPにログインしていれば、そのIdPに設定されているSAML連携設定に応じて、複数のフォームにログインさせることもできます。

更新フォームAから別のデータベースの更新フォームBへログインさせたい場合に、上記のパラメータ付きURLを使うことでスムーズなページ移動が可能となります。

完了画面を省略して次の更新フォームへ遷移させることもできます。

自動生成フォームのデザイン画面で完了画面をスキップして次のデータベースにログインさせる場合の設定箇所

自動生成フォームのデザイン画面で完了画面をスキップして次のデータベースにログインさせる場合の設定箇所.png
自動生成フォームの完了画面の遷移先を指定はこちら

認証画面で発生するエラーとエラーメッセージの編集

認証画面でIdPによる認証に問題が発生した際、クライゼル側で発生したエラーであれば下記のように認証画面にエラーが表示されます。

認証画面で発生するエラーとエラーメッセージの編集.png

エラーの種類

 

対応するアカウントが存在しません 対応する会員が見つからなかった場合
※クライゼル会員データベースにもIdPで認証する項目を持つ会員データが存在していなければいけません。
条件を満たすアカウントが複数存在します 対応する会員が複数存在した場合。
※SAML認証に利用する項目は1つながらもクライゼルデータベース側の重複キーは複数である場合などに、認証対象の項目値が重複する可能性がデータベース上あります。あらかじめ登録される会員データ側で認証項目が重複しないようにしておいてください。
SAML認証でエラーが発生しました その他の理由でSAML認証に失敗した場合
※SAML認証のIdP側かクライゼルのSAML連携側の設定に問題がある可能性があります。

エラーメッセージを編集する場合はSAML連携メニュー側で設定できます。

フォームのシングルサインオンのためのSAML連携を設定する

その他のシングルサインオンフォームの動作について

  • SAMLのセッション情報はSAML連携設定ごとに保存されます。
    • 既にSAML認証がOKとなったセッションであれば、別フォームの場合でも認証画面をスキップして入力画面を表示します。
    • ただし、SAML連携設定はデータベース単位のため、同一フォーム内の更新フォームに限定されます。
      • データベースごとにIdP側にも各SAML連携設定が設定されていれば複数データベースの認証が可能です。
  • フォームのパラメータにsaml=logoutをつけると、SAMLログアウト用のURLとして取り扱われます。
    • ログアウト用URLの差込記号も利用できます。
      • [デザイン]>[ソース]欄内などで使用できます。
SAML ログアウトURL ##saml_logout_url##
SAML ログアウトリンクタグ <a href="##saml_logout_url##">ログアウト</a>