ドメインコントローラー委任設定
cifs委任のサービスが選択できない
統合Windows認証やSAML認証のシングルサインオンの仕組みでは、Kerberos委任によりSPN(Service Principal Name)[1]で名前解決を行ってファイルサーバーに接続できるようにします。
DNSエイリアス(CNAMEレコード)をホスト名としてファイルサーバー接続している環境では、ドメインコトローラーでのcifs委任設定時に、対象ファイルサーバーのSPNが表示されないことあります。
ドメインコントローラーでは、DNSのAレコードに対応するSPN(CIFS/実際のサーバー名)が委任設定の選択肢に表示されますが、CNAMEレコードで参照される名前に対応するSPN(CIFS/CNAME名)は自動表示されないため、SPNの手動登録が必要です。
SPNの登録
SPNの登録はsetspnコマンドで行います。
setspn -A HOST/<DNSエイリアス> <ファイルサーバーのコンピュータアカウント名>
コマンド実行例
下表の環境例を対象としたsetspnコマンドの実行例です。
ドキュメントルート |
ホスト名(Alias/CNAME) |
実際のホスト名(Aレコード) |
---|---|---|
\\PHENIX\robita |
PHENIX |
SARUTASV01.nipponmyth.com |
setspnコマンドを実行します。(念のため2行を実行します)
setspn -A HOST/PHENIX SARUTASV01 setspn -A HOST/PHENIX SARUTASV01.nipponmyth.com
コマンド実行すると次のように出力されます。
C:\Users\Administrator>setspn -A HOST/PHENIX SARUTASV01 ドメイン DC=xxx,DC=xxx を確認しています CN=SARUTASV01,CN=Computers,DC=xxx,DC=xxx の ServicePrincipalNames を登録しています HOST/PHENIX
SPN登録の結果はコマンド
setspn -L
で確認できます。C:\Users\Administrator>setspn -L 次の項目に登録されている CN=SARUTASV01,CN=Computers,DC=xxx,DC=xxx: HOST/PHENIX HOST/PHENIX.dc.nspc.nipponmyth.com ... ... `HOST/PHENIX`で始まる行が追加されていれば登録成功です。
ドメインコントローラー委任設定の[サービスの追加]ダイアログで、CNAMEレコードのPHENIXが選択できるようになります。
ファイルサーバーがKerberos委任に非対応
ファイルサーバーがKerberos委任に非対応の場合、ドメインコントローラーでの委任設定をしてもFileBlogで対象ファイルサーバーに接続することはできません。
フォームログイン認証の昇格
登録されたID/パスワードによりフォーム認証された状態に昇格させて、シングルサイオンを実現する仕組みで、統合Windows認証(またはSAML認証)の環境でもKerberos委任に非対応のファイルサーバーに接続できるようになります。
[管理ツール > 設定全般 > WEBサーバー > 認証 > 統合Windows認証]を選択します。
[WebServer/Authentication/Windows/RequirePostLoginElevation]を選択し、チェックを入れて有効化します。
[WebServer/Authentication/Windows/ElevationPasswordRetentionTime]を選択して昇格用パスワードを保持する期間を指定します。
[保存する]を選択してサービスを再起動します。
初回の統合Windows認証(またはSAML認証)に成功後、パスワード入力が求められます。
ここで入力したパスワードはFileBlogのデータベースに暗号化されて保存されます。
以降はパスワード入力なしにシングルサインオンになります。
ElevationPasswordRetentionTimeの指定期間が過ぎると登録情報は破棄されて、次回の接続時に再びパスワード入力が求められます。
パスワード入力画面には任意の情報(説明など)を表示させることもできます。