Microsoft 365およびExchangeでの移行におけるMigrationWizの偽装と委任

ExchangeやMicrosoft 365で多数のユーザーを移行する際には、各ユーザーのログイン認証が必要です。特に大規模な移行の場合、このプロセスはエラーが発生しやすく、時間がかかります。

偽装と委任によって、ユーザーの一括移行がより容易に行えるようになります。偽装は、移行プロセス用に作成された1つの管理者アカウントが、複数のユーザーアカウントに偽装してアクセスすることを許可します。委任は、ユーザーが自分の認証資格情報を管理者アカウントに付与するプロセスです。

言い換えると、偽装はユーザーが入力することなくユーザー情報を収集することができ、委任はユーザーが入力することによりデータを収集します。いずれかの方法により、移行管理者はユーザーの移行準備時間と冗長性を大幅に削減することができます。 

委任(delegation)と偽装(impersonation)

委任とは、各ユーザーのメールボックスに対するフルアクセス権が、1人のメールボックス管理ユーザーに委任されていることを意味します。MigrationWizは移行実行時に、委任された権限を使用して個々のユーザーのメールボックスにログインします。 

偽装とは、移行の実行時に、管理者アカウントが各メールボックスユーザーに実際に偽装してログインすることを意味します。これにより、1つの管理者アカウントに割り当てられたスロットリングクォータと接続制限を共有するという制限がなくなるため、移行速度が上がります。代わりに、スロットリングクォータは、各ユーザーのメールボックスで個別に使用されます。また、各ユーザーのスロットリングクォータを無効にすることもできます。これにより移行速度がさらに上がります。 

委任と偽装のどちらの処理を使用するか

移行元または移行先がExchangeの場合は、委任を使用することをお勧めします。設定手順が少なく、移行速度はほとんど変わりません。委任の設定は簡単です。管理者アカウントを設定してアカウントのスロットリングを無効にし、管理者アカウントをMigrationWizプロジェクトのエンドポイントに設定します。

移行元または移行先がMicrosoft 365の場合、偽装を使用することをお勧めします。Microsoft 365で偽装を有効にする手順はより簡単です。さらに、Microsoft 365の管理者アカウントに対するスロットリングを無効にできないないため、委任を使用すると移行速度が大きく下がります。

Microsoft 365で偽装を利用すると、次のようなメリットもあります。

  • 「接続に失敗しました」のエラーが減少します。
  • 同時に多数のメールボックスを移行できます。
  • スロットリングと接続制限の影響を軽減します。
  • ライセンスが割り当てられていない管理者アカウントを使用する事ができます。

委任の設定

ドメイン管理者、スキーマ管理者、またはエンタープライズ管理者のグループに属しているユーザーアカウントには、付与されている権限にかかわらず、メールボックスに対する管理者権限はありません。Exchange Serverのセキュリティ標準設定では、ユーザーがこれらのグループメンバーである場合、アクセスが拒否されます。そのため、移行専用の新しいユーザーアカウントを作成することをお勧めします。

  1. 移行に使用する「管理者」アカウントを設定し、必要な権限を適用することで各ユーザーメールボックスへのフルアクセスを可能にします。 
  2. Exchange 2010以降を使用している場合、このアカウントに対するスロットリングを無効にします。Exchange 2003またはExchange 2007ではスロットリングがサポートされていないため、この手順は必要ありません。
  3. MigrationWizプロジェクトを作成し、「資格情報を提供する(Provide Credentials)」を選択します。上記の手順1で設定したアカウントのユーザー名とパスワードを入力します。

移行に使用する「管理者」アカウントを設定し、必要な権限を適用して、移行元の各ユーザーメールボックスへのフルアクセスを可能にします。

    1. 管理者アカウント(例:MigrationWiz)を作成するには、Exchange Serverにログインして次の手順を実行します。
    2. Exchange管理コンソールを開きます。
    3. 受信者の構成(Recipient Configuration)」ノードを展開します。
    4. メールボックス(Mailbox)」ノードを右クリックします。
    5. メールボックスの新規作成(New Mailbox)」クリックします。
    6. 次へ(Next)」をクリックします。
    7. 次へ(Next)」をクリックします。
    8. 「名(first name)」として「MigrationWiz」を入力します。
    9. ユーザーログオン名として「MigrationWiz」を入力し、オプションでユーザープリンシパル名(UPN)ドメインを選択します。
    10. パスワードを入力し、確認します。
    11. 次へ(Next)」をクリックします。
    12. 参照(Browse)」をクリックして、メールボックスデータベースを選択します。
    13. 次へ(Next)」をクリックします。
    14. 次へ(Next)」をクリックします。
    15. 終了(Finish)」クリックします。
    16. アカウントにアクセス権を付与するには、Exchange Server マシンで以下を実行します。
    17. Exchange管理シェルを開きます。
    18. 次のコマンドを入力します。
      Get-Mailbox -ResultSize Unlimited | Add-MailboxPermission -AccessRights FullAccess -User MigrationWiz
    19. 権限はメールボックスごとに直接設定されるため、新しいメールボックスを作成するたびに上記のコマンドを実行する必要があります。権限の設定が完了すると、管理者アカウントにアクセス権が付与されます。
    20. 上記スクリプト内のユーザー名 "MigrationWiz" は、本記事上部の手順で設定した管理者アカウント名に置き換えてください。
    21. このユーザー名は、MigrationWizで「資格情報を提供する(Provide Credentials)」のチェックボックスをオンにした時に、プロジェクトの「移行元の設定(Source Settings)」または「移行先の設定(Destination Settings)」で入力する管理者ユーザー名です。

偽装の設定

管理者アカウントで ApplicationImpersonation 役割を有効にします。(この手順は、Exchangeで偽装を有効にする場合にのみ必要です。Microsoft 365では必要ありません。)

MigrationWizプロジェクトの「詳細オプション(Advanced Options)」で、「偽装を使用する(Use Impersonation to Authenticate)」チェックボックスをオンにして、次の手順を実行します。

    1. 移行先で管理者の資格情報を使用していることを確認してください。
    2. MigrationWizアカウントにサインインします
    3. 「プロジェクトの編集(Edit Project)」をクリックし、「詳細オプション(Advanced Options)」をクリックします。
    4. Microsoft 365から移行する場合は、「移行元(Source)」で「偽装を使用する(Use impersonation to authenticate)」チェックボックスをオンにします。
    5. Microsoft 365へ移行する場合は、「移行先(Destination」で「偽装を使用する(Use impersonation to authenticate)」チェックボックスをオンにします。
    6. オプションを保存する(Save Options)」をクリックします。

このオプションは、移行元(Source)と移行先(Destination)の両方にあります。移行元または移行先で偽装を使用する必要があるかどうかを判断するには、本記事上部の「委任と偽装のどちらの処理を使用するか」を参照してください。

プロジェクトで偽装を使用するように「詳細オプション(Advanced Options)」を設定した場合、設定を保存した後に開始された移行に対してのみ設定が有効になります。既に実行されている移行に対しては、この設定変更は反映されません。

    1. (移行元または移行先で)Microsoft 365に対して偽装を使用する場合、メールボックスの処理が開始されると、MigrationWizはPowerShellスクリプトを自動的に実行し、アカウントに対して applicationimpersonation 役割を有効にします。そのため、スクリプトを手動で実行する必要はありません。
    2. メールボックス移行時に、MigrationWizが(Microsoft 365上で)実行するリモートPowerShellコマンドは次のとおりです。
    3. Enable-OrganizationCustomization
    4. New-ManagementRoleAssignment -Role ApplicationImpersonation -User
    5. (移行元または移行先で)Exchangeに対して偽装を使用する場合、オンプレミスのPowerShellはインターネット経由でアクセスできないため、偽装権限を付与するコマンドレットを実行できません。そのため、追加の手順が必要となります。管理者アカウントを使用して、オンプレミスのExchange環境に対して次のスクリプトを実行する必要があります。New-ManagementRoleAssignment -Role ApplicationImpersonation -User

すべてのメールボックスに対するスロットリングを無効にすると、移行の速度が上がります。(この手順は、Exchange 2010以降で偽装を使用する場合にのみ必要です。Microsoft 365では必要ありません。)

    1. Microsoft Exchange 管理シェルが利用可能なコンピューターで Microsoft Exchange 管理シェルを開き、次のコマンドを入力して、 Enterキーを押します。
    2. New-ThrottlingPolicy MigrationWizPolicy
    3. 次のコマンドを入力してEnterキーを押します。
    4. Set-ThrottlingPolicy MigrationWizPolicy -RCAMaxConcurrency $null -RCAPercentTimeInAD $null -RCAPercentTimeInCAS $null -RCAPercentTimeInMailboxRPC $null -EWSMaxConcurrency $null -EWSPercentTimeInAD $null -EWSPercentTimeInCAS $null -EWSPercentTimeInMailboxRPC $null -EWSMaxSubscriptions $null -EWSFastSearchTimeoutInSeconds $null -EWSFindCountLimit $null -CPAMaxConcurrency $null -CPAPercentTimeInCAS $null -CPAPercentTimeInMailboxRPC $null -CPUStartPercent $null
    5. 次のコマンドを入力してEnterキーを押します。
    6. Get-Mailbox | Set-Mailbox -ThrottlingPolicy MigrationWizPolicy
    7. 別なコマンドレットを使用して、調整ポリシーの関連付けを変更することもできます。こちらのMicrosoftTechNetの記事を参照してください。 Set-ThrottlingPolicyAssociation
    8. MigrationWizプロジェクトをセットアップし、「資格情報を提供する(Provide Credentials)」を選択します。上記の手順1で設定したアカウントのユーザー名とパスワードを入力します。

EWSでのスコープを使用した偽装

MigrationWizとExchange Web Services(EWS)を使用して Exchange Online から移行する場合、(委任ではなく)偽装を使用してユーザーのメールボックスにアクセスする必要があります。偽装を使用することで、スロットリングの潜在的な問題を解決できるだけでなく、特定のユーザーメールボックスに対して偽装を適用することが可能になります。

偽装の権限を使うことで、移行するメールボックスの範囲を制限することができます。これには、偽装スコープフィルターを実装する必要があります。これは、企業の合併や買収に関連した移行で、組織内のメールボックスの一部を移行することになった場合によくある要件です。

偽装スコープを設定する手順は次の3つです。

  1. メールが有効なセキュリティグループの作成
  2. 管理スコープ(Management Scope)の作成
  3. 管理者ロールの割り当ての作成

このタスクは、Microsoft 365管理コンソールまたはPowerShellのいずれかを使用して行うことができますが、PowerShellを使用した手順は次のとおりです。

メールが有効なセキュリティグループの作成

偽装スコープフィルターを作成するには、最初にフィルターの範囲を定義する配布グループを作成します。

  1. PowerShellを使用してExchange Onlineに接続します。
  2. Microsoft 365のメールが有効なセキュリティグループを新規に作成し、わかりやすい名前をつけます。
  3. 移行するすべてのユーザーメールボックスアカウントを新しいセキュリティグループに追加します。このグループを偽装スコープにのみ使用する場合、グローバルアドレス一覧からグループを非表示にすることをお勧めします。

Get-DistributionGroupコマンドを使用して、グループのDistinguishedNameプロパティを取得します。

Get-DistributionGroup -Identity "YourGroupName" |fl name, dist*

このPowerShellコマンドは、グループ名(name)とDistinguishedName(この例ではワイルドカード形式を使用して、dist*)を返し、管理スコープを作成します。 "YourGroupName"に、配布グループに割り当てた名前を入れてください。

管理スコープ(Management Scope)の作成

前の手順で取得したDistinguishedNameプロパティと、RecipientRestrictionFilterおよびMemberOfGroupフィルタリング パラメータを使用して、次のPowerShellコマンドを実行し、管理スコープを作成します。

注:以下のコマンドを実行するには、Microsoft 365テナントで組織(Organization)のカスタマイズを有効化する必要がある場合があります。

New-ManagementScope "YourScopeName" -RecipientRestrictionFilter {MemberOfGroup -eq 'YourGroupDistinguisedName'}

"YourScopeName"には、管理スコープに割り当てた名前を入力します。"YourGroupDistinguisedName"には、グループのDistinguisedNameの値を入力します。以下に例を示します。

CN=AllowImpersonationDistributionGroup,OU=tenantname.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=EURP193A002,DC=PROD,DC=OUTLOOK,DC=COM

管理者ロールの割り当ての作成

最後の手順として、管理者ロールの割り当てを作成し、管理者権限を持つ移行用アカウントに関連付けます。

以下のPowerShellコマンドを発行して、管理者ロールの割り当てを作成します。

New-ManagementRoleAssignment -Name "YourMigrationProject" -Role "ApplicationImpersonation" -User "YourAdminAccountName" -CustomRecipientWriteScope "YourManagementScope"

これにより、次の値が提供されるか、または返されます。

-Name は移行プロジェクトの名前です(YourMigrationProject)。

-Role の値は ApplicationImpersonationです。

-User は、管理者権限を持つ移行用アカウントです(YourAdminAccountName)。

-CustomRecipientWriteScope は、作成した管理スコープに割り当てた名前です(YourManagementScope)。

MigrationWizとExchange Web Services(EWS)を使用して Exchange Online から移行する場合、(委任ではなく)偽装を使用してユーザーのメールボックスにアクセスする必要があります。偽装を使用することで、スロットリングの潜在的な問題を解決できるだけでなく、特定のユーザーメールボックスに対して偽装を適用することが可能になります。

偽装の権限を使うことで、移行するメールボックスの範囲を制限することができます。これには、偽装スコープフィルターを実装する必要があります。これは、企業の合併や買収に関連した移行で、組織内のメールボックスの一部を移行することになった場合によくある要件です。

Microsoft 365での委任

Microsoft 365コントロールパネルにアクセスして、ユーザー管理を行うことができるアカウントであっても、移行するすべてのメールボックスへのアクセス権があるとは限りません。メールボックスデータを移行する管理者権限を与えるには、メールボックスごとにアカウント権限を付与する必要があります。

移行用の管理者アクセス権を手動で付与するには、以下のリモートPowerShellコマンドを実行します。

$cred = Get-Credential

$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $cred -Authentication Basic -AllowRedirection

Import-PSSession $session

Get-Mailbox -ResultSize Unlimited | Add-MailboxPermission -AccessRights FullAccess -Automapping $false -User MigrationWiz

Remove-PSSession $session

権限はメールボックスごとに設定されるため、新しいメールボックスを作成するたびに上記のコマンドを実行する必要があります。権限の設定が完了するまで、管理者アカウントにはアクセス権が付与されません。

グローバル管理者アカウントには、委任に必要な権限があります。ただし、 移行元または移行先がMicrosoft 365である移行には、偽装を使用することをお勧めします。

この記事は役に立ちましたか?
26人中4人がこの記事が役に立ったと言っています