共用方式為


具有憑證式驗證的移轉管理員

移轉管理員可讓客戶使用 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 將許可權授與給定網站。

  1. 藉由呼叫 取得網站 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屬性 包含三個以逗號分隔的部分:請確定您複製整個字串。

  1. 藉由呼叫建立許可權 API,將許可權指派給網站。 使用從步驟 1 複製的字串,以要求本文呼叫 POST /sites/{siteId}/permissions。
  • 若要將許可權指派給系統管理網站,請將角色設定為 讀取
  • 針對任何其他網站,請將角色設定為 擁有者
    {
      "roles": ["read/write/owner"],
      "grantedToIdentities": [{
        "application": {
          "id": "IdOfYourEntraApp",
          "displayName": "NameOfYourEntraApp"
        }
      }]
    }

使用 PowerShell PnP 將許可權授與網站

請遵循步驟,使用 PowerShell PnP 將許可權授與網站。

  1. 使用 命令安裝 Powershell7 並匯入必要的模組:

Install-Module PnP.PowerShell -Force and Import-Module PnP.PowerShell

  1. 執行 命令來建立應用程式,以作為 PnP-PowerShell 的 Proxy 來授與許可權。 從執行結果複製用戶端識別碼。

Register-PnPEntraIDAppForInteractiveLogin -ApplicationName "PnP PowerShell" -Tenant yourtenant.onmicrosoft.com -Interactive

  1. 使用在上一個步驟中擷取的用戶端標識碼,設定變數 PnPClientId。

$PnPClientId = <The client ID from the step above>

  1. 執行命令以連線 SharePoint 管理員 網站。 系統管理員 URL 的格式 https://contoso-admin.sharepoint.com為 。

Connect-PnPOnline –interactive  –Url <AdminSiteUrl>  -ClientId <PnPClientId>

  1. 授與您的應用程式 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 >