ADFS環境下のOffice365のDRについて

3/11の震災をきっかけにして、DR対策の一環としてOffice365を検討されている方も多いかと思います。確かにOffice365自体はアジア圏の2地域(シンガポールと香港)にサーバが有り、地域的には十分な冗長性が確保されているのではと思います。

ただ、アクセス制御などの目的でAD FSを入れる構成とした場合、Office365へのインターネットアクセスの他に、いくつか接続性を確保する必要が出てくるポイントがあります。

A.内部ユーザ向け(ブラウザ・Lyncのみ、メーラーはBも必要)には

  1. 内部DNS:イントラネットからのアクセスをAD FSに振るために必要
  2. AD DS:Active Directoryドメインサービス(ドメインコントローラ)
  3. AD FS:Active Directoryフェデレーションサービス

B.外部ユーザ向けもしくはメールクライアントには

  1. 外部DNS:インターネットからのアクセスをAD FS Proxyに振るために必要
  2. AD FS Proxy
  3. その他、Aと同じサーバ

ならびにそれぞれが相互に通信するために必要なLAN、WANの疎通性が確保できている必要があります。

震災ならびに計画停電においては、今まで必要と言われていた様な単体のサーバとしての冗長性の確保が取れていたとしても、拠点ごと、あるいは地域丸ごと落ちてしまった為に利用が出来なくなってしまうシステムが多く発生しました。

もちろん、上記のA,Bの各機器のDR構成を地理的にも離れた信頼性の高いDCなどにNW回線も含めてDR構成を取れるのは一番良いですが、平常時の同期や実際の切り替えのオペレーションを含めると、シングルポイントを完全に無くすのは実はかなり難しいように思えます。(そもそも東京23区エリアが全断すると多くのインターネットやVPNなどの接続性が失われますしね。)

そこで、今回は有事の時のため、Office365を一時的にフェデレーションIDではなくクラウドID(Office365側でID、Passwordを管理)に切り替える方法について考えてみます。

ドメインの役割をフェデレーションからスタンダードドメインに変更するには、PowerShellからConvert-MSOLDomainToStandardコマンドレットを使用します。

AD FSならびにAD DSへの接続が取れているのであれば、AD FSサーバ上から以下のコマンドレットを実行することにより、そのドメインの全ユーザをAD FS不要な形に変更可能です。

Import-Module MSOnline
$LiveCred = Get-Credential
Connect-MsolService -Credential $LiveCred
Set-MsolADFSContext -Computer adfs-farm01.example.com
Convert-MSOLDomainToStandard -DomainName example.com -PasswordFile c:tmp_msolpass.txt -SkipUserConversion $FALSE

このコマンドを実行すると、フェデレーションドメインだったexample.com配下のユーザが、Office365側でID/PASS認証を行う通常のユーザに変換されます。また、c:tmp_msolpass.txtに仮パスワードが格納されます。

このパターンの場合は、AD DS/AD FSにアクセスできるという状態ではありますので、この初期パスワードをユーザに送付するなどの対応は可能ではないかと思います。この初期パスワードの生成には比較的時間がかかる(25ユーザでテストした際には30秒弱掛かりました)ので、後で他のルールに従った仮パスワードに変更するなどであれば、-SkipUserConversion  $trueの方が良いかもしれません。

元に戻すには、最後のところでやったConvert-…コマンドの逆の物をAD FSサーバ上で実行します。

Convert-MsolDomainToFederated -DomainName example.com

これにより、AD FSサーバの設定内容ならびにOffice365側のドメインの情報が更新され、再度Active Directory連携の形で認証が実施されるようになります。

ユーザに仮パスワードを送る手段が無いことが想定される場合は、ユーザに対して有事の際は例えば「”Pass”+社員番号」「会社英語略称+誕生日」など、自分であれば生成できるが他の社員からはすぐには分からない様な初期パスワードを生成できるようにリストを管理しておき、ユーザにはその旨利用教育の際に周知しておくというのも良いかもしれません。

問題なのはこのコマンドがMicrosoftが気を遣ってなのか、Office365へのドメイン情報の変更と一緒にAD FS側のフェデレーション情報の削除までやってしまおうとするので、社内サーバに対してのコネクティビティが無いようなスタンドアロンの環境だとコマンドレット(正確にはConvert-MSOLDomainToStandardを実行する前提であるSet-MsolADFSContext)が実行できないということです。

実は他のドメインのAD FSサーバの環境下からでも実行はできるので、どこかに有事のオペレーションごと委託しておくというのは可能かもしれませんね。実行したAD FSのサーバの環境は壊れるので再設定が必要ですが、どうせ踏み台の様な物だと思っておけば良いでしょうし…

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です