msExchMasterAccountSid の問題の検出と修正

 

Microsoft® Exchange Server 2003 または Exchange 2000 Server を実行しているサーバー上にあるメールボックスにアクセスできるようにするは、Active Directory® ディレクトリ サービス ユーザー アカウントへのリンクを構築する必要があります。このリンクは、メールボックスのいくつかの Active Directory 属性を設定することによって構築します。Exchange メールボックスをリンクする Active Directory アカウントは、有効な状態にも無効な状態にもできます。無効な Active Directory ユーザー アカウントは、Active Directory ドメインへのログオンに使用できません。

Exchange メールボックスを無効な Active Directory ユーザー アカウントにリンクする理由として最も一般的なのは、ある Active Directory フォレスト内のメールボックスをそのフォレスト外の Microsoft Windows® NT アカウントまたは Active Directory アカウントにリンクする、というものです。ある Active Directory フォレスト内のメールボックスを外部のユーザー アカウントに直接関連付けることはできません。このため、無効なユーザー アカウントを使用してこの作業を間接的に実行します。外部のアカウントに関連付けるには、次の作業を任意の順番で行います。

  • Exchange を実行しているサーバーと同じ Active Directory フォレスト内にある Active Directory アカウント (アカウント A) のメールボックスを有効にします。

  • Active Directory アカウント A をログオンに対して無効にします。外部で所有されているアカウントにメールボックスを割り当てるには、無効なアカウントのみを使用する必要があります。

  • フォレストの外部にあるかまたは既知のセキュリティ識別子 (SID) を持つ別のアカウント (アカウント B) に、フル メールボックス アクセスの権利と読み取りアクセス許可の権利を与えます。既知の SID の詳細については、下の記述を参照してください。
    フル メールボックス アクセスの権利では、アカウント A のオブジェクト プロパティを表示したり変更したりできます。この権利は、[Exchange の詳細設定] ページの [メールボックスの権利] ダイアログ ボックスに表示できます。この権利は、内部と外部両方の複数のアカウントに与えることができます。

    note注 :
    Active Directory ユーザーとコンピュータ コンソールに [Exchange の詳細設定] プロパティ ページを表示できるようにするには、管理ワークステーションに Exchange システム マネージャをインストールする必要があります。
  • 外部アカウント (アカウント B) または既知の SID に、関連付けられた外部アカウントの権利を与えます。
    ほとんどの場合、Windows の SID は、単一の Active Directory フォレスト内にある単一のアカウントに独自に関連付けられています。既知の SID は、特定の標準 Windows アカウントに関連付けられ、すべてのフォレストの同じ標準アカウントに対して同一です。既知の汎用 SID を持つアカウントの例には、Self および Anonymous の 2 つがあります。既知の SID の詳細については、サポート技術情報の文書番号 243330「Windows サーバー オペレーティング システムの既知のセキュリティ識別子」を参照してください。

アカウント A が存在するフォレストの外部にあるアカウントまたは既知の SID を持つアカウントのみ、関連付けられた外部アカウントとして設定できます。関連付けられた外部アカウント設定が便宜上 [メールボックスの権利] ダイアログ ボックスに表示されますが、これらの設定は実質的には権利ではありません。これは実際にはアカウント A のメールボックス セキュリティ記述子に設定されるフラグで、アカウント B をメールボックスを "所有" する外部アカウントとして識別します。

関連付けられた外部アカウントは、同時に 1 つのアカウントにのみ設定できます。また、アカウント B を関連付けられた外部アカウントとして設定する前に、このアカウントにフル メールボックス アクセスの権利と読み取りアクセス許可の権利を与える必要があります。Active Directory は、これらすべての作業の結果を同時には適用しません。また、Active Directory アカウントを再び有効にした場合に、関連付けられた外部アカウントまたは msExchMasterAccountSid の削除を実行することもありません。無効なアカウントのみが、関連付けられた外部アカウントの権利または msExchMasterAccountSid 属性が設定されたユーザーを持つようにする必要があるため、この考慮事項は重要です。これらの属性が正しく設定され同期されていないと、さまざまな問題が発生する可能性があります。関連するアカウントへのメールの配信に関する問題や委任とパブリック フォルダ アクセスの問題、関係するアカウントが大量にある場合には Exchange を実行しているサーバーの一般的なパフォーマンスの問題も発生し得ます。これらの問題の詳細については、次のサポート技術情報の文書を参照してください。

関連付けられた外部アカウントおよび msExchMasterAccountSid は、任意の既知の SID または外部アカウントに対して設定できます。ただしこれらの値は、Self アカウントまたは外部アカウントのいずれかにのみ割り当てる必要があります。マイクロソフトでは、関連付けられた外部アカウントとしてその他の既知の SID を指定することをサポートしていません。また、関連付けられた外部アカウントとしてセキュリティ グループを指定することもサポートしていません。

有効な Active Directory アカウントを Exchange メールボックスに関連付けると、メールボックスのセキュリティに関連する機能の実行に、その Active Directory アカウントの SID (objectSid) が使用されます。

たとえば、あるユーザーが Microsoft Office® Outlook を使用して、別のユーザーにフォルダへのアクセス許可を与えるとします。Active Directory アカウントに直接アクセス許可を与える代わりに、Outlook で、他のメールボックスへのアクセス許可を与えます。この間接的な方法により、Outlook は、Exchange 5.5 Server アカウントなどの Active Directory ベース以外のアカウントのアクセス許可を認識できます。

Exchange Server 2003 および Exchange 2000 Server では、Outlook で他のユーザーのフォルダに対するアクセス許可を与える場合、通常は、メールボックスに関連付けられた Active Directory アカウントの SID にアクセス許可を与えることによってアクセス許可を実装します。ただし、そのアカウントが無効であれば、これらのアクセス許可を使用できません。このアカウントは、ログオンやリソースへのアクセス権の付与に使用できません。これが、関連付けられた外部アカウントおよび msExchMasterAccountSid が便利である理由です。これらを使用すると、Exchange がセキュリティ資格情報を評価するときに、実際にメールボックスを所有する外部アカウントの SID に置き換えることができます。

アカウント A のメールボックスの権利プロパティに、関連付けられた外部アカウント フラグが設定されている場合、そのメールボックスに対するセキュリティ操作には、アカウント A の objectSid ではなく msExchMasterAccountSid に示された SID が使用されます。唯一の例外として、msExchMasterAccountSid 値が既知の Self アカウントの場合は、そのまま objectSid が使用されます。msExchMasterAccountSid 値が存在しない場合は、関連付けられた外部アカウントの設定に関係なく、メールボックスのセキュリティ操作に失敗します。関連付けられた外部アカウントと msExchMasterAccountSid は連携して機能します。このため、次の規則に従う必要があります。

  • アカウントに、関連付けられた外部アカウントまたは msExchMasterAccountSid 属性が設定されている場合、アカウントを無効にする必要があります。有効な Active Directory アカウントには、関連付けられた外部アカウントも msExchMasterAccountSid も設定しないでください。
  • メールボックスが有効でログオンが無効な Active Directory アカウントには、必ず関連付けられた外部アカウントおよび msExchMasterAccountSid 属性の両方を設定する必要があります。

次の LDAP クエリを使用すると、msExchMasterAccountSid 属性を持つ有効な Active Directory アカウントを検索できます。

(&(objectCategory=user)(msExchUserAccountControl=0)(msExchMasterAccountSid=*))

このクエリは、さまざまな LDAP アプリケーションおよび LDAP スクリプトで使用できます。たとえば、Windows 2000 Server および Windows Server™2003 の LDIFDE (LDAP Data Interchange Format Directory Exchange) ツールでこれを使用できます。

LDIFDE -F BadAccounts.txt -D "DC=CONTOSO,DC=COM" -R "(&(objectCategory=user)(msExchUserAccountControl=0)(msExchMasterAccountSid=*))"

BadAccounts.txt に示されるそれぞれのアカウントを調べ、関連付けられた外部アカウントをそれらから削除してください。

[メールボックスの権利] ダイアログ ボックスの関連付けられた外部アカウントを削除すると、msExchMasterAccountSid 属性が自動的に削除されます。[メールボックスの権利] ダイアログ ボックスの関連付けられた外部アカウントを設定すると、msExchMasterAccountSid 属性が自動的に設定されます。この動作は、有効な Active Directory アカウントと無効な Active Directory アカウントの両方で実行されます。

逆に、msExchMasterAccountSid 値が設定されていない無効な Active Directory ユーザー アカウントを検索することもできます。

(&(objectCategory=user)(msExchUserAccountControl=2)(!(msExchMasterAccountSid=*)))

一般に、実際の環境では、msExchMasterAccountSid が設定されている有効な Active Directory アカウントより、msExchMasterAccountSid が設定されていない無効なアカウントの方で、問題が多く発生するように見えます。これは、msExchMasterAccountSid が設定されている有効なユーザーに関してはイベントがログに記録されないためです。

詳細情報

Active Directory メールボックスと Exchange メールボックスの詳細については、「Active Directory 属性を使用したメールボックスの有効化、無効化、およびホーム サーバーの変更」を参照してください。

Exchange メールボックス データベースの移動に関する詳細については、「別のサーバーまたはストレージ グループへの Exchange メールボックス データベースの移動」を参照してください。