Office 365 (beta) を ADFS 2.0 フェデレーション認証に対応させる

ちょっと触ったので個人的メモです。

 

Office 365でカスタムドメイン(自社ドメイン等)を使用する際の手順ざっくりです。今はベータなので、本リリース時には変わるかもしれないので注意。

カスタムドメインを使用する場合、なんでも登録OKではなく正しくそのドメインの所有者であるかが求められます。
正しくドメインの所有者かどうかというのは、ようはそのカスタムドメインを管理しているDNSに対し変更することができるかを見られます。
まぁMXレコード云々もありますし、仕組み上ドメインにいろいろレコード登録が必要なのですよね。
というわけでベータテストといえどもカスタムドメインを利用してそれっぽくするにはグローバル側の下準備や環境も必要です。このあたりの手間はどうしようもないですね。

※カスタムドメインでなく、Office 365で既定で設定される第3レベルドメインをそのまま利用するのであれば、このあたり気にしなくても評価可能です。ただし、カスタムドメインを設定しないとADFS連携などはできません

その他の情報としてはIdM実験室さんが纏められていますので、そちらを参照ください。

前提条件としてある、「オンプレミスのActive DirectoryのUPN属性の値がインターネットから名前解決できる必要がある」が結構なネックですね。
ADのFQDNはなかなか変更しにくいですし、UPNの追加はまだ影響度が低いですがそれでもどこに影響がでるか見えにくい部分ではあります。。

とりあえず今回はこのあたりも考慮して以下のような構成を想定して話を進めます。

オンプレのActive DirectoryにADFSを追加し、利用しているUPNをそのままOffice 365で設定するようにします。

では実際に設定していきましょう。

 

ドメインの設定

詳細:ドメインを Office 365 Beta に再デリゲートする

まずUPN等で使用しているドメイン名をOffice 365のカスタムドメインとして設定します。通常Office 365で設定されるドメインは <登録した名前(かな)>.onmicrosoft.com なので、こちらを利用せずに自社ドメインを追加する形になります。(既定のこのドメインは削除等できません。またベータ時なので正式リリース時はドメインが変わるかも)

  1. Office 365の管理ポータルに管理者でサインインし、トップのナビゲーションから「管理」を選択後、左側のナビゲーションから「ドメイン」を選択します。
  2. 「ドメインの追加」を選択し、対象のカスタムドメイン(FQDN)を入力します。完了後、ドメインの確認ボタンをクリックして次に進みます。
  3. DNSレコードの追加情報が表示されるので、表示されている内容をカスタムドメインを管理しているDNSサーバー上にCNAMEレコードを登録します。

    CNAMEレコード追加後、DNSの構成によっては反映に時間がかかる可能性があります。
    その後確認ボタンをクリックして確認処理を行います。

  4. 問題が無ければ確認された旨が表示されます。
  5. 次にカスタムドメインに必要なレコードを構成します。画面に表示されるレコードをカスタムドメインのDNSサーバーに登録します。

     

    ※ちなみにこのDNSレコードはクライアントがOffice 365に接続する際に参照するレコードだったりするので、外部DNSだけでなくクライアントが参照する内部(通常Active Directoryが使うDNS)にも登録しておきます。まぁこのあたりは構成に合わせてご自由に。

  6. 以上でドメインの構成は完了です。確認が完了していると、ドメインの一覧で状態がアクティブになります。

 

ADFS 2.0 のセットアップ

ADFS 2.0をセットアップします。
詳細はこちらの記事を参照していただくとして割愛。(基本的にEnter叩くだけです)

ADFS 2.0をセットアップすると自動でIISも入ります。次にADFS 2.0で使用するHTTPS通信用の証明書を作成します。(今回は自己署名で)

こんな感じでサクッと作成しましょう。(参考:過去の記事

makecert -r -pe -n "CN=<adfsサーバーのFQDN>" -sky exchange "samplecert.cer" -sv "samplecert.pvk"
pvk2pfx -pvk "samplecert.pvk" -spc "samplecert.cer" -pfx "samplecert.pfx" -pi 秘密キーのパスワード

作成後できあがった証明書(.pfx)をIISにインポートします。※また実際にクライアントからもADFSにアクセスしにきますので、この証明書はクライアントPC上で「信頼されたルート証明機関」とかにも入れておきましょう。

次にADFS 2.0 管理ツールから構成ウィザードを使用して構成します。設定項目としてはスタンドアロンで構成、SSL証明書には先ほどインポートしたものを指定します。

 

 

RPの設定等はMicrosoft Online Services IDフェデレーション管理ツールのCmdletがやってくれますので、このままおいて次へ。

Microsoft Online Services IDフェデレーション管理ツールのインストールと設定

詳細:Microsoft Online Services ID フェデレーション (連携) 管理ツールをインストールして構成する

まず最初にADFSサーバー(というよりはMicrosoft Online Services IDフェデレーション管理ツールを実行するコンピューター)にMicrosoft Online Services Connectorをインストールします。
これインストールしないとSet-MSOLContextCredentialが失敗するので注意が必要です。(前提条件がどこにも書いてない(トラブルシュートには記載があるが…)

インストールと構成そのものはすごく簡単です。(構成といってもサインインアシスタントツールを追加インストールするぐらい)

さて次にMicrosoft Online Services IDフェデレーション管理ツールをインストールします。

インストール後、管理者権限でデスクトップにできたショートカットを実行して下記Cmdletを順番に実行します。

  1. $cred=Get-Credential
    コマンド実行後、Office 365の管理者アカウントのIDとパスワードを入力するダイアログが表示されますので入力します。
  2. Set-MSOLContextCredential -MSOLAdminCredentials $cred
    このコマンドでADFSサーバーに必要な構成を行います。エラーなく完了した後、ADFS管理ツールをみると以下のようにMicrosoft Federation GatewayがRPとして追加されます。
  3. ADFSの構成が無事完了すれば、以下のCmdletを実行してOffice 365側をフェデレーション認証を利用するように設定変更します。
    convert-MSOLDomainToFederated –DomainName <カスタムドメインのFQDN>
  4. 1~3まで完了後、Office 365側でIDフェデレーションがアクティブ化されていることを確認します。(しばらく時間がかかる可能性があります)

もしうまくいかない場合は以下のKBを参考に。

ちなみに日本語のOffice 365オンラインヘルプおよび出回ってると思われるOffice 365の日本語資料に記載されてる Convert-MSOLDomainToConverFederated は間違いです。現時点では convert-MSOLDomainToFederated なので注意ください!見つかりません言われて検索したらCmdletが違ってたでござる。(英語ヘルプはアップデートされてるので大丈夫)

また設定結果は下記Cmdletを実行することで確認可能です。

Get-MSOLFederationPropert

フェデレーション認証が有効になればあとはOffice 365側のユーザーのUPNをカスタムドメインに設定します。ここでは記載しませんが、Active Directoryと同期をとってもいいですね。(今回は個別に作成してドメインを設定します)

 

動作確認

これまでの手順でフェデレーション認証ができる土台ができました。実際にOffice 365のポータルサイトにアクセスして、パスワード入力なしでログインできることを確認してください。

またMicrosoft Online Services Connectorをインストールした端末であればLyncやOutlookも自動ログオンで起動することができます。(※ただおいらがテストしたケースだとOutlookさんがうまく認証できませんでした…どっちの問題か不明)

 

 

UPNを入力するとパスワード欄がグレーになり、サインインリンクをクリックするだけでログインできます。

 

 

Microsoft Online Service Connectorを入れて構成するとサインインアシスタントも入ります。

IDは自動的にログインユーザーのUPNが入っています。

 

ID入力・パスワード入力なしでログオン

 

まとめ

細かなADFSの構成をしてあげないといけないのか?と思っていたのがコマンド一発だったので、意外とすんなり構成できました。
ただ外部公開しているDNSにレコード追加が必要など、お手軽にテストするとかはできないのがつらいですね。
また現在BPOSでカスタムドメインを利用している場合は同じドメインをOffice 365で利用できない(併用できない)ので注意が必要です。(検証目的の場合はドメインも変えてテストが必要です。本運用しているBPOSと同じ環境でOffice 365+ADFS連携の評価は難しいでしょう)

今回構築した環境はイントラ内からのアクセスにしか対応していません。というのも外部アクセス時にもフェデレーション認証を行う場合、ADFSサーバーにアクセスできないといけないのでプロキシ等でADFSを外部公開する必要があります。また未検証ですがMicrosoft Federation Gateway(Office 365が利用するRP)が見る証明書は結構シビアなようで、自己署名だとNGらしい。。(これも未検証ですが発行したCAが見れてればいいのであればAD CSも外部公開しちゃうとかいう荒技使えないですかね…)

まぁ正式リリース時にはもう少しドキュメントも充実してやりやすくなるかと思います。。。

Office 365 (beta) を ADFS 2.0 フェデレーション認証に対応させる」への8件のフィードバック

  1. ピンバック: Tweets that mention Office 365 (beta) を ADFS 2.0 フェデレーション認証に対応させる « ブチザッキ -- Topsy.com

  2. Outlookは、Basic over SSL経由での認証になり、ADFS Proxyが必要とのことです。ベータ終了後、Win7+OL2007/2010は直接接続できるようになるようです。http://p.tl/dflx

    • イントラからの接続なのにADFS Proxy必要だったんですね~。正式リリース待ちます。情報ありがとうございます。

  3. 返信ありがとうございます。あと、上記手順の中にIEのセキュリティのゾーン設定が必要になりませんか? 私はADFSのサービスアドレスと*.microsoftonline.comをイントラネットゾーンに、信頼済みサイトに*.outlook.comを入れたりしています。たぶんユーザ認証の所で「イントラネットゾーンでのみ自動的にログオンする」っていう既定レベルのせいだと思うのですが。

    • 忘れてるだけかもしれませんが、特に設定をした覚えがないです。
      私が試した環境だとクライアントPCがADFSと同じADドメインに参加しててドメインユーザーだったから、というのもあるかもしれません(=何もせずイントラネットゾーンでWindows認証だった)
      ゾーンの設定は嵌るポイントですよね。

  4. ピンバック: Office 365 を ADFS 2.0 認証で構成する « MShigeta's Weblog

  5. ピンバック: Office365を独自ドメインで利用する « 日々徒然

  6. ピンバック: Office365を独自ドメインで利用する | 日々徒然

コメントを残す