Windows Azure Active DirectoryでのSSO

Office365は、プランE・プランP共にディレクトリデータベースとしてWindows Azure Active Directoryを利用しています。Azure側は特に両者の区別はなく展開されており、利用するサービスが違うという扱いです。

この為、Windows Azure Active Directoryのポータルにサインオンすると、プランPとしてはサポートされていない(メニューに出てこない)シングルサインオンなどのメニューもプランE同様に表示されます。ここでは、Windows Azure Active Directoryを利用してADFSによるシングルサインオンをセットアップする手順を紹介致します。

ポータルにOffice365のアカウントを利用してサインインします。ポータルが表示された後は、メニューから独自ドメインを追加します。

手順はOffice365と同じです。ドメイン名を入力後に表示される ms=MSxxxxxxxx という値をそのドメインのTXTレコードに追加して、確認を行います。

追加後はそのドメインの用途を選択する画面になりますので、必要なサービスを選択します。続いてその独自ドメインをOffice365で利用する際に必要なDNSレコードが表示されます。後から再度表示させることもできますので、ここではDNSの設定はせずに先に進みたいと思います。

続いて、新たなメニュー「統合」を開き、「ディレクトリ同期」のメニューを開きます。ADFSの展開前に、まず最初に時間のかかる(経験上、数時間以上掛かる場合もあります)「アクティブ化」を選択します。選択後はバックグラウンドで処理が行われていますので、シングルサインオンの設定に進みたいと思います。

まず、ADFS2.0 RTWをダウンロードし、インストールします。ついでにADFS 2.0 RU2(KB2681514)もインストールしておきます。

ADFSの設定ウィザードに行く前に、準備(①必要な証明書をIISにインストールする ②ADFSの実行用アカウントを作成する)をしておきます。ウィザードは特に上記2つの設定が出るくらいです。デフォルトWebサイトを先に作成している場合、デフォルトWebサイトの構成で警告が出ますが、特に問題は無いので先に進みます。

続いて、ドメインでシングルサインオンを有効化します。前項でドメインを既に追加している場合は、Convert-MsolDomainToFederatedコマンドレットを、新規で追加したドメインをシングルサインオンとして構成する場合はNew-MsolFederatedDomainコマンドレットを使用します。ここでは、新規追加の場合を例に挙げておきます。

事前準備として、サインインアシスタントとWindows PowerShell用Microsoft Online Servicesモジュールをインストールしておきます。

Connect-MsolService
New-MsolFederatedDomain -DomainName contoso.com
New-MsolFederatedDomain -DomainName contoso.com

1回目のNew-MsolFederatedDomainコマンドの後に、所有確認用のDNSレコードが表示されますので、追加後に再度同じコマンドを実行します。このコマンド終了後、今回は同じマシンにディレクトリ同期もインストールしようと思っており、これが残っているとディレクトリ同期のインストールに失敗するのでサインインアシスタントを一回アンインストールします。

次に、ディレクトリ同期のインストールです。10/23現在、Windows Azure Active Directoryポータルからダウンロード可能なディレクトリ同期ツールは、残念ながら今年いっぱいでサポート終了が決まっている32bit版なので、64bit版をOffice365からダウンロードするのが良いと思います。

ディレクトリ同期ツールは、インストールに比較的時間はかかるものの、特に選択肢は無くそのまま終了します。また、ここでサインインアシスタントが同時にインストールされてます。同梱されているバージョンが単体で入手できる物より少し古いので、気になる方はWindowsUpdateでバージョンアップすると良いと思います。

一旦Office365のポータルに戻って、ディレクトリ同期が有効化されたことを確認してからディレクトリ同期の設定に入ります。

必要な情報は、Office365のインポート/エクスポートに利用するOffice365の管理者アカウントと、ADからの同期用アカウント(MSOL_AD_SYNC)の設定を行うのに必要なADの管理者アカウントの情報です。

と、ここまでの工程を実施すると、

プランP1のテナントでもディレクトリ同期やシングルサインオンができるようになります。
ちなみに、Windows Azure Active Directoryポータルを経由しなくても、直接PowerShellコマンドレット(Set-MsolDirSyncEnabled  -EnableDirSync $true)とかでも有効化できます。

ただし、プランP1のサポートはコミュニティサポートのみであり、コミュニティでは基本的にシングルサインオンなどは対象外となっているようなので、お試しの際はあくまで自己責任で実施されるようお願い致します。

Exchangeエンジニアから見たExchange Online比較

Exchange Onlineは、Exchange Server 2010をベースに構成されております。この為、基本的な機能はオンプレミスのExchangeと同じですが、細かい使い勝手で差分があります。

クラウドサービスであるOffice365を使う上では、導入前にその差分について十分検討し、Fit&Gapを行っていくことが重要です。機能一覧上は一見オンプレミスと同じだし、価格も安いので…というだけで導入を決めてしまうとあまり良い結果を生まないと思います。

ここでは、構築運用実績のあるExchangeエンジニアの立場として、オンプレミスのExchange 2010と比較した場合のクラウド(Office 365)のExchange Onlineについて、いくつかのポイントに絞って考えてみたいと思います。

詳細はExchange Onlineサービス詳細の巻末の機能比較表をご覧下さい。

①インターネット上にあるパブリッククラウドサービスである

    • インターネット接続が必要
      • クライアントから直接インターネット上の名前解決が必要
      • クライアントからインターネットへのIPルーティングが必要
    • 内部にメールサーバを置く場合に比べ、回線の帯域がより多く必要
      • 内部メールの送受信も経由する為
      • 1通のメールに複数の宛先や配布グループが含まれている場合の、展開後の個々での受信処理
    • 通常はPIPからGIPへのNAT(NAPT)が必要
    • URLは他のテナントと共有
      • 他テナントのExchange Onlineとドメイン上は区別が付かない。「インターネット上のWebメールサービスは利用不可」などのコンテンツフィルタルール不可

②シェアドサービスであり、設定変更(カスタマイズ)できる範囲に制限がある

    • アドレス帳のカスタマイズ
      • 階層型アドレス帳の利用不可
      • 分割やフィルタ不可(部門毎のアドレス帳の作成や、グループ企業利用の際の公開範囲を自社のみへの限定など)
    • 送受信コネクタのカスタマイズ
      • 匿名アクセスを許可した受信コネクタ(認証無しのSMTP接続が可能)の作成不可
      • システムメールの送信は認証無しでは不可(内部向けのみの場合は送信先をFOPEのアドレスにして外部メール扱いで対処するなど可能)
    • パブリックフォルダ
      • パブリックフォルダ利用不可
      • Outlook2003からのMAPI接続不可(予定表などの機能利用不可)
    • 閾値制御
      • 公平制御の為、送信速度や宛先数などに上限値の制限が掛かっている(一部SRにて緩和可能)
      • NW帯域がLANに比べると遅い。特にGB単位のデータ移行やコピーは経験上2GB/時間程度を目安にして、気長にやった方がいい。
    • ログファイル
      • メッセージ追跡ログやパフォーマンスモニタなど、サーバの生ログデータを利用した、メール関連の統計情報(送受信通数、サイズ、トラフィック量、内・外区分など)が取得できない
      • メッセージ追跡ログの取得期間の延長ができない
    • セキュリティ
      • 送信元のIPベースの制限不可
      • 別AD組織なので、シングルサインオンするにはADFSが必要
      • 証明書ベースの認証不可

③クラウドサービスであり、オンライン側で運用され、随時更新され

    • メジャーバージョン含めて、バージョンアップされる
      • メンテナンス事前告知は原則有る。仕様変更は全テナント完了後の場合が多い
      • バージョンアップなので基本的に改善
      • 変更したくない場合でも原則実施される
      • 要件に合わせてクライアントも随時バージョンアップする必要がある。場合によっては新規購入を含めた処理が必要。
    • コミュニケーション
      • メンテナンスは基本的に一方的な通知によって行われる。サービス断がある場合でも自社で定めたメンテナンスウィンドウなどの考慮は行われない
      • 故障発生時も同じく基本的にポータルにて通知される。故障問い合わせは受け付けて貰えるが、実際のデータセンタでの対応状況などの確認は困難
      • 電話での受付はあるが、オンサイトでの対応は原則不可
    • 随時サービス仕様が変わる
      • 接続先サーバーのURL、IPアドレスなどは仕様変更や収容変更、増設などによって随時変更される
      • IP情報は公開される。比較的頻繁に追加され、IPベースのフィルタ制御は推奨されていない

簡単に並べるとこんな所でしょうか?

これだけ書くと、デメリットばかり並べているように見えますが、これだけ多くのお客様がOffice365を導入しているという事例などを見ますと、代替案などを検討して上手く落としどころを作ったり、サービスの方に合わせて自社の運用を変えたり、割り切ったり…という決断をされたお客様は結構多いということなのではないでしょうか。

ディレクトリ同期ツールのアップグレード

Microsoftからアナウンスが有りましたが、ディレクトリ同期ツールの32bit版がサポート切れになるとのこと。年内に64bit版にアップグレードする必要が出て参りましたので、ここでは、簡単にディレクトリ同期ツールのアップグレードについてお話をさせて頂きたいと思います。

まず、基本的な説明から。ディレクトリ同期の32bit版を利用されている場合は、通常Windows Server 2008を利用されており、64bit版の導入に当たってはWindows Server 2008R2になる形となるかと思いますので、基本的にはOSごと入れ替えるという形になります。

詳細は以下の図で軽く説明をしておりますが、この入れ替えに際して、旧サーバで最後に行った同期から、新しいサーバで最初に同期を実施するまでの間にActive Directory上でオブジェクトの「削除」が行われると、Office365(Windows Azure Active Directory)上にゴミのオブジェクトが残ってしまいます。このオブジェクトはディレクトリ同期されている物と認識されてますので、ポータル等から削除できないオブジェクトとして残ってしまって消すのは結構大変です。※1

そこで、このリスクの生じる時間に関してはなるべく短くなるように計画し、かつドメインコントローラー間の同期間隔を考慮して、その周辺の時間はメンテナンス時間として確保してActive Directoryへの変更は行われないように運用対処するのが望ましいと思われます。

作業自体は簡単で、新規でのインストールとあまり変わりません。移行先として別の筐体という前提で簡単に手順を書きますと、

  1. 新しいWindows Server 2008R2の環境上でディレクトリ同期ツールをインストール
  2. 古いディレクトリ同期ツールが前回参照したドメインコントローラに、他のドメインコントローラの情報を手動同期
  3. 古いディレクトリ同期ツールで最後の手動同期を実行
  4. 新しいディレクトリ同期ツールで構成ウィザードを走らせ、初回の同期を実施する
  5. 旧サーバを撤去(必要に応じてディレクトリ同期ツールのアンインストールを行う)する

この工程の中で、ディレクトリ同期で利用する「MSOL_AD_Sync」アカウントのリセットが行われ、AD内でディレクトリ同期を行うことができるサーバが新サーバに切り替わります。また、終了後に再度Active DirectoryのオブジェクトとOffice365のオブジェクトのマッチングが実施されます。マッチングは、基本的には既に同期済みであり、キーとなるSourceAnchorが設定されていますので、特にこの間に変更が行われていない限りはハードマッチして元の状態になります。

同じ筐体を利用するということであれば、3番の後にOSをクリーンインストールして、ディレクトリ同期ツールをインストールするという形になるかと思います。

また、前に紹介したようなディレクトリ同期対象のフィルタなど、個別のカスタマイズ設定や、ローカルのMIIS_Adminsグループに追加したユーザは、当然新しいサーバになると全てクリアされますので、再設定が必要な場合は忘れずに実施するようにしましょう。

 

※1 ゴミが残ってしまった場合、放置しておくとそのオブジェクトで利用していたUPN、Emailアドレスなどの属性が再利用できなくなってしまうなどの弊害が残りますので、以下のいずれかの方法で削除する形となります。

  1. Active Directoryゴミ箱などから削除したオブジェクトが復活できる場合は、一度復活させて同期を行った後に、再度削除した後に再同期する(このタイミングでOffice365側からも削除される)
  2. そのテナントのディレクトリ同期を無効化する。この時点でオブジェクトの操作ができるようになるのでOffice365に残ったオブジェクトを削除し、Office365の削除済みユーザーからも削除する。その後、ディレクトリ同期を再度有効化する。ただし、この方法は有効化~無効化で2-3日以上掛かる場合が有り、かつその間にオブジェクトが更に削除された場合、今度はそのオブジェクトがゴミとして残ってしまう形となるので注意が必要。

【参考】
サービスに関する通知:【重要】32 ビットのディレクトリ同期ツールは 2013 年 1 月 1 日までに 64 ビット版に切り替えてください
ディレクトリ同期ツールをアップグレードする

Microsoft MVP(Office365)受賞しました

10/1に通知があり、Microsoft MVPをOffice365のカテゴリで受賞させて頂いたとのこと。

これも、いつもblogを見に来て下さっている皆様や、勉強会などの場を提供頂いている方々のおかげだと感謝しております。今後も、blogにコミュニティに、皆様に役立つ情報を発信していきたいと思いますので、よろしくお願い致します。


2012.10~

受信トレイルールのクォータ容量の拡張

BPOS-S ではSRで受信トレイルールの上限値を増加することが可能でしたが、Office 365では当初64KBに上限値が設定され、その上限値を上回る受信トレイルールを作成することはできませんでした。

この為、作成の仕方によっては(例えば、多数のメルマガを受信していてそのメルマガ毎に専用のフォルダに振り分ける、ある条件に合致したメールを特定の携帯などのアドレスに転送する、などの使い方などをされている場合)、この上限値に引っかかって新規で受信トレイルールを作成できなくなることがございました。

Office365サービスの改訂により、PowerShellが利用可能な場合、この制限を管理者が緩和できるようになったようなのでやり方を紹介します。

Set-Mailbox username@contoso.com -RulesQuota 256KB

このコマンドにより、username@contoso.comの受信トレイルールのクォータサイズが標準の64KBから最大値(256KB)に拡張されます。単純に計算して4倍の受信トレイルールを作成することが出来るわけです。

なお、テナントによってはまだ実施できない可能性も御座いますので、その場合は修正が適用されるまでお待ち下さい。

Windows Azure Active Directoryポータル

先日の投稿で、Office365がWindows Azure Active Directoryサービスをバックボーンとして利用しているという話をいたしました。

プレビュー版ですが、管理画面に入れるようになっているので早速確認してみました。アクセス先は以下のアドレスです。Office365にアクセスしてから開くか、直接Office365で利用しているID、PASSを入力してログオンするかです。

https://activedirectory.windowsazure.com/

各サービス毎の見た目は以下の通りになります。Windows Azure Active Directoryが根幹にあって、そこから契約している各サービス・機能へのリンクが張られている感じですね。

プランP1のテナント

プランE3のテナント

(新)Office365 Enterpruseテクニカルプレビュー

Office365のADがAzure ADに

9月に入って、ディレクトリ同期ツールからのメールが少し変わりました。とはいえ、内容自体に変わりは無く、送り元の署名が「Microsoft Online Servicesチーム」から「Windows Azure Active Directoryチーム」に変わりました。

特にサービスとしても差は無いように見えますので、Office365で利用していた基盤を共通化してWindows Azure Active Directoryというサービス名称で切り出したということでしょうか。

(前)

 

(後)

ちなみに、このチームからのメールは、

  1. ディレクトリ同期が24時間実施されなかった場合【日時で送信】
  2. ディレクトリ同期の際にオブジェクトが作成または更新できなかった場合
  3. シングルサインオンで利用している証明書の期日が近づいてきた場合(約1~2ヶ月前)

などに送信されてきます。オブジェクトの重複チェックで引っかかって更新できなかった場合など、障害内容の特定に非常に役に立つ内容になってますので、会社の設定の欄の技術担当者の電子メールアドレスは、随時受け取りが可能なアドレスをちゃんと記載しておくと良いかと思います。

【新機能】パスワード有効期限ポリシーの変更

Office365では、オンプレミスのActive Directory同様、デフォルトで「有効期限:90日」のパスワード有効期限のポリシーが定められており、当初はこちらを変更することはできませんでした。(このポリシーに合わない場合は、「無期限にする」という選択肢しかありませんでした。)

また、Outlookを利用している場合、パスワードの期限切れが近づいた場合にユーザーにそれを通知する機能がありましたが、こちらの通知期間もデフォルトで14日前からとカスタマイズはできない固定値でした。 【参照】Outlook パスワードの有効期限切れ通知

この夏(8月頃)のサービス更新でこちらの両方のパラメータをドメインごとに変更できるように改善されましたので、今回はこちらを紹介します。同じサービスでも、提供期間内にこういった改善事項がどんどん実装されていくというのはクラウドサービスならではですね。

こちらの変更ですが、PowerShellから実行をします。(一時期は管理者ポータルの画面から設定できたように記憶をしているのですが、現時点では確認できませんでした)

Windows PowerShell 用 Microsoft Online Services モジュールをインストールしている環境から、以下のコマンドを実行します。

$LiveCred=Get-Credential
Connect-MsolService -Credential $LiveCred
Set-MsolPasswordPolicy -NotificationDays xxx -ValidityPeriod yyy -DomainName contoso.onmicrosoft.com
Set-MsolPasswordPolicy -NotificationDays xxx -ValidityPeriod yyy -DomainName contoso.com

推察はできるかと思いますが、xxxにパスワード期限切れの事前通知期間を、yyyにパスワードの有効期限を設定します。設定可能な値は、xxx:7(1週間前)~60(2か月前)かつyyy以下 yyy:7(1週間)~1000(約3年間)です。

また、設定はドメインごとに実施をする必要があります。ドメインによってポリシーを変える(例えば関連会社を同一テナントに入れている場合など)ことも可能です。

なお、ここで以前の値より有効期限を短くした場合、このカウントは「そのユーザーが前回パスワードを変更した日」からの日数になりますので、ポリシーを変えた瞬間に期限切れになる可能性がございます。Webからのアクセスであればパスワード変更画面に飛ばされるのでさほど問題はないですが、POP/IMAPやActiveSyncなどは突然接続できなくなるように見えるので、短縮する場合はご注意ください。

Lync Online構成のDNSレコード(再変更)

 

昨年の11月頃、こちらの記事で紹介させて頂いた通り、Office365の管理者ポータルのドメインメニューから表示されるDNSレコードの構成要件が変更になりました。

おそらく先月くらいからだと思うのですが、こちらの表示が少し変わったように思えます。

_sip._tlsのSRVレコードの行が復活し、しかも微妙に表示がずれています。これは、プランPの方でも同じ表示になっています。

最近は特に_sip._tlsのレコードは明示的に追加はしていないのですが、もし問題が発生したら追加してみようと思います。

(9/5追加)
コミュニティで回答がありました。Lync AttendeeクライアントがSIPのAレコードは認識せずにSRVレコードのみ対応しているため、それ用に必要なレコードだそうです。

なるほど、そういえば微妙にLyncとLync Attendeeの挙動が違う環境があると思ってましたが、AttendeeはSRVレコードのみ(=Proxy非対応でIEの設定の影響を受けない)なのですね。

【参照】
Lync Online の会議に Lync Attendee クライアントを利用して接続できない

.NETラボ勉強会(9月)

9/22に実施される.NETラボさんの勉強会に、MVP for Directory Servicesである国井さんと一緒に「ADFS/Office365連携の紹介」のタイトルで登壇させて頂くことになりました。

内容の詳細はこれから詰めるのですが、私のパートの方はOffice365のADFSの運用やトラブルシュート関係(おそらく、今であれば証明書周りになると思いますが)にしようかなと思ってます。

FIMのハンズオン(GoogleAppsとのシングルサインオン環境構築)も有りますし、凄い豪華な内容になっています。まだ申込みは始まってないようですが、興味のある方は是非参加頂けると幸いです。