授與對輸入佈建 API 的存取權
簡介
設定 API 驅動輸入佈建應用程式之後,您必須授與存取權限,讓 API 用戶端可以將要求傳送至佈建 /bulkUpload API,並查詢 佈建記錄 API。 此教學課程會逐步引導您設定這些權限。
根據您的 API 用戶端如何使用 Microsoft Entra ID 進行驗證,您可以在兩個設定選項之間選取:
- 設定服務主體:如果您的 API 用戶端計劃使用Microsoft Entra 註冊應用程式的服務主體,並使用 OAuth 用戶端認證授與流程進行驗證,請遵循這些指示。
- 設定受控識別:如果您的 API 客戶端計劃使用 Microsoft Entra 受控識別,請遵循下列指示。
設定服務主體
此設定會在聲明外部 API 用戶端的 Microsoft Entra ID 中註冊應用程式,並授與其叫用輸入佈建 API 的權限。 服務主體用戶端識別碼和客戶端密碼可用於 OAuth 用戶端認證授與流程。
- 使用至少 應用程式系統管理員 登入認證,登入 Microsoft Entra 系統管理中心 (https://entra.microsoft.com)。
- 瀏覽至 [Microsoft Entra ID] - >[應用程式] ->[應用程式註冊]。
- 按一下 [新增註冊] 的選項。
- 提供應用程式名稱、選取預設選項,然後按一下 [註冊]。
- 從 [概觀] 刀鋒視窗複製 [應用程式 (用戶端) 識別碼 和 目錄 (租用戶) 識別碼 的值,並將其儲存在 API 用戶端中以供稍後使用。
- 在應用程式的操作功能表中,選取 [憑證和密碼] 選項。
- 建立新的用戶端密碼。 提供密碼的說明與到期日期。
- 複製客戶端密碼產生的值,並將其儲存在 API 用戶端中以供稍後使用。
- 從操作功能表 [API 權限] 中,選取 [新增權限] 選項。
- 在 [要求 API 權限]下,選取 [Microsoft Graph]。
- 選取應用程式權限。
- 搜尋並選取權限 AuditLog.Read.All 和 SynchronizationData-User.Upload。
- 在下一個畫面上按一下 授與系統管理員同意 ,以完成權限指派。 在確認對話方塊中,按一下[是]。 您的應用程式應該具有下列權限集合。
- 您現在已準備好搭配 API 用戶端使用服務主體。
- 針對生產工作負載,我們建議搭配服務主體或受控識別使用 客戶端憑證型驗證。
設定受控識別
本節說明如何將必要的權限指派給受控識別。
設定 受控識別,以搭配您的 Azure 資源使用。
從 Microsoft Entra 系統管理中心複製受控識別的名稱。 例如:下列螢幕擷取畫面顯示與名為「CSV2SCIMBulkUpload」的 Azure Logic Apps 工作流程相關聯的系統指派受控識別名稱。
執行下列 PowerShell 指令碼,將權限指派給您的受控識別。
Install-Module Microsoft.Graph -Scope CurrentUser Connect-MgGraph -Scopes "Application.Read.All","AppRoleAssignment.ReadWrite.All,RoleManagement.ReadWrite.Directory" $graphApp = Get-MgServicePrincipal -Filter "AppId eq '00000003-0000-0000-c000-000000000000'" $PermissionName = "SynchronizationData-User.Upload" $AppRole = $graphApp.AppRoles | ` Where-Object {$_.Value -eq $PermissionName -and $_.AllowedMemberTypes -contains "Application"} $managedID = Get-MgServicePrincipal -Filter "DisplayName eq 'CSV2SCIMBulkUpload'" New-MgServicePrincipalAppRoleAssignment -PrincipalId $managedID.Id -ServicePrincipalId $managedID.Id -ResourceId $graphApp.Id -AppRoleId $AppRole.Id $PermissionName = "AuditLog.Read.All" $AppRole = $graphApp.AppRoles | ` Where-Object {$_.Value -eq $PermissionName -and $_.AllowedMemberTypes -contains "Application"} $managedID = Get-MgServicePrincipal -Filter "DisplayName eq 'CSV2SCIMBulkUpload'" New-MgServicePrincipalAppRoleAssignment -PrincipalId $managedID.Id -ServicePrincipalId $managedID.Id -ResourceId $graphApp.Id -AppRoleId $AppRole.Id
若要確認已套用權限,請在 Microsoft Entra ID 的 [企業應用程式] 下尋找受控識別服務主體。 移除 [應用程式類型] 篩選條件 ,以查看所有服務主體。
您現在已準備好搭配 API 用戶端使用受控識別。