entra-app-registration

entra-app-registration

熱門

引導 Microsoft Entra ID 應用程式註冊、OAuth 2.0 驗證及 MSAL 整合。適用於:建立應用程式註冊、註冊 Azure AD 應用程式、設定 OAuth、設定驗證、新增 API 權限、產生服務主體、MSAL 範例、主控台應用程式驗證、Entra ID 設定、Azure AD 驗證。不適用於:Azure RBAC 或角色指派(請使用 azure-rbac)、Key Vault 祕密(請使用 azure-keyvault-expiration-audit)、一般 Azure 資源安全性指導。

1196星標
196分支
更新於 2026/6/9
SKILL.md
readonlyread-only
name
entra-app-registration
description

引導 Microsoft Entra ID 應用程式註冊、OAuth 2.0 驗證及 MSAL 整合。適用於:建立應用程式註冊、註冊 Azure AD 應用程式、設定 OAuth、設定驗證、新增 API 權限、產生服務主體、MSAL 範例、主控台應用程式驗證、Entra ID 設定、Azure AD 驗證。不適用於:Azure RBAC 或角色指派(請使用 azure-rbac)、Key Vault 祕密(請使用 azure-keyvault-expiration-audit)、一般 Azure 資源安全性指導。

概觀

Microsoft Entra ID(前身為 Azure Active Directory)是 Microsoft 的雲端式身分識別與存取管理服務。應用程式註冊可讓應用程式安全地驗證使用者並存取 Azure 資源。

重要概念

概念 說明
應用程式註冊 允許應用程式使用 Microsoft 身分識別平台的設定
應用程式 (用戶端) 識別碼 應用程式的唯一識別碼
租用戶識別碼 Azure AD 租用戶/目錄的唯一識別碼
用戶端密碼 應用程式的密碼(僅限機密用戶端)
重新導向 URI 驗證回應傳送的 URL
API 權限 應用程式要求的存取範圍
服務主體 註冊應用程式時在租用戶中建立的身分識別

應用程式類型

類型 使用案例
Web 應用程式 伺服器端應用程式、API
單頁應用程式 (SPA) JavaScript/React/Angular 應用程式
行動/原生應用程式 桌面、行動應用程式
Daemon/服務 背景服務、API

核心工作流程

步驟 1:註冊應用程式

在 Azure 入口網站或使用 Azure CLI 建立應用程式註冊。

入口網站方法:

  1. 瀏覽至 Azure 入口網站 → Microsoft Entra ID → 應用程式註冊
  2. 按一下「新增註冊」
  3. 提供名稱、支援的帳戶類型和重新導向 URI
  4. 按一下「註冊」

CLI 方法: 請參閱 references/cli-commands.md
IaC 方法: 請參閱 references/BICEP-EXAMPLE.bicep

如果您已在專案中使用 IaC、需要可擴充的解決方案來管理大量應用程式註冊,或需要設定變更的細微稽核歷程記錄,強烈建議使用 IaC 來管理 Entra 應用程式註冊。

步驟 2:設定驗證

根據應用程式類型設定驗證選項。

  • Web 應用程式:新增重新導向 URI,必要時啟用識別碼權杖
  • SPA:新增重新導向 URI,必要時啟用隱含授與流程
  • 行動/桌面:使用 http://localhost 或自訂 URI 配置
  • 服務:用戶端認證流程不需要重新導向 URI

步驟 3:設定 API 權限

授權應用程式存取 Microsoft API 或您自己的 API。

常見 Microsoft Graph 權限:

  • User.Read - 讀取使用者設定檔
  • User.ReadWrite.All - 讀取和寫入所有使用者
  • Directory.Read.All - 讀取目錄資料
  • Mail.Send - 以使用者身分傳送郵件

詳細資訊: 請參閱 references/api-permissions.md

步驟 4:建立用戶端認證(如有需要)

對於機密用戶端應用程式(Web 應用程式、服務),請建立用戶端密碼、憑證或同盟身分識別認證。

用戶端密碼:

  • 瀏覽至「憑證與祕密」
  • 建立新的用戶端密碼
  • 立即複製值(僅顯示一次)
  • 安全儲存(建議使用 Key Vault)

憑證: 在生產環境中,建議使用憑證而非密碼以增強安全性。透過「憑證與祕密」區段上傳憑證。

同盟身分識別認證: 用於動態驗證機密用戶端與 Entra 平台。

步驟 5:實作 OAuth 流程

將 OAuth 流程整合到應用程式程式碼中。

請參閱:

常見模式

模式 1:首次應用程式註冊

逐步引導使用者完成首次應用程式註冊。

所需資訊:

  • 應用程式名稱
  • 應用程式類型(Web、SPA、行動、服務)
  • 重新導向 URI(如適用)
  • 所需權限

指令碼: 請參閱 references/first-app-registration.md

模式 2:具有使用者驗證的主控台應用程式

建立可驗證使用者的 .NET/Python/Node.js 主控台應用程式。

所需資訊:

  • 程式語言(C#、Python、JavaScript 等)
  • 驗證程式庫(建議使用 MSAL)
  • 所需權限

範例: 請參閱 references/console-app-example.md

模式 3:服務對服務驗證

設定無需使用者互動的 Daemon/服務驗證。

所需資訊:

  • 服務/應用程式名稱
  • 目標 API/資源
  • 使用密碼或憑證

實作: 使用用戶端認證流程(請參閱 references/oauth-flows.md#client-credentials-flow

MCP 工具與 CLI

Azure CLI 命令

命令 用途
az ad app create 建立新的應用程式註冊
az ad app list 列出應用程式註冊
az ad app show 顯示應用程式詳細資料
az ad app permission add 新增 API 權限
az ad app credential reset 產生新的用戶端密碼
az ad sp create 建立服務主體

完整參考: 請參閱 references/cli-commands.md

Microsoft 驗證程式庫 (MSAL)

MSAL 是整合 Microsoft 身分識別平台的建議程式庫。

支援的語言:

  • .NET/C# - Microsoft.Identity.Client
  • JavaScript/TypeScript - @azure/msal-browser@azure/msal-node
  • Python - msal

範例: 請參閱 references/console-app-example.md

安全性最佳做法

做法 建議
絕不硬編碼祕密 使用環境變數、Azure Key Vault 或受控識別
定期輪替祕密 設定到期日,自動輪替
使用憑證而非祕密 生產環境更安全
最低權限原則 僅要求必要的 API 權限
啟用 MFA 要求使用者進行多重要素驗證
使用受控識別 對於 Azure 託管的應用程式,完全避免使用祕密
驗證權杖 務必驗證簽發者、對象、到期時間
僅使用 HTTPS 所有重新導向 URI 必須使用 HTTPS(localhost 除外)
監控登入 使用 Entra ID 登入記錄進行異常偵測

SDK 快速參考

參考資料

外部資源