建立 Azure AD 應用程式註冊

已完成

若為應用程式開發人員,您的第一個工作是註冊 Azure AD 應用程式。 Azure AD 應用程式會建立您應用程式的身分識別,並指定對 Power BI REST API 資源的權限。 您的應用程式可以使用 Azure AD 應用程式註冊來產生 Azure AD 權杖。

每個 Azure AD 應用程式都有 ApplicationID,有時稱為 ClientID。 其是全域唯一識別碼,可識別 Microsoft 身分識別平台中的應用程式。 應用程式在要求 Azure AD 權杖時會使用 ApplicationID,因此其值應在應用程式的組態檔中硬式編碼。

您的應用程式必須將 Azure AD 應用程式憑證設定為自行驗證,而不需要與應用程式使用者互動。 您可以將憑證用戶端密碼新增至應用程式註冊作為認證。

憑證 (有時稱為公開金鑰) 是實際執行應用程式的建議認證類型,因為其是比用戶端密碼更為安全的項目。 如需使用憑證作為應用程式中驗證方法的詳細資訊,請參閱 Microsoft 身分識別平台應用程式驗證憑證認證

而用戶端密碼是一個字串值,您的應用程式可以用於將憑證取代為身分識別本身。 有時稱為應用程式密碼

重要

用戶端密碼是相較於憑證認證稍不安全的項目。 開發人員有時會在本機應用程式開發期間使用用戶端密碼,因為其便於使用。 不過,您應針對實際執行應用程式使用憑證認證。

無論使用憑證或用戶端密碼,您都應該採取步驟來保護認證免於未經授權的存取和使用。 我們建議使用 Azure Key Vault,以保護雲端中的密碼編譯金鑰、憑證和秘密。

您有三個選項可建立應用程式註冊:

  • 使用 Azure 入口網站
  • 使用內嵌設定工具
  • 開發 PowerShell 指令碼

使用 Azure 入口網站

使用 Azure 入口網站中的應用程式註冊來建立、列出和管理您主租用戶中的應用程式物件。 您也可以新增秘密或憑證和範圍來讓您的應用程式運作、在登入對話方塊中自訂應用程式的商標等。

注意

當您在 Azure 入口網站中註冊應用程式時,入口網站會自動同時建立服務主體物件。

使用 Azure 入口網站的優點是會公開所有支援的 Power BI 服務權限。 權限包括檢視所有報表、讀取和寫入所有報表等權限。

Azure 入口網站 [要求 API 許可權] 視窗的螢幕快照。它會顯示兩個授與的許可權:檢視所有報表,以及讀取和寫入所有報表。

Azure 入口網站允許向主要使用者帳戶授與這些權限,以避免 Azure AD 提示同意。 進一步來說,全域管理員可以將權限授與組織內的所有使用者,以避免提示所有應用程式使用者。

注意

當您的應用程式內嵌身分識別是服務主體時,就不需要授與權限。 這是因為 Power BI 系統管理員會在 Power BI 系統管理入口網站中管理其權限。

不過,使用 Azure 入口網站的缺點是開發人員可能會感到相當耗時且複雜。

使用內嵌設定工具

若要簡化並加速設定開發環境,請使用內嵌設定工具。 其提供兩個內嵌解決方案選項:針對您的客戶內嵌針對您的組織內嵌

注意

客戶應用程式內嵌範例不支援使用服務主體內嵌身分識別;不過,可以調整以支援它。

內嵌安裝工具中所顯示兩個選項的螢幕快照,也就是:為客戶內嵌和為組織內嵌。

此工具簡化複雜的設定程序。 只需要幾分鐘的時間,就能完成如同精靈 (Wizard) 一般的工作流程。 當您完成時,此工具會自動:

  • 建立 Azure AD 應用程式註冊,並要求 REST API 權限相關的 Power BI。
  • 建立工作區 (選擇性)。
  • 將資料集和報表匯入工作區 (選擇性)。 您可以匯入範例報表,也可以上傳您選擇的 Power BI Desktop (.pbix) 檔案。
  • 授與權限以避免 Azure AD 提示同意。
  • 傳回重要的組態值,包括 ApplicationID、工作區識別碼 (GroupID) 和 ReportID。
  • 建立以 C# 撰寫的範例 ASP.NET 應用程式,以供您下載為 zip 檔案。 應用程式的組態檔包含所有組態值 (如先前列出項目所述),但不包含主要使用者帳戶或其認證。 您必須輸入這些組態值。

作為初入的 Power BI 內嵌分析開發人員,這會是有利的消息。 首先,您可以在幾分鐘內取得功能應用程式。 其次,Microsoft 使用目前的軟體連結庫和良好的設計做法來開發範例應用程式,因此您可以反向工程它們,以瞭解其運作方式和學習方式。 不論您選擇繼續開發應用程式,或從頭開始並套用新的技能來開發新的應用程式,您都一定能夠完成。

開發 PowerShell 指令碼

當您需要重現管理作業時,開發指令碼來建立應用程式註冊將會是一個很好的選項。 例如,您可以建立指令碼,在多租用戶應用程式中上線新的租用戶。 撰寫良好的指令碼可以產生更快速且更精確的結果。

Microsoft Graph 提供統一的可程式性模型。 其會公開 REST API 和用戶端程式庫,以存取資料並在各項 Microsoft 雲端服務上執行作業。 如同建立應用程式註冊,您可以使用 Microsoft Graph 來:

  • 產生應用程式秘密
  • 建立應用程式註冊
  • 建立應用程式的服務主體
  • 將使用者指派為應用程式擁有者
  • 將服務主體新增至安全性群組

注意

透過程式設計來建立應用程式註冊時,不會自動建立服務主體。 您的指令碼必須明確將服務主體新增至應用程式。

提示

如需如何開發指令碼以建立應用程式註冊的範例,請參閱「自動化 Power BI解決方案管理模組」(Automate Power BI solution management module)。