(この記事は 2015 年 2 月 20 日に Office Blogs に投稿された記事 Exchange 2013 and Exchange 2010 Coexistence with Kerberos Authenticationの翻訳です。最新情報については、翻訳元の記事をご参照ください。)
2011 年 4 月、NTLM 認証のスケーラビリティに関する制約に対処するために、MAPI クライアントに Kerberos 認証 (英語)を使用する場合の推奨事項 (英語)についてご説明しました。このときの記事では、代替サービス アカウント (ASA) 資格情報を展開することで、ドメインに参加または接続している Outlook クライアントやその他の MAPI クライアントで Kerberos 認証を利用可能にしています。
先日、Exchange 2013 MAPI クライアントで Kerberos 認証を有効にする方法のガイダンスが公開されました。ただし、Exchange 2013 に ASA 資格情報を展開するために必要な手順が説明されていますが、Exchange 2010 環境で共存させるために必要な手順には言及されていません。Exchange 2013 に Kerberos 認証を展開し、さらに Exchange 2010 と共存させるためには、以下にご紹介する手順を実行する必要があります。
他の構成変更と同様に、まずは運用環境を再現したテスト環境でこの手順を十分にテストすることをお勧めします。
手順 1 – Outlook の更新プログラムを展開する
Kerberos 認証を使用している Exchange 2013 のメールボックスが Outlook クライアントを経由して、Exchange 2010 でホストされている従来のパブリック フォルダーおよび共有メールボックスに確実に接続されるためには、Outlook クライアントが最低でも以下のバージョンを実行している必要があります。
- Outlook 2013 Service Pack 1: 累積更新プログラム 2014 年 12 月 (機械翻訳)
- Outlook 2010 Service Pack 2: 累積更新プログラム 2015 年 1 月 (機械翻訳)
上記の Outlook の更新プログラムをインストールするまでは、Exchange 2013 と Exchange 2010 が共存しているメッセージング環境で Kerberos 認証を有効にしないでください。有効にした場合、ユーザーに認証ダイアログが何度も連続して表示されます。
手順 2 – 新しい代替サービスアカウント資格情報を作成する
RollAlternateserviceAccountCredential.ps1のスクリプトでは、オブジェクトを逆シリアル化し、異なるバージョンのサーバー間で渡すことができません。つまり、Exchange 2010 サーバーから資格情報をコピーしたり、Exchange 2010 サーバーに資格情報をプッシュしたりする際には、このスクリプトを使用できません。そのため、Exchange 2013 と Exchange 2010 で同じ代替サービス アカウント (ASA) 資格情報を共有することはできません。
Exchange 2013 の ASA の要件は Exchange 2010 で規定されているものと同じです。具体的には、クライアント アクセス サーバー アレイに含まれるすべてのコンピューターは同じサービス アカウントを共有する必要があります。また、無制限モデルの名前空間に参加しているクライアント アクセス サーバーや、データセンターの切り替えの一環としてアクティブ化されているクライアント アクセス サーバーも同じサービス アカウントを共有する必要があります。一般的には、各フォレストに 1 つのアカウントを用意すれば十分ですが、Exchange 2010 と Exchange 2013 では同じ ASA を共有できないため、結果として各バージョン、各フォレストに 1 つずつアカウントが必要になります。
代替サービス アカウントとして、コンピューター アカウントまたはユーザー アカウントを作成できます。コンピューター アカウントは対話型ログオンを許可していないため、ユーザー アカウントよりもセキュリティ ポリシーが単純な場合があり、ASA 資格情報に適したソリューションだと言えます。コンピューター アカウントを作成した場合、実質的にはパスワードの有効期限が切れることはありませんが、定期的にパスワードを更新することをお勧めします。ローカル グループ ポリシーを使用すると、コンピューター アカウントの最長有効期間を指定することができ、一部のお客様の環境では、設定されたスケジュールに従ってスクリプトを使用し、現行のポリシーに準拠していないコンピューター アカウントを定期的に削除しているケースがあります。ローカル ポリシーに準拠していないためにコンピューター アカウントが削除されることのないように、コンピューター アカウントのパスワードを定期的に更新してください。パスワードを変更しなければいけない時期は、ローカル セキュリティ ポリシーによって異なります。
手順 3 – Exchange 2010 の ASA から HTTP サービスプリンシパル名を削除する
この時点で、ユーザーに対するサービス停止の予定を設定する必要があります。サービスを停止しておかないと、内部ユーザーが Outlook 内の HTTP リソース (自動検出、OAB のダウンロードなど) に接続しようとする際に認証ダイアログが表示される可能性があります。
Exchange 2010 のガイダンスに従っていた場合、少なくとも以下のサービス プリンシパル名 (SPN) のレコードを Exchange 2010 の ASA に関連付けています。
- http/mail.corp.contoso.com
- http/autod.corp.contoso.com
- exchangeMDB/outlook.corp.contoso.com
- exchangeRFR/outlook.corp.contoso.com
- exchangeAB/outlook.corp.contoso.com
Exchange 2010 の ASA には引き続き exchangeMDB、ExchangeRFR、ExchangeAB の SPN レコードが保持されますが、Exchange 2013 の ASA に移行する際に HTTP レコードは失われます。
HTTP SPN を削除するには、以下の手順を実行します。
1. Exchange 2010 の ASA から削除する HTTP セッションを取得します。
setspn –F <domain\E2010ASA$> |
2. 削除する各 HTTP レコードに対して以下のコマンドを実行します。
setspn –D http/<record> <domain\E2010ASA$> |
手順 4 – Exchange 2013 クライアントアクセスサーバーに ASA を展開する
ASA 資格情報を展開できるように、RollAlternateServiceAccountPassword.ps1 が更新されて Exchange 2013 をサポートするようになりました。このスクリプトを CU7 以降で実行する必要があります。このスクリプトは Scripts ディレクトリに格納されています。
このスクリプトの使用方法の詳細については、「負荷分散されたクライアント アクセス サーバーの Kerberos 認証の構成」の「各クライアント アクセス サーバーの ASA 資格情報を構成して確認する」のセクションを参照してください。
手順 5 – Exchange 2013 の ASA にサービスプリンシパル名を割り当てる
Exchange 2013 クライアント アクセス サーバーに ASA を展開したら、次に以下のコマンドを使用して SPN を割り当てます。
setspn –S http/<record> <domain\E2013ASA$> |
手順 6 – Outlook クライアントの Kerberos 認証を有効にする
既定では、Exchange 2013 の内部クライアントの Kerberos 認証は無効になっています。
Outlook Anywhere クライアントの Kerberos 認証を有効にするには、各 Exchange 2013 クライアント アクセス サーバーに対して以下のコマンドを実行します。
Get-OutlookAnywhere -server <server> | Set-OutlookAnywhere -InternalClientAuthenticationMethod Negotiate |
MAPI over HTTP クライアントの Kerberos 認証を有効にするには、各 Exchange 2013 クライアント アクセス サーバーに対して以下のコマンドを実行します。
Get-MapiVirtualDirectory -Server <server> | Set-MapiVirtualDirectory -IISAuthenticationMethods Ntlm, Negotiate |
Active Directory 全体に変更がレプリケートされ、検証した Outlook クライアントが Kerberos 認証を使用して接続されていること (サーバーの HTTPProxy ログとクライアントの klist から判断できます) を確認したら、設定したサービス停止期間は事実上終了となります。
まとめ
Exchange 2010 と Exchange 2013 が共存し、MAPI クライアントで Kerberos 認証をサポートするためには、各バージョンに固有の ASA 資格情報が必要となります。さらに、すべての共存シナリオをサポートするために Outlook クライアントの更新プログラムを適用する必要があります。
ASA 資格情報にどの SPN を展開するかを計画する方法などの詳細については、「負荷分散されたクライアント アクセス サーバーの Kerberos 認証の構成」を参照してください。
Ross Smith IV
Office 365 カスタマー エクスペリエンス担当
主任プログラム マネージャー