分享方式:


授與對輸入佈建 API 的存取權

簡介

設定 API 驅動輸入佈建應用程式之後,您必須授與存取權限,讓 API 用戶端可以將要求傳送至佈建 /bulkUpload API,並查詢 佈建記錄 API。 此教學課程會逐步引導您設定這些權限。

根據您的 API 用戶端如何使用 Microsoft Entra ID 進行驗證,您可以在兩個設定選項之間選取:

設定服務主體

此設定會在聲明外部 API 用戶端的 Microsoft Entra ID 中註冊應用程式,並授與其叫用輸入佈建 API 的權限。 服務主體用戶端識別碼和客戶端密碼可用於 OAuth 用戶端認證授與流程。

  1. 使用至少 應用程式系統管理員 登入認證,登入 Microsoft Entra 系統管理中心 (https://entra.microsoft.com)。
  2. 瀏覽至 [Microsoft Entra ID] - >[應用程式] ->[應用程式註冊]
  3. 按一下 [新增註冊] 的選項。
  4. 提供應用程式名稱、選取預設選項,然後按一下 [註冊]應用程式註冊的螢幕擷取畫面。
  5. 從 [概觀] 刀鋒視窗複製 [應用程式 (用戶端) 識別碼目錄 (租用戶) 識別碼 的值,並將其儲存在 API 用戶端中以供稍後使用。 用戶端應用程式識別碼的螢幕擷取畫面。
  6. 在應用程式的操作功能表中,選取 [憑證和密碼] 選項。
  7. 建立新的用戶端密碼。 提供密碼的說明與到期日期。
  8. 複製客戶端密碼產生的值,並將其儲存在 API 用戶端中以供稍後使用。
  9. 從操作功能表 [API 權限] 中,選取 [新增權限] 選項。
  10. [要求 API 權限]下,選取 [Microsoft Graph]
  11. 選取應用程式權限
  12. 搜尋並選取權限 AuditLog.Read.AllSynchronizationData-User.Upload
  13. 在下一個畫面上按一下 授與系統管理員同意 ,以完成權限指派。 在確認對話方塊中,按一下[是]。 您的應用程式應該具有下列權限集合。 應用程式權限的螢幕擷取畫面。
  14. 您現在已準備好搭配 API 用戶端使用服務主體。
  15. 針對生產工作負載,我們建議搭配服務主體或受控識別使用 客戶端憑證型驗證

設定受控識別

本節說明如何將必要的權限指派給受控識別。

  1. 設定 受控識別,以搭配您的 Azure 資源使用。

  2. 從 Microsoft Entra 系統管理中心複製受控識別的名稱。 例如:下列螢幕擷取畫面顯示與名為「CSV2SCIMBulkUpload」的 Azure Logic Apps 工作流程相關聯的系統指派受控識別名稱。

    受控識別流程名稱的螢幕擷取畫面。

  3. 執行下列 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
    
  4. 若要確認已套用權限,請在 Microsoft Entra ID 的 [企業應用程式] 下尋找受控識別服務主體。 移除 [應用程式類型] 篩選條件 ,以查看所有服務主體。 受控識別主體的螢幕擷取畫面。

  5. 按一下 [安全性] 底下的 [權限] 刀鋒視窗。 確定已設定權限。 受控識別權限的螢幕擷取畫面。

  6. 您現在已準備好搭配 API 用戶端使用受控識別。

下一步