M365メールボックスおよびアーカイブの移行 - APIのアクセス許可のみを使用した移行

本記事には、Microsoft 365テナントのメールボックス移行を設定および実行するために必要なすべての情報が記載されています。本記事のアプローチは、テナントの設定、アプリケーションの登録、M365のアプリケーション偽装ロールの置き換え、およびアクセス許可の割り当てに関する新しい情報を含んでいるため、本記事の手順に従うことが重要となります。

重要

本記事の手順は、APIのアクセス許可にスコープを設定せず、テナント内のすべてのユーザーメールボックスへのアクセスを許可します。APIのアクセス許可に、特定のメールボックスへのアクセスのみを許可するスコープを設定する手順については、こちらの記事を参照してください。

以下のクイックチェックリストは、基本手順を示したものです。各手順をクリックすると、詳細を表示することができます。これらの手順に従うと、アプリケーション偽装の置き換えを行うことができます。

  1. アプリケーションの新規登録を行う
  2. APIのアクセス許可を割り当て、管理者の同意を付与する
  3. 「アプリの登録(App registrations)」から、「アプリケーション(クライアント)ID(Application (client) ID)」と「ディレクトリ(テナント)ID(Directory (tenant) ID)」の値を取得する
  4. 「エンタープライズアプリケーション(Enterprise applications)」から、「アプリケーションID(Application ID)」と「オブジェクトID(Object ID)」の値を取得する
  5. クライアントシークレットを作成する
  6. 「ConfigureM365Tenant.PS1」スクリプトを実行する
  7. MigrationWizプロジェクトを設定する

重要

アプリケーション偽装は、MigrationWizでは現在も有効な方法として使用可能ですが、Microsoftでは、M365アーキテクチャ全体で、このロールをテナントに割り当てる機能の廃止を段階的に進めています。アプリケーション偽装ロールをテナントに割り当てることができるうちは、この方法はまだ有効であり、機能しますが、移行の長期的な戦略として、代替方法を使用することをお勧めします。本記事では、M365メールボックスの移行におけるデフォルトのオプションとして、この新しい方法について詳しく説明します。

MigrationWizビデオガイド

次のビデオガイドは、ステップバイステップの本ガイドを補完するものです。本ガイドの理解をさらに深めるために、ご視聴をお勧めします。

考慮すべき点

  • M365メールボックス/アーカイブメールボックスプロジェクトのすべてのM365エンドポイントで、次のような代替設定を行う必要があります。これらの手順は、移行元と移行先の両方で実行が必要になる場合があります。
  • 推奨される代替設定は、管理者の資格情報を使用してのみ実行することができます。エンドユーザーの資格情報を使用する場合は、委任されたアクセス許可プロセスを使用する必要があります。 
  • 本ガイドは、パブリックフォルダーの移行には適用することができません。
  • 「詳細オプション(Advanced Options)」の「移行元/移行先(Source/Destination)」タブで、「認証に偽装を使用する(Use Impersonation to Authenticate)」のチェックボックスを有効化する必要があります。
    UseImpersonationcheck.jpg
    この手順を実行しないと、次のエラーが発生する可能性があります。
    ImpersonationErrorI (1).jpg

手順1 - アプリケーションの新規登録を行う

移行元または移行先のMicrosoft 365テナントで、アプリケーションの新規登録を行います。

  1. Microsoft Entra管理センターに、グローバル管理者としてログインします。
  2. Microsoft Entra管理センターで、「すべての製品を表示する(View all products)」をクリックし、「Microsoft Entra ID (Azure AD)」を選択します。
  3. 左側のサイドバーで、「ID(Identity)」ドロップダウンリストから「アプリケーション(Applications)」ドロップダウンリストを開き、「アプリの登録(App registrations)」を選択します。
  4. 画面上部の「新規登録(New registration)」を選択します。
    1. New App Registration.png
  5. アプリに固有の名前を付けます。名前は、必要に応じていつでも変更することができます。
  6. 任意の組織ディレクトリのアカウント(任意のMicrosoft Entra IDテナント - マルチテナント)(Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant))」のラジオボタンを選択します。
  7. 「リダイレクトURI(Redirect URI)」で、「パブリッククライアント/ネイティブ(モバイルとデスクトップ)(Public client/native (mobile & desktop))」を選択し、フィールドに「urn:ietf:wg:oauth:2.0:oob」を入力します。
  8. 登録(Register)」をクリックします。
    2. Register App.png
  9. 「管理(Manage)」メニューから、「認証(Authentication)」を選択します。
  10. パブリッククライアントフローを許可する(Allow public client flows)」オプションで、「はい(Yes)」を選択します。 
  11. 保存(Save)」をクリックします。
    4.1 Add Permissions.png

手順2 - APIのアクセス許可を割り当て、管理者の同意を付与する

以下の手順では、APIのアクセス許可を割り当て、必要なM365コンポーネントに管理者の同意を付与します。

  1. 「管理(Manage)」メニューから、「APIのアクセス許可(API permissions)」を選択します。

    重要

    Microsoft Graphに「User.Read」という名前の既存のAPIアクセス許可がある場合は、それを削除します。Microsoft Graph APIは、本プロジェクトタイプでは適用できないため、使用しません。
  2. アクセス許可の追加(Add a permission)」 を選択します。
    5. API Permissions_1.png
  3. 所属する組織で使用しているAPI(APIs my organization uses)」を選択します。
  4. 下にスクロールするか、検索によって、次のAPIを特定します。Office 365 Exchange Online
    5. Request API permissions_1.png
  5. 委任されたアクセス許可(Delegated permissions)」を選択します。
  6. EWS」を選択します。
  7. 「EWS」の下にある「EWS.AccessAsUser.All」のチェックボックスをオンにします。 

    重要

    このアクセス許可は、OAuthアプリケーション(MigrationWiz)をEWSに関連付けるためだけに使用されます。これは、すべてのメールボックスデータへのアクセスを許可するものではありません。
  8. 「アクセス許可の追加(Add permissions)」をクリックします。
    6. Request API permissions_1.png
  9. 所属する組織で使用しているAPI(APIs my organization uses)」を選択します。
  10. 下にスクロールするか、検索によって、Office 365 Exchange Onlineを特定します。
  11. アプリケーションのアクセス許可(Application permissions)」を選択します。
  12. 「その他のアクセス許可(Other permissions)」の下にある「full_access_as_app」のチェックボックスをオンにします。
  13. 「Exchange」の下にある「Exchange.ManageAsApp」のチェックボックスをオンにします。
  14. アクセス許可の追加(Add permissions)」をクリックします。
    7. Grant app permissions.png
  15. 管理者の同意の付与(Grant admin consent)」をクリックします。
    7.2 Grant permissions.png
  16. はい(Yes)」をクリックして、設定を確定します。「ステータス(Status)」列に、ドメインへのアクセス許可が付与されたことを示すメッセージが表示されます。

手順3 - 「アプリの登録」から「アプリケーション(クライアント)ID」と「ディレクトリ(テナント)ID」を取得する

以下の手順に従って、「アプリの登録(App registrations)」から、「アプリケーション(クライアント)ID(Application (client) ID)」と「ディレクトリ(テナント)ID(Directory (tenant) ID)」の値を取得します。

  1. 以下に示すように、「アプリの登録(App registrations)」のアイテムページに移動します。「概要(Overview)」タブに、「アプリケーション(クライアント)ID(Application (client) ID)」と「ディレクトリ(テナント)ID(Directory (tenant) ID)」の値が表示されます。
  2. この2つのIDは、後のプロセスで使用するため、メモ帳などの他のアプリケーションにコピーしておきます。これらは、MigrationWizプロジェクトの設定時に必要になります。
    3. Authentication Settings.png

手順4 - 「エンタープライズアプリケーション」から「アプリケーションID」と「オブジェクトID」を取得する

以下の手順に従って、「エンタープライズアプリケーション(Enterprise applications)」から、「アプリケーションID(Application ID)」と「オブジェクトID(Object ID)」の値を取得します。

  1. 「ID(Identity)」 「アプリケーション(Applications)」 「エンタープライズアプリケーション(Enterprise applications)」に移動します。
  2. 作業しているアプリケーションを選択します。
  3. 概要(Overview)」タブに移動し、「アプリケーションID(Application ID)」と「オブジェクトID(Object ID)」の値をコピーして保存します。AppIDObjectID.jpg

手順5 - クライアントシークレットを作成する

以下の手順に従って、アプリケーションのクライアントシークレットを作成します。

  1. 左側のサイドバーから、「管理(Manage)」 「証明書とシークレット(Certificates & secrets)」に移動します。
  2. + 新しいクライアントシークレット(New client secret)」をクリックして、新しいクライアントシークレットを作成します。
  3. クライアントシークレットの値をコピーして、メモ帳などのツールに保存します。
    SecretValue.jpg

警告

クライアントシークレットの値は、クライアントシークレットの作成後、Azureポータルから最初にサインオフするまでの間のみ使用することができます。一度サインオフすると、それ以降は表示されなくなるため、注意が必要です。 
値を紛失した場合は、上記の手順に従って、再度新しいクライアントシークレットを作成し、以下の手順で使用してください。

手順6 - 「ConfigureM365Tenant.PS1」スクリプトを実行する

以下の手順に従って「ConfigureM365Tenant.PS1」スクリプトを実行し、プロジェクトの管理ロールを割り当てます。

  1. 次のリンクから、スクリプトをダウンロードしてください。ConfigureM365Tenant.PS1
  2. スクリプトをお客様のマシンのローカル(たとえば「c:\scripts」フォルダー)に保存してください。
  3. 次のPowerShellコマンドを実行して、お客様の環境でのスクリプトの実行を許可します。
    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
  4. 管理者資格情報を使用して、次のPowerShellコマンドを実行し、M365テナントに接続します。
    Connect-ExchangeOnline
  5. 次のPowerShellコマンドを実行して、テナントをカスタマイズできるようにします。過去にこのコマンドを実行したことがあり、今回が2度目の実行であっても、問題はありません。
    Enable-OrganizationCustomization
  6. ConfigureM365Tenant.ps1」スクリプトを実行します。./ConfigureM365Tenant.ps1

スクリプトに必要なパラメータは、手順4の「エンタープライズアプリケーション(Enterprise applications)」から取得した「アプリケーションID(Application ID)」および「オブジェクトID(Object ID)」の値です。また、接続と変更の実施を可能にするために、テナントの管理者資格情報の入力も求められます。

重要

設定が正常に適用されると、アプリケーション情報が表示され、次のメッセージが表示されます。
Sucess.png

検証のため、以下のコマンドを実行してください。コマンドごとに検証結果が表示されます。
1.Get-ManagementScope
2.Get-ServicePrincipal
3.Get-ManagementRoleAssignment -Role "Application EWS.AccessAsApp" -RoleAssigneeType ServicePrincipal | Format-List

手順7 - MigrationWizプロジェクトを設定する

MigrationWizプロジェクトに、「アプリの登録(App registrations)」の詳細を追加します。

  1. 移行プロジェクトを作成します。
  2. エンドポイントを設定します。設定時に、以下の項目の入力が求められます。
    • アプリケーション(クライアント)ID(Application (client) ID) - 手順3で取得
    • ディレクトリ(テナント)ID(Directory (tenant) ID) - 手順3で取得
    • クライアントシークレット(Client Secret) - 手順5で取得

「アプリの登録(App registrations)」画面に記載されている通りの、正しい「アプリケーション(クライアント)ID(Application (client) ID)」および「ディレクトリ(テナント)ID(Directory (tenant) ID)」の値を使用する必要があります。これらのIDは、上記の「ConfigureM365Tenant」スクリプトの実行時に使用した値ではありません。本ガイドの手順3および手順5で取得した値です。
M365ClientSecret.png

重要

プロジェクトで設定したMicrosoft 365エンドポイントに応じて、「詳細オプション(Advanced Options)」に以下のサポートオプションが表示されます。
  • ModernAuthClientSecretExport=xxxxxxxxxxxx 値は、移行元のM365エンドポイントのクライアントシークレットの値です。
  • ModernAuthClientSecretImport=xxxxxxxxxxxx 値は、移行先のM365エンドポイントのクライアントシークレットの値です。 

これらの値は、プロジェクトのエンドポイントを編集することによってのみ、変更することができます。

ダイアログボックスにクライアントシークレットの値を入力すると、M365環境で新しい認証方法が使用されていることがシステムに通知されます。アプリケーション偽装を使用している場合は、このボックスにクライアントシークレットを入力しないでください。

最終確認

移行元と移行先の両方がMicrosoft 365エンドポイントの場合は、上記の設定を両エンドポイントで行う必要があります。上記のプロセス全体が、本移行タイプで長年にわたり使用されてきたアプリケーション偽装に取って代わる要件となりました。アプリケーション偽装を使用する古いプロセスは、Microsoftによって来年中にM365テナント全体で廃止されるため、MigrationWizプロジェクトの設定を、現時点からこの新しい方法で行うことを強くお勧めします。

この新しい方法について、ご質問やご不明な点がございましたら、サポートチームまでお問い合わせください。

関連トピック

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