移轉管理員可讓客戶使用 Azure App 憑證驗證註冊作為身分識別模型,將網路檔案共用移轉至 SharePoint 和 OneDrive。
準備步驟
1.註冊應用程式
請依照指示在 Microsoft Entra 系統管理中心 中註冊應用程式。 讓我們將此應用程式命名為 MigApp。
2.授與許可權
在 Microsoft Entra 系統管理中心 中,移至 [應用程式 > 應用程式註冊],然後從 [所有應用程式] 索引卷標選取 [MigApp]。
接下來,在 [API 許可權] 頁面上授與必要的 API 權 限。
若要限制 『MigApp』 將內容移至特定 SharePoint 網站,請在 SharePoint 下授與 'Sites.Selected' 許可權,並Microsoft 圖形 API。
- SharePoint API:
- 'Sites.Selected':REST 和 CSOM (客戶端物件模型) 呼叫的必要專案。
- Microsoft 圖形 API:
- 'Sites.Selected':網站相關作業的必要專案。
若要允許 『MigApp』 將內容移至所有 SharePoint 網站,請在 SharePoint 和 Microsoft 圖形 API 下授與 'Sites.FullControl.All' 許可權。
- SharePoint API:
- 'Sites.FullControl.All':完全控制所有網站集合所需的專案。
- Microsoft 圖形 API:
- 'Sites.FullControl.All':完全控制所有網站集合所需的專案。
授與更多許可權
- Microsoft 圖形 API:
- 'User.Read.All':解析用戶對應所需的專案。
- 'Group.Read.All':解析用戶對應所需的專案。
- 'Organization.Read.All':將遙測傳送至正確地理位置的必要專案。
3.上傳憑證
移至 [ 憑證 & 秘密 ] 頁面,然後選取 [ 憑證] 索引 卷標。
- 上傳企業公鑰基礎結構 (PKI 憑證所簽發之 X.509 憑證的公鑰) 。
- 複製 『Thumbprint』 中的值以供日後使用。
授與目的地網站訪問許可權
如果您設定 『MigApp』 的 SharePoint Sites.Selected 許可權,則必須在移轉開始之前,為所有移轉目的地網站授與應用程式 FullControl 許可權。
授與 SharePoint 管理員 網站讀取許可權
您也需要在移轉開始之前,將 SharePoint 管理員 網站的讀取許可權授與應用程式。
安裝代理程式
在代理程式工作站上,於 Windows 證書管理存放區「目前使用者」路徑安裝企業公鑰基礎結構 (PKI) 所簽發的 X.509 憑證。 您可以輸入 命令 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』 沒有足夠的許可權,代理程式會顯示錯誤訊息,提醒您將必要的許可權授與應用程式。
成功啟動代理程序之後,您可以開始在移轉管理員上移轉您的內容。
授與網站許可權的步驟
使用 圖形 API 將許可權授與網站
請遵循步驟,使用Microsoft 圖形 API 將許可權授與給定網站。
- 藉由呼叫 取得網站 API 來取得網站標識碼。
- 若要擷取系統管理網站的網站標識碼,請呼叫 GET /sites/contoso-admin.sharepoint.com
- 若要擷取根網站的網站標識碼,請呼叫 GET /sites/contoso.sharepoint.com。
- 若要擷取其他網站的網站標識符,請呼叫 GET /sites/contoso.sharepoint.com:/sites/{site relative url} 或 GET /sites/contoso.sharepoint.com:/teams/{site relative url}。
回應本文中的 ID屬性 包含三個以逗號分隔的部分:請確定您複製整個字串。
- 藉由呼叫建立許可權 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 的 Proxy 來授與許可權。 從執行結果複製用戶端識別碼。
Register-PnPEntraIDAppForInteractiveLogin -ApplicationName "PnP PowerShell" -Tenant yourtenant.onmicrosoft.com -Interactive
- 使用在上一個步驟中擷取的用戶端標識碼,設定變數 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' 是您的內含應用程式用戶端識別符。
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
>