移行マネージャーを使用すると、証明書認証を使用したAzure アプリ登録を ID モデルとして使用して、ネットワーク ファイル共有を SharePoint と OneDrive に移行できます。
準備手順
1. アプリケーションを登録する
指示に従って、Microsoft Entra 管理センターにアプリケーションを登録します。 このアプリケーションに MigApp という名前を付けます。
2. アクセス許可を付与する
Microsoft Entra 管理センターで、[アプリケーション > アプリの登録] に移動し、[すべてのアプリケーション] タブから [MigApp] を選択します。
次に、[API のアクセス許可] ページで必要な API アクセス許可を付与します 。
特定の SharePoint サイトにコンテンツを移動するように 'MigApp' を制限するには、SharePoint と Microsoft Graph APIの下にある [Sites.Selected] アクセス許可を付与します。
- SharePoint API:
- 'Sites.Selected': REST および CSOM (クライアント側オブジェクト モデル) の呼び出しに必要です。
- Microsoft Graph API:
- 'Sites.Selected': サイト関連の操作に必要です。
'MigApp' がすべての SharePoint サイトにコンテンツを移動できるようにするには、SharePoint と Microsoft Graph APIの下に 'Sites.FullControl.All' アクセス許可を付与します。
- SharePoint API:
- 'Sites.FullControl.All': すべてのサイト コレクションを完全に制御するために必要です。
- Microsoft Graph API:
- 'Sites.FullControl.All': すべてのサイト コレクションを完全に制御するために必要です。
その他のアクセス許可を付与する
- Microsoft Graph API:
- 'User.Read.All': ユーザー マッピングを解決するために必要です。
- 'Group.Read.All': ユーザー マッピングを解決するために必要です。
- 'Organization.Read.All': テレメトリを正しい Geo の場所に送信するために必要です。
3. 証明書をアップロードする
[証明書 & シークレット] ページに移動し、[証明書] タブを選択します。
- エンタープライズ公開キー 基盤 (PKI) によって発行された X.509 証明書の公開キーをアップロードします。
- 後で使用するために、"拇印" の値をコピーします。
移行先サイトへのアクセス許可を付与する
'MigApp' の SharePoint Sites.Selected アクセス許可を設定した場合、移行を開始する前にすべての移行先サイトに対してアプリケーション FullControl アクセス許可を付与する必要があります。
SharePoint 管理 サイトの読み取りアクセス許可を付与する
また、移行を開始する前に、SharePoint 管理 サイトの読み取りアクセス許可をアプリケーションに付与する必要もあります。
エージェントのインストール
エージェント ワークステーションで、エンタープライズ公開キー インフラストラクチャ (PKI) によって発行された X.509 証明書を Windows 証明書管理ストアの [現在のユーザー] パスにインストールします。 証明書管理アプリケーションを起動するには、コマンド certmgr.mscを入力します。
次の内容を含む構成 Json ファイルを準備します。
{
"Thumbprint":"The client credential certificate thumbprint",
"TenantId":"Tenant ID",
"ClientId":"App registration Id",
"AdminUrl": "The SharePoint Admin site URL, example https://contoso-admin.sharepoint.com",
}
手順に従ってエージェント をインストールします。 エージェントのセットアップの [ようこそ] ページで、[証明書認証] オプションを選択し、前の手順で準備した証明書認証構成ファイルを読み込みます。 次に、残りのインストール手順を完了します。
- ファイルに不適切な属性値が含まれている場合、エージェントは理由を説明するエラー メッセージを表示し、次のボタンを無効にします。
- 'MigApp' に十分なアクセス許可がない場合、エージェントはアプリに必要なアクセス許可を付与することを通知するエラー メッセージを表示します。
エージェントが正常に起動されたら、Migration Manager でコンテンツの移行を開始できます。
サイトにアクセス許可を付与する手順
Graph APIを使用してサイトにアクセス許可を付与する
手順に従って、Microsoft Graph APIを使用して特定のサイトにアクセス許可を付与します。
- Get Site API を呼び出してサイト ID を取得します。
- 管理サイトのサイト ID を取得するには、GET /sites/contoso-admin.sharepoint.com を呼び出します。
- ルート サイトのサイト ID を取得するには、GET /sites/contoso.sharepoint.com を呼び出します。
- 他のサイトのサイト ID を取得するには、GET /sites/contoso.sharepoint.com:/sites/{site relative url} または GET /sites/contoso.sharepoint.com:/teams/{site relative url}を呼び出します。
応答本文の ID プロパティ には、コンマで区切られた 3 つの部分が含まれています。文字列全体をコピーしてください。
- Create Permission API を呼び出して、サイト にアクセス許可を割り当てます。 手順 1 からコピーした文字列を使用して、要求本文で POST /sites/{siteId}/permissions を呼び出します。
- 管理サイトにアクセス許可を割り当てるには、ロールを 読み取りとして設定します。
- 他のサイトの場合は、ロールを 所有者として設定します。
{
"roles": ["read/write/owner"],
"grantedToIdentities": [{
"application": {
"id": "IdOfYourEntraApp",
"displayName": "NameOfYourEntraApp"
}
}]
}
PowerShell PnP を使用してサイトにアクセス許可を付与する
PowerShell PnP を使用してサイトにアクセス許可を付与する手順に従います。
- Powershell7 をインストールし、 コマンドを使用して必要なモジュールをインポートします。
Install-Module PnP.PowerShell -Force and Import-Module PnP.PowerShell
- コマンドを実行して、アクセス許可を付与するための PnP-PowerShell のプロキシとして再生するアプリを作成します。 実行結果からクライアント ID をコピーします。
Register-PnPEntraIDAppForInteractiveLogin -ApplicationName "PnP PowerShell" -Tenant yourtenant.onmicrosoft.com -Interactive
- 前の手順で取得したクライアント ID を使用して、変数 PnPClientId を設定します。
$PnPClientId = <The client ID from the step above>
- コマンドを実行して、SharePoint 管理 サイトに接続します。 管理者 URL は、
https://contoso-admin.sharepoint.com形式です。
Connect-PnPOnline –interactive –Url <AdminSiteUrl> -ClientId <PnPClientId>
- SharePoint 管理 サイトアクセス許可をアプリに付与します。 'ClientId' は、entra アプリのクライアント ID です。
Grant-PnPAzureADAppSitePermission -AppId <ClientId> -DisplayName <App name or a random name> -Permissions ``<Permission> -Site <DestinationSiteUrl>
- SharePoint 管理 サイトの読み取りアクセス許可をアプリに付与するには、次のコマンドを実行します。
Grant-PnPAzureADAppSitePermission -AppId <ClientId> -DisplayName <App name or a random name> -Permissions
Read
-Site <
AdminSiteUrl
>
- 移行先サイトに対してアプリの FullControl アクセス許可を付与するには、次のコマンドを実行します。
Grant-PnPAzureADAppSitePermission -AppId <ClientId> -DisplayName < App name or a random name > -Permissions
FullControl
-Site <
DestinationSiteUrl
>