分割型アクセス許可モデルの計画および実装

 

適用先: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

トピックの最終更新日: 2008-02-05

分割型アクセス許可モデルを実装する組織は、通常、管理者に付与する特定のアクセス許可を制限して説明責任とセキュリティを高めます。Microsoft Exchange Server 2007 では、Exchange 受信者属性のアクセス許可はグループ化されています。これによって、他の管理アクセス許可から Exchange アクセス許可を分けるために手動で実行する必要があるアクセス許可の構成が最小限になります。

既定では、Exchange 組織管理者のみが Exchange 受信者と構成データの両方を管理できます。ただし、特定のドメイン内でオブジェクトの作成、修正、および削除を管理するには、これらの管理者も Windows Account Operators セキュリティ グループまたはさらに高レベルのセキュリティ グループのメンバシップが必要です。Account Operators のアクセス許可を付与する方法の詳細については、Windows Server 2003 の製品ヘルプについてのページを参照してください (このページは英語の場合があります)。

アクセス制御

フォレストのドメイン名前付けコンテキスト内にあるオブジェクトの Exchange に関連する属性を管理するには、Exchange Server Administrators グループに変更のアクセス許可が与えられている必要があります。この操作は、その属性を含むオブジェクトのセキュリティ記述子を変更して行います。

セキュリティ記述子には、2 つのアクセス制御リスト (ACL) が含まれています。ACL は、ユーザー オブジェクトまたはセキュリティ グループ オブジェクトの一覧で、リソースまたはオブジェクトに対してアクセスできるかアクセスを拒否されているかを示します。ACL を使用すると、オブジェクト全体、オブジェクトの一連のプロパティ、またはオブジェクトの個々のプロパティに特定のアクセス許可を適用することができます。オブジェクトのセキュリティ記述子には、2 種類の ACL があります。

  • 随意アクセス制御リスト (DACL)   DACL は、ユーザーまたはグループがオブジェクトへのアクセス許可を割り当てられているか拒否されているかを識別します。DACL によってユーザーまたはユーザーがメンバである任意のグループを明示的に識別されない場合、ユーザーはそのオブジェクトへのアクセスを拒否されます。既定では、DACL はオブジェクトの所有者またはそのオブジェクトの作成者によって制御され、オブジェクトへのユーザー アクセスを識別するアクセス制御エントリ (ACE) を保持します。
  • システム アクセス制御リスト (SACL)   SACL は、オブジェクトに正常にアクセスするか、またはアクセスできないかを監査する場合にユーザーおよびグループを識別します。既定では、SACL はオブジェクトの所有者またはそのオブジェクトの作成者によって制御されます。SACL には、フル コントロール、読み取りなどのような特定のアクセス許可を使用するユーザーがオブジェクトにアクセスしようとするときに、成功または失敗を記録するかどうかを識別する ACE が含まれています。

ACE は、ユーザーまたはグループにアクセス許可を付与するオブジェクトの DACL のエントリです。ACE は、ユーザーまたはグループの監査を行うセキュリティ イベントを指定するオブジェクトの SACL のエントリです。

アクセス許可の適用対象

Active Directory ディレクトリ サービス フォレストは、共通の構成およびスキーマ境界を共有する 1 つ以上のドメインで構成されています。これらのドメイン内では、オブジェクトを組織単位 (OU) と呼ばれるコンテナに整列させることもできます。それぞれの組織の管理者は、組織のビジネス ニーズを満たし、管理アクセス許可の委任を最適化する OU 構造を設計する必要があります。

OU 構造を設計する方法の詳細については、Windows ネットワークを管理するための Active Directory の設計のベスト プラクティスについてのページおよび Active Directory の管理を委任するためのベスト プラクティスについてのページを参照してください (これらのサイトは英語の場合があります)。

委任モデルを設計する場合、アクセス許可を適用するいくつかの方法があります。ここでは、次の 2 つの方法についてのみ説明します。

  • ドメイン レベルでアクセス許可を適用する
  • OU レベルでアクセス許可を適用する

ドメイン レベルでアクセス許可を適用する

委任されたアクセス許可をドメイン レベルで適用するときは、アクセス許可はすべてのオブジェクトに継承されます。これには、ユーザー、連絡先、グループ、ドメイン DNS、およびコンピュータが含まれます。Microsoft Windows 2000 Server を実行しているドメイン コントローラで、ドメイン レベルで継承可能な ACE を追加すると、DACL によってドメイン内の各オブジェクトに変更が加えられます。追加された ACE の数とドメイン内のオブジェクトの数に応じて、これらの変更から ACL の増大と呼ばれる状態を引き起こす可能性があります。ACL の増大とは、オブジェクト上の不要な ACE によって ACL のサイズが増大することです。ACL の増大により、ドメイン内のすべてのドメイン コントローラで Ntds.dit ファイルの物理サイズが増えます。これは、Active Directory パフォーマンスの問題を引き起こす原因になります。

Microsoft Windows Server 2003 を実行しているドメイン コントローラ上には、一意のセキュリティ記述子が各オブジェクトに継承されるたびに格納するわけではなく、一度だけ格納されます。この変更により、データの冗長性、および継承可能な ACE を変更した結果生じることのあるデータベースの拡大を削減することができます。

OU レベルでアクセス許可を適用する

アクセス許可を適用するベスト プラクティスとして、親 OU 上にアクセス許可を適用することをお勧めします。これにより、OU とその子コンテナに含まれる特定のクラスのオブジェクトに対するアクセス許可の適用を切り離すことができます。この方法は、すべての管理オブジェクトが親 OU 内にある必要があります。ビジネス要件により、この方法を組織に適用できないことがあります。ビジネス要件によって適用できない場合は、複数の OU 全体にアクセス許可を適用することができます。

アクセス許可を適用する方法

Microsoft では、アクセス許可を適用する 2 つのツールを備えています。

  • ADSI Edit (AdsiEdit.msc)
  • DSACLS (Dsacls.exe)

どちらのツールも Windows Server 2003 CD の Support\Tools にあります。また、サード パーティ製品にもアクセス許可の適用に使用できるものがあります。

note注 :
ADSI (Active Directory サービス インターフェイス) Edit、DSACLS、LDP (Ldp.exe) ツール、またはその他の LDAP (ライトウェイト ディレクトリ アクセス プロトコル) Version 3 クライアントを使用するときに、Active Directory オブジェクトの属性を誤って変更すると重大な問題が発生することがあります。これらの問題により、Windows Server、Exchange 2007、またはその両方の再インストールが必要になることがありますActive Directory オブジェクト属性を変更する場合は、ユーザー自身の責任で行ってください。

ADSI Edit を使用する方法の詳細については、ADSI Edit を使用してアクセス許可を適用する方法についてのページを参照してください (このサイトは英語の場合があります)。

Exchange 2007 でアクセス許可を適用するには、Exchange 管理シェルで Add-ADPermission コマンドレットを使用することをお勧めします。詳細については、「Add-ADPermission」を参照してください。Exchange 管理シェルの詳細については、「Exchange 管理シェルの使用」を参照してください。

アクセス許可を適用する方法の例

Exchange 2007 ではプロパティ設定の実装のため、分割型アクセス許可モデルの実装で必要とされる ACE は Exchange Server の以前のバージョンに比べ大幅に少なくなっています。

Exchange 2007 管理者がメールに関連するすべてのプロパティを管理するには、ドメインのパーティションで次のアクセス許可を持っている必要があります。

  • 次のプロパティ設定に対する書き込みアクセス。
    • Exchange 個人情報
    • Exchange 情報
  • 次の属性に対する書き込みアクセス。
    • legacyExchangeDN
    • displayName
    • adminDisplayName
    • displayNamePrintable
    • publicDelegates
    • garbageCollPeriod
    • textEncodedORAddress
    • showInAddressBook
    • proxyAddresses
    • mail
  • msExchDynamicDistributionList オブジェクトのアクセス許可を作成する。
  • msExchDynamicDistributionList オブジェクトのアクセス許可を削除する。
  • msExchDynamicDistributionList オブジェクトのフル コントロール アクセス許可。
  • 汎用読み取りアクセス許可。これには、読み取りアクセス許可、リスト コンテンツ、リスト オブジェクト、およびすべて読み取りのプロパティが含まれます。

これらのアクセス許可に加え、受信者管理者は Exchange 組織内で次のアクセス許可も持っている必要があります。

  • Exchange 表示専用管理者の役割またはそれ以上。

    note注 :
    メールボックスの移動など、一定の操作には Exchange サーバー管理者の役割またはそれ以上が必要です。
  • Exchange 組織内のアドレス一覧コンテナにおける msExchLastAppliedRecipientFilter 属性および msExchRecipientFilterFlags 属性への書き込みアクセス。これらのアクセス許可は、受信者管理者が Update-AddressList コマンドレットを実行できるようにするために必要です。

  • Exchange 組織内の受信者ポリシー コンテナにおける msExchLastAppliedRecipientFilter 属性および msExchRecipientFilterFlags 属性への書き込みアクセス。これらのアクセス許可は、受信者管理者が Update-EmailAddressPolicy コマンドレットを実行できるようにするために必要です。

  • Exchange 2007 管理グループにおけるアクセス許可受信者更新サービスの拡張権利。Exchange 2007 では、アドレスに関連する情報はプロビジョニング処理の間に受信者側でスタンプされるために、この拡張権利が必要になります。

note注 :
これらのアクセス許可は、Exchange に固有の管理属性です。Exchange 管理者は、適切なアクセス許可を委任されている場合を除き、Exchange の外部で作成された属性は管理できません。

Exchange 管理シェルを使用してアクセス許可を適用する方法

ここでは、Exchange 管理シェルを使用してアクセス許可を委任する方法の例について紹介します。

この例にあるコマンドを使用すると、OU1AdminGroup セキュリティ グループの管理者はメールが有効または無効な受信者の電子メール アドレスを管理し、ContosoOrg Exchange 組織を含む Contoso.com フォレストの Container1 OU 階層に含まれるすべてのユーザー、グループ、および連絡先の名前を表示することができます。

これらのタスクを組織で実行する場合、アクセス許可を付与する各コンテナに対して次のコマンドを実行します。ドメイン名、Exchange 組織、およびアカウント情報をユーザー自身のドメイン情報に置き換えます。

アクセス許可を与えるには、次のコマンドをこの順序で実行する必要があります。

  1. 次のコマンドを実行して、OU 内のオブジェクトで Exchange に関連する属性を管理します。

    Add-ADPermission -Identity "ou=Container1,dc=Contoso,dc=com" -User "Contoso\OU1AdminGroup" -AccessRights ReadProperty, WriteProperty -Properties Exchange-Information, Exchange-Personal-Information, legacyExchangeDN, displayName, adminDisplayName, displayNamePrintable, publicDelegates, garbageCollPeriod, textEncodedORAddress, showInAddressBook, proxyAddresses, mail
    
  2. 次のコマンドを実行して、OU 内のすべてのオブジェクトに汎用読み取りアクセス許可を付与します。

    Add-ADPermission -Identity "ou=Container1,dc=Contoso,dc=com" -User "Contoso\OU1AdminGroup" -AccessRights GenericRead
    
  3. 次のコマンドを実行して、OU 内の動的配布グループを管理する適切なアクセス許可を付与します。

    Add-ADPermission -Identity "ou=Container1,dc=Contoso,dc=com" -User "Contoso\OU1AdminGroup" -AccessRights GenericAll -InheritanceType Descendents -InheritedObjectType msExchDynamicDistributionList
    Add-ADPermission -Identity "ou=Container1,dc=Contoso,dc=com" -User "Contoso\OU1AdminGroup" -AccessRights CreateChild, DeleteChild -ChildObjectTypes msExchDynamicDistributionList
    

    Exchange 2007 Service Pack 1 (SP1) の場合、次のコマンドを実行します。

    ADPermission -Identity "ou=Container1,dc=Contoso,dc=com" -User "Contoso\OU1AdminGroup" -AccessRights GenericAll -ChildObjectTypes msExchDynamicDistributionList
    
  4. 次のコマンドを実行して、OU1AdminGroup セキュリティ グループに拡張権利を付与し、受信者更新サービスにアクセスできるようにします。

    Add-ADPermission -Identity "CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=ContosoOrg,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=com" -User "Contoso\OU1AdminGroup " -InheritedObjectType ms-Exch-Exchange-Server -ExtendedRights ms-Exch-Recipient-Update-Access -InheritanceType Descendents
    
  5. 次のコマンドを実行し、OU1AdminGroup セキュリティ グループがアドレス一覧および電子メール アドレス ポリシーを更新できるようにします。

    Add-ADPermission -Identity "CN=Address Lists Container,CN=ContosoOrg,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=com" -User "company\OU1AdminGroup" -AccessRights WriteProperty -Properties msExchLastAppliedRecipientFilter, msExchRecipientFilterFlags
    Add-ADPermission -Identity "CN=Recipient Policies,CN=ContosoOrg,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=com" -User "company\OU1AdminGroup" -AccessRights WriteProperty -Properties msExchLastAppliedRecipientFilter, msExchRecipientFilterFlags
    

正常に完了すると、それぞれのコマンドはオブジェクトに追加された ACE を出力します。

DSACLS を使用してアクセス許可を適用する方法

ここでは、DSACLS (Dsacls.exe) を使用してアクセス許可を適用する方法の例について説明します。

DSACLS は、Active Directory オブジェクトのアクセス許可およびセキュリティ属性を照会および変更するために使用するコマンドライン ツールです。DSACLS は Windows Server 2003 サポート ツールに含まれています。また、Active Directory ユーザーとコンピュータ、および Active Directory サイトとサービスなどの Windows 2000 Server Active Directory スナップイン ツールの [セキュリティ] タブに相当するコマンドライン ツールです。

この例にあるコマンドを使用すると、OU1AdminGroup セキュリティ グループの管理者はメールが有効または無効な受信者の電子メール アドレスを管理し、ContosoOrg Exchange 組織を含む Contoso.com フォレストの OUContainer1 OU 階層に含まれるすべてのユーザー、グループ、および連絡先の名前を表示することができます。

note注 :
DSACLS では、大文字と小文字が区別されます。すべての文字がそのまま渡されるので、DSACLS に渡す構文は厳密である必要があります。これには、空白や改行も含まれます。DSACLS からエラーを受け取った場合は、コマンドを見直して構文が正しいことを確認するか、コマンドをより小さいセグメントに分割してみてください。DSACLS を使用する方法の詳細については、マイクロソフト サポート技術情報の記事 281146「Windows Server 2003 および Windows 2000 で Dsacls.exe を使用する方法」を参照してください。

アクセス許可を与えるには、次のコマンドをこの順序で実行する必要があります。

  1. ドメイン管理者などのタスクを実行できるアカウントを使用して、Windows サポート ツールをインストールしたフォレスト内のコンピュータにログオンします。ドメイン名、Exchange 組織、およびアカウント情報は、ユーザー自身のドメイン情報に置き換えます。

  2. コマンド プロンプト ウィンドウを開き、次のコマンドを入力して OU 内のオブジェクトで Exchange に関連する属性を管理します。

    dsacls "OU=OUContainer1,DC=Contoso,DC=com" /I:T /G "Contoso\OU1AdminGroup:RPWP;legacyExchangeDN" "Contoso\OU1AdminGroup:RPWP;displayName" "Contoso\OU1AdminGroup:RPWP;adminDisplayName" "Contoso\OU1AdminGroup:RPWP;displayNamePrintable" "Contoso\OU1AdminGroup:RPWP;publicDelegates" "Contoso\OU1AdminGroup:RPWP;garbageCollPeriod" "Contoso\OU1AdminGroup:RPWP;textEncodedORAddress" "Contoso\OU1AdminGroup:RPWP;showInAddressBook" "Contoso\OU1AdminGroup:RPWP;proxyAddresses" "Contoso\OU1AdminGroup:RPWP;mail" "Contoso\OU1AdminGroup:RPWP;Exchange Personal Information" "Contoso\OU1AdminGroup:RPWP;Exchange Information" "Contoso\OU1AdminGroup:CCDC;msExchDynamicDistributionList" "Contoso\OU1AdminGroup:GR;"
    
  3. コマンド プロンプト ウィンドウを開き、次のコマンドを入力して OU 内の動的配布グループを管理する適切な権限を付与します。

    dsacls "OU=OUContainer1,DC=Contoso,DC=com" /I:S /G "Contoso\OU1AdminGroup:GA;; msExchDynamicDistributionList"
    
  4. コマンド プロンプト ウィンドウを開き、次のコマンドを入力して OU1AdminGroup セキュリティ グループに拡張権利を付与し、受信者更新サービスにアクセスできるようにします。

    dsacls "CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=ContosoOrg,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=com" /I:S /G "Contoso\OU1AdminGroup:CA;Access Recipient Update Service;msExchExchangeServer"
    
  5. コマンド プロンプト ウィンドウを開き、次のコマンドを入力して OU1AdminGroup セキュリティ グループがアドレス一覧および電子メール アドレス ポリシーを更新できるようにします。

    dsacls "CN=Address Lists Container, CN=ContosoOrg,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=com" /I:T /G "company\OU1AdminGroup:WP;msExchLastAppliedRecipientFilter" "company\OU1AdminGroup:WP;msExchRecipientFilterFlags"
    dsacls "CN=Recipient Policies, CN=ContosoOrg,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=com" /I:T /G "company\OU1AdminGroup:WP;msExchLastAppliedRecipientFilter" "company\OU1AdminGroup:WP;msExchRecipientFilterFlags"
    

コマンドの実行が成功すると、変更された Windows セキュリティ記述子が出力され、コマンド プロンプトに The command completed successfully と表示されます。

分割型アクセス許可スクリプトの構成

分割型アクセス許可モデルの構成に役立つスクリプトは \Exchange Server\Scripts ディレクトリ内にあります。

Exchange 管理シェルを使用して、次のスクリプトを実行できます。

  • ConfigureSplitPerms.ps1   ConfigureSplitPerms.ps1 スクリプトを使用して、ここで説明した必要なアクセス許可を構成できます。

スクリプトの詳細については、「Exchange 管理シェルの使用」を参照してください。

詳細情報

分割型アクセス許可、Exchange 関連属性、およびユーザー、連絡先、グループ関連タスクの詳細については、「分割型アクセス許可モデル リファレンス」を参照してください。

参照している情報が最新であることを確認したり、他の Exchange Server 2007 ドキュメントを見つけたりするには、Exchange Server TechCenter を参照してください。