Office 365 Exchange Online と Exchange 2010 とのハイブリッド環境で、O365 側からオンプレミス ユーザーの空き時間や予定表が見えないという問題が発生しました。
情報探ると、非常に多岐にわたり原因が考えられるようで、Microsoft の KB も多数あり、同様の問題にあたっている人が多くいることがわかりました。
以下の KB 等を参考にしながらトラブルシュートしていきましたが、なかなか解決できずにいました。
TITLE : オンプレミス Exchange Server と Office 365 Exchange Online のハイブリッド展開で発生する空き時間情報 (Free/Busy) に関する問題のトラブルシューティング方法
URL : http://support.microsoft.com/kb/2555008/ja
TITLE : Office 365 環境において、Office Outlook 2007 および Outlook 2010 において他のクライアントの空き時間情報の表示ができない場合のトラブルシューティング方法
URL : http://support.microsoft.com/kb/2581088/ja
TITLE : オンプレミス Exchange Server と Office 365 Exchange Online でハイブリット展開されたリモート ユーザーの空き時間情報を表示することができない
URL : http://support.microsoft.com/kb/2667844/ja
TITLE : Users from a federated organization cannot see the free/busy information of the local Exchange Server 2010 organization
URL : http://support.microsoft.com/kb/2752387/en
TITLE : Office 365 Exchange Online とオンプレミス Exchange Server のハイブリッド展開でクロスプレミスの予定表を編集できない
URL : http://support.microsoft.com/kb/2807149/ja
TITLE : ハイブリッド環境またはクロスプレミス環境で発生するエラー: “Free/Busy information couldn’t be retrieved because the attendee’s Mailbox server is Busy.”
URL : http://support.microsoft.com/kb/2838688/ja
TITLE : Office 365 のユーザーは、Exchange Server 2010年ベースのハイブリッド展開でのオンプレミスのユーザーの空き時間情報データを取得できません。 (機械翻訳ですが、英語版ページが表示できませんでした。)
URL : http://support.microsoft.com/kb/2879736/ja
TITLE : クロスプレミス環境または Exchange ハイブリッド展開組織のユーザーの空き時間情報参照機能が動作しない
URL : http://support.microsoft.com/kb/2928514/ja
/autodiscover/autodiscover.svc/WSSecurity へのアクセスで O365 User の認証が通らなかったので、認証まわりの問題であることがわかり、はじめは負荷分散装置の設定を疑いましたが、いろいろ確認しても問題はなさそうでした。
そこで、Try and Error で Exchange 2010 側の設定をいろいろやっていく中で、EWS の -DigestAuthentication を $True にして iisreset したところ、解決することができました。
## 設定変更前の状態確認
Get-WebServicesVirtualDirectory | FL *auth*
CertificateAuthentication :
InternalAuthenticationMethods : {Basic, Ntlm, WindowsIntegrated, WSSecurity}
ExternalAuthenticationMethods : {Basic, Ntlm, WindowsIntegrated, WSSecurity}
LiveIdSpNegoAuthentication : False
WSSecurityAuthentication : True
LiveIdBasicAuthentication : False
BasicAuthentication : True
DigestAuthentication : False
WindowsAuthentication : True
CertificateAuthentication :
InternalAuthenticationMethods : {Basic, Ntlm, WindowsIntegrated, WSSecurity}
ExternalAuthenticationMethods : {Basic, Ntlm, WindowsIntegrated, WSSecurity}
LiveIdSpNegoAuthentication : False
WSSecurityAuthentication : True
LiveIdBasicAuthentication : False
BasicAuthentication : True
DigestAuthentication : False
WindowsAuthentication : True
## 設定変更 (この設定後に解決を確認)
Get-WebServicesVirtualDirectory | Set-WebServicesVirtualDirectory -DigestAuthentication $True
iisreset /noforce
## 設定変更後の状態確認
Get-WebServicesVirtualDirectory | FL *auth*
CertificateAuthentication :
InternalAuthenticationMethods : {Basic, Ntlm, Digest, WindowsIntegrated, WSSecurity}
ExternalAuthenticationMethods : {Basic, Ntlm, Digest, WindowsIntegrated, WSSecurity}
LiveIdSpNegoAuthentication : False
WSSecurityAuthentication : True
LiveIdBasicAuthentication : False
BasicAuthentication : True
DigestAuthentication : True
WindowsAuthentication : True
CertificateAuthentication :
InternalAuthenticationMethods : {Basic, Ntlm, Digest, WindowsIntegrated, WSSecurity}
ExternalAuthenticationMethods : {Basic, Ntlm, Digest, WindowsIntegrated, WSSecurity}
LiveIdSpNegoAuthentication : False
WSSecurityAuthentication : True
LiveIdBasicAuthentication : False
BasicAuthentication : True
DigestAuthentication : True
WindowsAuthentication : True
確認のために再度 -DigestAuthentication を $False にすることで現象を再現することができたので、この設定で解決していること自体は間違いないと思うのですが、ダイジェスト認証が必要という情報はどこにも見当たりませんでした。
すっきりしないですが、ひとまず解決となりました。