Azure Active Directory 中的佈建記錄

Azure Active Directory (Azure AD) 會與數個協力廠商服務整合,將使用者佈建到您的租用戶中。 如果您需要針對已佈建使用者的問題進行疑難排解,可以使用 Azure AD 佈建記錄中擷取的資訊來協助尋找解決方案。

另外還有兩個活動記錄可用來協助監視租用戶的健康情況:

  • 登入 – 登入及使用者如何使用您資源的相關資訊。
  • 稽核 – 與套用至租用戶的變更相關的資訊,例如套用至租用戶資源的使用者與群組管理或更新。

本文提供佈建記錄的概觀。

用途為何?

您可以使用佈建記錄來尋找問題的解答,例如:

  • 在 ServiceNow 中成功建立哪些群組?

  • 已成功從 Adobe 移除哪些使用者?

  • 已成功在 Active Directory 中建立來自 Workday 的哪些使用者?

如何存取佈建記錄?

若要檢視佈建記錄,您的租用戶必須具有與其相關聯的 Azure AD Premium 授權。 若要升級您的 Azure AD 版本,請參閱開始使用 Azure Active Directory Premium

應用程式擁有者可以檢視自己應用程式的記錄。 需要下列角色才能檢視佈建記錄:

  • 報告讀者
  • 安全性讀取者
  • 安全性操作員
  • 安全性系統管理員
  • 應用程式系統管理員
  • 雲端應用程式系統管理員
  • 全域管理員
  • 具有 provisioningLogs 權限的自訂角色中的使用者

若要存取佈建記錄資料,您可以使用下列選項:

  • 從 Azure AD 的 [監視] 區段中選取 [佈建記錄]。

  • 將佈建記錄串流至 Azure 監視器。 此方法可讓您延長資料保留並建置自訂儀表板、警示和查詢。

  • 查詢 Microsoft Graph API 以取得佈建記錄。

  • 以 CSV 或 JSON 檔案形式下載佈建記錄。

檢視佈建記錄

若要更有效率地檢視佈建記錄,請花一些時間自訂您所需的檢視。 您可以指定要包含哪些資料行,並篩選資料以縮小範圍。

自訂版面配置

佈建記錄具有預設檢視,但您可以自訂資料行。

  1. 從記錄頂端的功能表中選取 [資料行]。
  2. 選取您要檢視的資料行,並選取視窗底部的 [儲存] 按鈕。

螢幕擷取畫面顯示自訂資料行的按鈕。

此區域可讓您顯示更多欄位,或移除已顯示的欄位。

篩選結果

篩選佈建資料時,會根據租用戶動態填入某些篩選值。 例如,如果您的租用戶中沒有任何「建立」事件,則不會有 [建立] 篩選選項。

[身分識別] 篩選可讓您指定您關心的名稱或身分識別。 此身分識別可能是使用者、群組、角色或其他物件。

您可以依物件的名稱或識別碼進行搜尋。 識別碼會因案例而異。

  • 將物件從 Azure AD 佈建到 Salesforce 時,來源識別碼是 Azure AD 中使用者的物件識別碼。 目標識別碼是 Salesforce 中的使用者識別碼。
  • 從 Workday 佈建至 Azure AD 時,來源識別碼會是 Workday 背景工作角色員工識別碼。 目標識別碼是 Azure AD 中的使用者識別碼。
  • 如果您要布建 跨租使用者同步處理的使用者, 來源識別碼 是來源租使用者中使用者的識別碼。 目標識別碼是目標租使用者中使用者的識別碼。

注意

使用者的名稱可能不一定會出現在 [身分識別] 資料行中。 一律會有一個識別碼。

[日期] 篩選條件可讓您定義傳回資料的時間範圍。 可能的值包括:

  • 一個月
  • 7 天
  • 30 天
  • 24 小時
  • 自訂時間間隔 (設定開始日期和結束日期)

[狀態] 篩選條件可讓您選取︰

  • 全部
  • Success
  • 失敗
  • 已略過

[動作] 篩選可讓您篩選這些動作:

  • 建立
  • 更新
  • 刪除
  • 停用
  • 其他

除了預設檢視的篩選之外,您還可以設定下列篩選。

  • 作業識別碼:唯一的作業識別碼會與您已啟用佈建的每個應用程式相關聯。

  • 週期識別碼:週期識別碼可唯一地識別佈建週期。 您可以將此識別碼與產品支援共用,以查詢發生此事件的週期。

  • 變更識別碼:變更識別碼是佈建事件的唯一識別碼。 您可以將此識別碼與產品支援共用,以查詢佈建事件。

  • 來源系統:您可以指定要從何處佈建身分識別。 例如,當您將物件從 Azure AD 佈建至 ServiceNow 時,來源系統會是 Azure AD。

  • 目標系統:您可以指定要將身分識別佈建至何處。 例如,當您將物件從 Azure AD 佈建至 ServiceNow 時,目標系統會是 ServiceNow。

  • 應用程式:您只能顯示包含特定字串之顯示名稱或物件識別碼的應用程式記錄。 針對 跨租使用者同步處理,請使用組態的物件識別碼,而不是應用程式識別碼。

分析佈建記錄

當您在佈建清單檢視中選取項目時,可以取得此項目的詳細資料,例如佈建使用者的步驟,以及疑難排解問題的秘訣。 詳細資料會分組成四個索引標籤。

  • 步驟:概述佈建物件所採取的步驟。 佈建物件可能包含四個步驟:

    1. 匯入物件。
    2. 判斷物件是否在範圍內。
    3. 比對來源與目標之間的物件。
    4. 佈建物件 (建立、更新、刪除或停用)。

    螢幕擷取畫面顯示 [步驟] 索引標籤上的佈建步驟。

  • 疑難排解與建議:提供錯誤代碼和原因。 僅在發生失敗時,才會提供錯誤資訊。

  • 修改的屬性:顯示舊的值和新的值。 如果沒有舊的值,該資料行就會空白。

  • 摘要:提供來源和目標系統中物件的發生狀況和識別碼的概觀。

將記錄下載為 CSV 或 JSON

您可以前往 Azure 入口網站中的記錄,然後選取 [下載],以下載佈建記錄供稍後使用。 將根據您所選取的篩選來篩選檔案。 盡可能讓篩選更具體,以減少下載的大小和時間。

CSV 下載包含三個檔案:

  • ProvisioningLogs:下載所有記錄,除了佈建步驟和修改過的屬性。
  • ProvisioningLogs_ProvisioningSteps:包含佈建步驟和變更識別碼。 您可以使用變更識別碼,將事件與另兩個檔案聯結。
  • ProvisioningLogs_ModifiedProperties:包含已變更的屬性和變更識別碼。 您可以使用變更識別碼,將事件與另兩個檔案聯結。

開啟 JSON 檔案

若要開啟 JSON 檔案,請使用文字編輯器,例如 Microsoft Visual Studio Code。 Visual Studio Code 藉由提供語法醒目提示,讓檔案更容易閱讀。 您也可以使用瀏覽器 (例如Microsoft Edge) 以無法編輯的格式開啟 JSON 檔案。

修飾 JSON 檔案

JSON 檔案會以極簡格式下載,以縮小下載的大小。 此格式可能會讓承載難以閱讀。 查看用來修飾檔案的兩個選項:

  • 使用 Visual Studio Code 來格式化 JSON

  • 使用 PowerShell 來格式化 JSON。 此指令碼會以包含定位字元和空格的格式輸出 JSON:

    $JSONContent = Get-Content -Path "<PATH TO THE PROVISIONING LOGS FILE>" | ConvertFrom-JSON

    $JSONContent | ConvertTo-Json > <PATH TO OUTPUT THE JSON FILE>

剖析 JSON 檔案

以下是使用 PowerShell 來處理 JSON 檔案的一些範例命令。 您可以使用任何您所熟悉的程式設計語言。

首先,執行此命令來讀取 JSON 檔案

$JSONContent = Get-Content -Path "<PATH TO THE PROVISIONING LOGS FILE>" | ConvertFrom-JSON

現在您可以根據您的案例來剖析資料。 以下是一些範例︰

  • 輸出 JSON 檔案中的所有作業識別碼:

    foreach ($provitem in $JSONContent) { $provitem.jobId }

  • 輸出動作為「建立」的事件的所有變更識別碼:

    foreach ($provitem in $JSONContent) { if ($provItem.action -eq 'Create') { $provitem.changeId } }

您應該知道的事情

以下是佈建報告的一些秘訣和考量:

  • 如果您有進階版本,Azure 入口網站會將報告的佈建資料儲存 30 天,而如果您有免費版本,則會儲存 7 天。 您可以將佈建記錄發佈至 Log Analytics,以保留超過 30 天的時間。

  • 例如,您可以使用變更識別碼屬性作為唯一識別碼,這在與產品支援互動時會很有用。

  • 針對範圍以外的使用者,您可能會看到略過的事件。 這是預期的行為,特別是當同步範圍設定為所有使用者和群組時。 服務將會評估租用戶中的所有物件,甚至是超出範圍的物件。

  • 佈建記錄不會顯示角色匯入 (適用於 AWS、Salesforce 和 Zendesk)。 您可以在稽核記錄中找到角色匯入的記錄。

錯誤碼

使用下表進一步了解如何解決您在佈建記錄中找到的錯誤。 針對任何遺失的錯誤碼,請使用此頁面底部的連結來提供意見反應。

錯誤碼 描述
Conflict,
EntryConflict
請更正 Azure AD 或應用程式中衝突的屬性值。 或者,如果衝突的使用者帳戶應該進行比對和接管,請檢閱比對屬性設定。 如需設定比對屬性的詳細資訊,請檢閱文件
TooManyRequests 目標應用程式拒絕此更新使用者的嘗試,因為它已超載且收到太多要求。 不需要執行任何動作。 將會自動淘汰此嘗試。 Microsoft 也已收到此問題的通知。
InternalServerError 目標應用程式傳回未預期的錯誤。 目標應用程式的服務問題可能導致其無法運作。 此嘗試將在 40 分鐘內自動重試。
InsufficientRights,
MethodNotAllowed,
NotPermitted,
未經授權
Azure AD 向目標應用程式進行驗證,但未獲授權而無法執行更新。 檢閱目標應用程式提供的任何指示,以及個別的應用程式教學課程
UnprocessableEntity 目標應用程式傳回未預期的回應。 目標應用程式的設定可能不正確,或目標應用程式的服務問題可能導致其無法運作。
WebExceptionProtocolError 連結至目標應用程式時發生 HTTP 通訊協定錯誤。 不需要執行任何動作。 此嘗試將在 40 分鐘內自動重試。
InvalidAnchor 先前由佈建服務所建立或比對的使用者已不存在。 確保該使用者存在。 若要強制對所有使用者進行新的比對,請使用 Microsoft Graph API 來重新開始該作業

重新開始佈建將會觸發初始迴圈,其可能需要一些時間才能完成。 重新開始佈建也會刪除佈建服務用來作業的快取。 這表示租用戶中的所有使用者和群組都必須重新評估,而且可能會捨棄某些佈建事件。
NotImplemented 目標應用程式傳回未預期的回應。 應用程式的設定可能不正確,或目標應用程式的服務問題可能導致其無法運作。 檢閱目標應用程式提供的任何指示,以及個別的應用程式教學課程
MandatoryFieldsMissing,
MissingValues
因為遺漏必要的值而無法建立使用者。 更正來源記錄中遺漏的屬性值,或檢查比對屬性設定,確保不會省略必要的欄位。 深入了解如何設定比對屬性。
SchemaAttributeNotFound 因為指定的屬性不存在於目標應用程式中,而無法執行該作業。 請參閱有關屬性自訂的文件,並確保您的設定正確無誤。
InternalError Azure AD 佈建服務內發生內部服務錯誤。 不需要執行任何動作。 此嘗試將在 40 分鐘內自動重試。
InvalidDomain 因為屬性值包含無效的網域名稱,無法執行該作業。 更新使用者的網域名稱,或將其新增至目標應用程式中的允許清單。
逾時 因為目標應用程式耗費太長時間來回應,無法完成作業。 不需要執行任何動作。 此嘗試將在 40 分鐘內自動重試。
LicenseLimitExceeded 因為沒有此使用者的可用授權,無法在目標應用程式中建立使用者。 針對目標應用程式購買更多授權。 或者,檢閱您的使用者指派和屬性對應設定,以確保已為正確的使用者指派正確的屬性。
DuplicateTargetEntries 因為發現目標應用程式中有一個以上的使用者具有設定的比對屬性,作業無法完成。 從目標應用程式中移除重複的使用者,或重新設定您的屬性對應
DuplicateSourceEntries 因為發現一個以上的使用者具有設定的比對屬性,作業無法完成。 移除重複的使用者,或重新設定您的屬性對應
ImportSkipped 評估每位使用者時,系統會嘗試從來源系統匯入使用者。 當匯入的使用者遺漏您的屬性對應中定義的比對屬性時,通常會發生此錯誤。 如果使用者物件上沒有比對屬性的值,系統就無法評估範圍、比對或匯出變更。 存在此錯誤並不表示使用者在範圍內,因為您尚未評估使用者的範圍。
EntrySynchronizationSkipped 佈建服務已成功查詢來源系統並識別該使用者。 未對使用者採取任何進一步的動作,而且已略過。 使用者可能超出範圍,或使用者可能已存在於目標系統中,因此不需要進一步變更。
SystemForCrossDomainIdentity
ManagementMultipleEntriesInResponse
擷取使用者或群組的 GET 要求,在回應中收到多個使用者或群組。 系統預期只會在回應中收到一個使用者或群組。 例如,如果您執行擷取群組的 GET Group 要求,並提供篩選條件以排除成員,而您的跨網域身分識別管理系統 (SCIM) 端點傳回成員,那麼您將會收到此錯誤。
SystemForCrossDomainIdentity
ManagementServiceIncompatible
Azure AD 佈建服務無法剖析來自第三方應用程式的回應。 請與應用程式開發人員合作,確保 SCIM 伺服器與 Azure AD SCIM 用戶端相容。
SchemaPropertyCanOnlyAcceptValue 目標系統中的屬性只能接受一個值,但來源系統中的屬性有多個值。 請確保您將單一值屬性與擲出錯誤的屬性對應,或將來源中的值更新為單一值,或者從對應中移除該屬性。

跨租使用者同步處理的錯誤碼

使用下表進一步瞭解如何解決您在 跨租使用者同步處理布建記錄中找到的錯誤。 針對任何遺失的錯誤碼,請使用此頁面底部的連結來提供意見反應。

錯誤碼 原因 解決方法
AzureActiveDirectoryCannotUpdateObjectsOriginatedInExternalService 同步處理引擎無法更新目標租使用者中的一或多個使用者屬性。

Microsoft 圖形 API作業失敗,因為授權來源 (SOA) 強制執行。 目前,下列屬性會顯示在清單中:
Mail
showInAddressList
在某些情況下, (例如,當 屬性是使用者更新) 的一部分時 showInAddressList ,同步處理引擎可能會自動重試 (使用者) 更新,而不會發生違規屬性。 否則,您必須直接在目標租使用者中更新 屬性。
AzureDirectoryB2BManagementPolicyCheckFailure 允許自動兌換的跨租使用者同步處理原則失敗。

同步處理引擎會檢查以確保目標租使用者的系統管理員已建立輸入跨租使用者同步處理原則,允許自動兌換。 同步處理引擎也會檢查來源租使用者的系統管理員是否已啟用自動兌換的輸出原則。
請確定來源和目標租使用者都已啟用自動兌換設定。 如需詳細資訊,請參閱 自動兌換設定
AzureActiveDirectoryQuotaLimitExceeded 租使用者中的物件數目超過目錄限制。

Azure AD 具有可在租使用者中建立的物件數目限制。
檢查配額是否可以增加。 如需增加配額之目錄限制和步驟的相關資訊,請參閱 Azure AD 服務限制和限制
InvitationCreationFailure Azure AD 布建服務嘗試邀請目標租使用者中的使用者。 該邀請失敗。 流覽至 Azure AD > 外部使用者共同作業限制中的 [使用者 > 設定] 頁面,並確定已啟用與該租使用者的共同作業。

後續步驟