SAML認証

用 語

用語

説明

Sp(Service Provider)

ここではFileBlogのことです。

Idp(Identity Provider)

Microsoft Entra(Azure AD)などのユーザー認証の仕組みを
提供するシステムまたはサービスのことです。

前提条件

FileBlogのSAML連携機能の使用には2つの要件を満たすことが必要です。

  1. Active Directoryドメインの環境でFileBlogサーバーがドメイン参加している。

    • FileBlogサーバーのネットワークドライブを検索対象にする場合、Active Directoryサーバーで委任許可の設定が必要です。

    • Active Directoryに登録されているドメインユーザーアカウントでFileBlogにログインできることが必要です。

  2. ドメインユーザーアカウントと一致する情報が、SAML認証を提供するIdP側に登録されている。

Active Directoryの設定

ドキュメントルートフォルダがFileBlogサーバーのネットワークドライブである場合、ログインユーザーの代理でCIFSサービスを利用するための委任設定が必要です。

ドキュメントルートフォルダがFileBlogサーバーのローカルフォルダの場合は設定不要です。

設定方法については統合Windows認証の[Active Directoryサーバーの設定]欄を参照してください。

委任設定では、「任意の認証プロトコルを使う」を選択します。「Kerberosのみを使う」は選択しません。

基本設定例

FileBlog(Sp)の設定[1]

  1. [管理ツール > 設定全般]を選択します。

    ../../../../_images/sa001.png

  1. [すべての設定 > WEBサーバー > 認証 > SAML認証]を選択します。

    ../../../../_images/sa002.png

  1. [enabled]にチェックを入れます。

  2. [EntityId]にFileBlogに接続するURLを指定します。

    例) https://servername.domain.jp/fileblog/
    
    • ユーザーが接続可能なURLを指定します。

    • servername.domain.jpの部分はピリオドを含まない単一ホスト名またはIPアドレスでもかまいません。

    • URLの末尾は/fileblog/にします。(末尾の/を必ず含めてください)

    • プロトコルは HTTP または HTTPS のいずれでもかまいません。

      • なおIdpによってはHTTPSが有効なSpでないと連携できない仕様の場合があります。

      • HTTPSにするにはサーバー証明書の設定が別途必要です。

  3. [保存する]を選択してサービスを再起動します。

  4. 再起動後 にWEBブラウザで[EntityId]に指定したURLに/samlを足したURLに接続します。

    • Sp側のメタデータファイル(xml形式)がダウンロードされます。

    例) https://servername.domain.jp/fileblog/saml
    

Idpの設定

  1. Idpの設定方法に従ってSpから取得したメタデータファイル(xml形式)をインポートします。

    • Idpによってはメタデータのインポート機能が備わっていません。その場合は手入力で各情報を設定してください。

    • 必要な情報はメタデータファイルに記載されています。

  2. 設定の完了後、Idpのメタデータファイル(XML形式)をエクスポート(ダウンロード)します。

FileBlog(Sp)の設定[2]

  1. [管理ツール > 設定全般 > すべての設定 > WEBサーバー > 認証 > SAML認証]を選択します。

  2. [IdpMetadataFile]にIdpから取得したメタデータファイル(xml形式)をインポートします。

    ../../../../_images/20230308-113235-641.png

  1. [保存する]を選択してサービスを再起動します。

動作確認

  1. [EntityId]に指定したURLに接続します。

  2. SAML認証フロー(シングルサインオン)を経てFileBlogのトップ画面が表示されれば成功です。

    • FileBlogにログインが成功してもドキュメントルートフォルダが表示されない場合は、Active Directoryの委任設定まわりに原因があることが多いです。

詳細設定

運用環境に応じて設定を行ってください。SAML認証を成功させるために必須の設定ではありません。

FileBlog(Sp)の設定[3]

UpnTemplate

../../../../_images/20230314-151605-871.png
  • Idpとの認証成功後にFileBlogサーバー上でS4U(Windowsへのシングルサインオン)する際に利用するUserPrincipalNameの形式です。

  • Idpから提供されるNameId値(NameIdFormatで指定した値)が「userid@domain」形式と一致するようにします。

  • 例として、NameId値がドメイン名を含まない場合の設定です。(Windowsドメイン名FQDN形式:contso.local)

    $(resource)@contso.local
    

NameIdFormat

../../../../_images/20230314-151830-672.png
  • Idpから認証成功後に提供されるNameId値(ユーザーの識別子)の形式です。

  • FileBlogはNameId値を用いてWindowsにシングルサインオンするため、原則は「userid@domain」の値を入手できる形式を選択します。

  • [UpnTemplate]とセットで設定します。

Certificate

../../../../_images/20230314-160139-151.png

次の動作を実現するにはSp側にX509形式の証明書が必要です。証明書は自己証明書で機能しますがIdp側の仕様に依存します。

  • SpからIdpへ送るSAMLリクエスト(AuthnRequest)を署名付きで送信する

  • シングルログアウトを行う

公開鍵はメタデータで公開され、秘密鍵は復号化/署名に使用されます。

  • Certificate:証明書ファイルをインポートします

  • Key:秘密鍵ファイルをインポートします

  • Password:証明書形式がpfxの場合にパスワードを登録します

PublicOrigin

../../../../_images/20230314-162239-737.png

ロード バランサーまたはリバースプロキシを使用する場合、HTTPリクエストのOriginがEntityId設定値のとおりにならないでSAML認証に失敗する可能性があります。このような場合にはPublicOriginをEntityIdと同じ値に設定して下さい。

AuthenticateRequestSigningBehavior

../../../../_images/20230314-162313-529.png

SpからIdpへのSAMLリクエスト(AuthnRequest)の署名動作を設定します。[Certificate]にて証明書を設定しているのに、AuthnRequestに署名が埋め込まれない(Idpから署名が不足していると拒絶された場合)、Alwaysに設定することで改善が期待できます。

  • IfIdpWantAuthnRequestsSigned:idpのmetadataにWantAuthnRequestsがtrueに設定されている場合に限り、AuthnRequestsに署名します。(既定値)

  • Always:常にすべてのAuthnRequestに署名します

  • Never:AuthnRequestに署名することはありません

LogonScript

../../../../_images/20230315-103546-116.png

Idpとの認証(ハンドシェイク)に成功後、Windowsへシングルサインオンする直前に実行されるスクリプトのパス(物理パス)です。原則として設定不要です。

フォーム認証を制限する

フォーム認証(ID/パスワード入力)を制限するとSAML認証でのみFileBlogにログインできるようになります。(SAML認証設定が完了してから必要に応じて設定してください)

  1. [管理ツール > 設定全般 > すべての設定 > WEBサーバー > 認証 > フォーム認証]を選択する

  2. [Enabled]のチェックをはずすと全体的にフォーム認証ができなくなります。

    ../../../../_images/20240523-112057-939.png

  1. [Scope]でフォーム認証を許可する範囲を指定できます。

    • [変更]を選択して適用条件を設定します。

    • この場合、上記[enabled]のチェックは外しません。

  2. [保存する]を選択してサービスを再起動します。

トラブルシューティング

SAML認証設定の成功前にフォーム認証を制限すると、SAML認証設定が期待どおりに動作しない場合にFileBlogにログインできなくなってしまいます。(ログイン方法がなくなってしまいます)

そのようなときはSAML認証を解除してフォーム認証を許可してください。

  1. [管理ツール > 設定全般 > すべての設定 > Webサーバー > 認証 > SAML認証]で[Enabled]のチェックを外します。

  2. [管理ツール > 設定全般 > すべての設定 > Webサーバー > 認証 > フォーム認証]で[Enabled]にチェックを入れます。

  3. [保存する]を選択してサービスを再起動します。