共用方式為


授與輸入布建 API 的存取權

簡介

設定 API 驅動輸入布建應用程式之後,您必須授與訪問許可權,讓 API 用戶端可以將要求傳送至布 建 /bulkUpload API,並查詢 布建記錄 API。 本教學課程會逐步引導您完成設定這些許可權的步驟。

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

  • 設定服務主體:如果您的 API 用戶端計劃使用 Microsoft Entra 註冊應用程式的服務主體,並使用 OAuth 用戶端認證授與流程進行驗證,請遵循這些指示。
  • 設定受控識別:如果您的 API 用戶端計劃使用 Microsoft Entra 受控識別,請遵循下列指示。

設定服務主體

此組態會在 Microsoft Entra 識別符中註冊應用程式,代表外部 API 用戶端,並授與其叫用輸入布建 API 的許可權。 服務主體用戶端標識碼和客戶端密碼可用於 OAuth 用戶端認證授與流程。

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

設定受控識別

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

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

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

    Screenshot of managed identity name.

  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 標識碼中的企業應用程式底下尋找受控識別服務主體。 拿掉 [應用程式類型篩選] 以查看所有服務主體。 Screenshot of managed identity principal.

  5. 按兩下 [安全性] 底下的 [許可權] 刀鋒視窗。 確定已設定許可權。 Screenshot of managed identity permissions.

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

下一步