Jack of all trades

master of none. 多芸は無芸を地で行く、自作自演何でも屋。

【Office365】構成済みのフェデレーション環境でADFSサーバーだけ破壊してしまった時の対応

いつぞやと同じく業務備忘録です。実際に行った手順ベースであり、完全に裏を取り切れていない部分も含まれています。むしろ最適解があれば積極的に伺いたいスタンス。

Office365に対してシングルサインオンできるようにADFSによるフェデレーション環境を構築している環境*1があり、此度はADFSサーバーを破壊しました。破壊しただけでは飽き足らず、復旧のチャンスでもチョンボしたため完全にADFSの再構築と相成りました。頭から尻尾まで自業自得。

幸い(?)なことに、破壊したのはADFSサーバーのみであり、ADサーバーやOffice365側の設定等々に影響は無かったため、フェデレーション環境の構築を1から10までやる必要はなく、ほぼほぼADFSサーバーの再構築のみで済みました。

Office365に対するフェデレーション環境の構築は以下の自習書を参考にして構成しているのですが、上記の通り、ADFSサーバーを破壊しただけであれば、これの一部を実施するだけで復旧できるので、必要な部分をピックアップしてまとめておきます。

Download Microsoft Office 365 自習書 AD FS によるシングル サインオン環境構築ステップ バイ ステップ ガイド from Official Microsoft Download Center

SSL証明書の設定

自習書での該当箇所は「11.1 SSL証明書(サーバー証明書)の発行」から「11.3 SSL証明書の設定」です。

差し当たりIISをインストールし、IISマネージャーのホームから「サーバー証明書」に進み、右サイドのメニューから「証明書の要求の作成」を選択します。

f:id:sadynitro:20150401124455p:plain f:id:sadynitro:20150401124512p:plain f:id:sadynitro:20150401124041p:plain

「証明書の要求の作成」での詳細な手順については割愛。自習書を参照してください(前提として一度構築済みの環境を再構築する、という状況もあるので)

その後、発行された証明書を取り込むため、同じく「サーバー証明書」のメニューから「証明書の要求の完了」を選択します。

f:id:sadynitro:20150401124109p:plain

証明機関から発行された証明書のファイルを選択して取り込みを完了します。
(ちなみに今回は要件として問題なかったので、自前のWindowsServerの証明機関から発行したオレオレ証明書を使ってます)

ADFSのセットアップ

自習書での該当箇所は「11.6 AD FSのセットアップ」です。が、Windows Server 2012 R2では自習書と画面が大きく違うのでここではスクリーンショット多めでお送り致します。

サーバーの役割の追加から「Active Directory Federation Services」をインストールします。 f:id:sadynitro:20150401201624p:plain

ADFSのインストール完了後にそのままフェデレーションサービスを構成します。 f:id:sadynitro:20150401201632p:plain

ウィザードに従ってポチポチ進めていきます。特に引っかかるところはないかと思います。 f:id:sadynitro:20150401201642p:plain f:id:sadynitro:20150401201652p:plain f:id:sadynitro:20150401201657p:plain f:id:sadynitro:20150401201707j:plain f:id:sadynitro:20150401201713p:plain f:id:sadynitro:20150401201718p:plain f:id:sadynitro:20150401201722p:plain

フェデレーションドメイン構成の更新

自習書での該当箇所は「11.8 Microsoft Online Services Sign-In Assistantツールのインストール」から「11.10 フェデレーションドメインの有効化」です。
順番にAssistantツール、Azure PowerShellをインストールして、Azure PowerShell上でコマンドを実行するだけの簡単なお仕事。最後のフェデレーションドメインの有効化は既に構成済みのドメインを更新するため、実行するコマンドが自習書に記載されているものと多少違います。

$cred = get-credential
Connect-MSOLService –credential:$cred
Set-MSOLADFSContext –Computer:<ADFSのServer名me>
Update-MSOLFederatedDomain –domainname:<Federated Domain Name>

今回のパターンではADFS用のドメインユーザーの作成やらAzureとの同期やら、AD側の設定は生き残っていたためこれだけで済みました。 不運にも同じケースに遭遇した方は、絶望せず、手順を順番に踏んでいけば割とサクッと復旧できますのでご安心ください。