Windows Server 2019 ADFSのインストール

Windows ServerにはADFSというフェデレーションを実施する機能が標準搭載されています。

フェデレーションというのは日本語で認証連携と訳され、ADの認証情報を用いてほかのシステムの認可を受けるというやつです。

facebook周りのエコシステムでよく見る、認証はFacebookID、情報のやり取りは個別システム。というのをActive Directory基盤上で実施してくれる有意義な仕組みとなっています。

AzureADとのフェデレーションができるので、そのことが注視されがちなのですが、ほかにもWindows Hello for businessの実装など様々な用途が考えられるので、インストールしていってみたいと思います。

まずは役割と機能の追加ウィザードで。

f:id:mohessu:20190804003031p:plain

インストールの種類は役割ベース、機能ベースですね。

f:id:mohessu:20190804003040p:plain

今回はWindows Server 2019ですが、2012でも、2016でもインストールではほとんど変わりません。 

インストールするサーバーを選択します。

f:id:mohessu:20190804003116p:plain

続いてサーバーの役割を選びます。
一番上にあるActive Directory Federation ServicesがADFSですね。 

f:id:mohessu:20190804003148p:plain

今回のADFS導入時は特にポップアップダイアログはありませんでした。
そのまま機能に進みましょう。機能も前提ではじかれなければそのまま進む形で問題ないかと思います。

f:id:mohessu:20190804003207p:plain

次がADFS特有の設定となります。
ドメイン参加が必要な件と、外部からアクセスするためのWAPは同居できない旨が記されています。

なぜかここにAzureADの件が記されていますが、この辺りがAzureAD向けの機能と誤解される理由な気がします汗 

f:id:mohessu:20190804003248p:plain

設定などはインストール後となるため、そのまま進んでいきましょう。 

f:id:mohessu:20190804003300p:plain

インストール自体は10分程度で完了します。
最近はコンポーネントが分割されているからか、インストールに時間がかからなくなって良いですね。

続いてフェデレーションを行うための設定へ。

サーバーマネージャーの上部に「!」が出ているので押下すると、構成のリンクが出ているので押しましょう。

f:id:mohessu:20190804003745p:plain

ADFSの構成ウィザードが立ち上がります。
管理者アカウントと証明書が必要なようなのでそれぞれ用意しておきましょう。
証明書は公的証明ではなくてもよく、私は事前に作成したADCSのものを利用して建てました。(そのためのADCSだったのでした!) 

f:id:mohessu:20190804003812p:plain

まずはドメイン管理者の情報入力です。
初期状態ではログインユーザーが記されていますが、権限を持っていない場合は変更していきましょう。 

f:id:mohessu:20190804004049p:plain

次に証明書の設定です。
ログイン者の個人ストアに証明書が組み込まれている場合はドロップダウンで表示できます。外部からカギ付き証明書を入手している場合はインポートを行っていきましょう。

証明書のCNとサービス名は一致している必要があるため、そのあたりも注意です。
さらにログイン画面に表示する文字を入力します。例では組織名のようになっていますが、特にWAPなどで外部公開している場合は誰でもログイン画面が見えてしまうので、そのあたりを意識して表記を決めましょう。

f:id:mohessu:20190810101927p:plain

続いてサービスアカウントの決定です。
KDSルートキーを設定しないとGMSAが利用できないというアラートが出ています。
GMSAを利用するとサービスアカウントの作成が簡単になるので利用していきたいと思います。

f:id:mohessu:20190810102029p:plain

というわけでADサーバーに入り、以下コマンドを入力します。

Add-KdsRootKey -EffectiveTime (Get-Date).AddHours(-10)

EffectiveTimeを-10しているのは、標準で10時間後から有効になるコマンドとなっているためです。これはAD間のレプリケーションが実施されるのを見越した時間とのことですが、数台のADであれば強制同期かけてしまえばよいので微妙な10時間になっていると思います。

f:id:mohessu:20190810111415p:plain

この設定ができればパスワードが自動管理されたアカウントを利用できるので、今回もこれを利用していきます。

f:id:mohessu:20190810102412p:plain

次はADFSのデータ格納DBです。
複数台のファーム構成で組む場合、SQL Serverを選択します。
WIDの場合は同期が5分間隔になるため、そういったケースを意識しておく必要が相rます。

f:id:mohessu:20190810102427p:plain

これで設定は完了です。
次へ進むとインストール前のチェックとなります。 

f:id:mohessu:20190810102539p:plain

KDSRootKeyコマンドを実行してから時間がたっていないため、注意喚起が出ています。
これはできれば早めに設定しておきたいところですね。 
ほかに問題がなければそのまま構成していきましょう。

f:id:mohessu:20190810111514p:plain

KDSルートキーがうまく適用されていない場合、以下のエラーが表示されます。
この場合は先のPowerShellコマンドを実行してください。

f:id:mohessu:20190810111542p:plain

構成は10分程度です。

サーバー再起動とSSL証明書代替名がない旨のエラー、証明書にUPNがない旨のエラーが表示されました。
これらは今後重要になるはずなので、証明書の修正が必要ですね。
ファイアウォール規則も見直しを行いましょう。443と49443が重要ポートです。(証明書に代替名があれば443のみとすることができます)

f:id:mohessu:20190810112056p:plain

証明書の作成は別途行う必要がありますが、証明書の変更は以下のコマンドで実行します。 

Set-AdfsAlternateTlsClientBinding -Member ADFSServer -Thumbprint '拇印'

 

f:id:mohessu:20190810133726p:plain

拇印の確認は以下のコマンドで行えます。
導入したいものを選び、設定していきましょう。

Get-ChildItem Cert:\LocalMachine\My

f:id:mohessu:20190813235315p:plain

音楽:Jig