🚀 快速安装

复制以下命令并运行,立即安装此 Skill:

npx @anthropic-ai/skills install microsoft/azure-skills/entra-app-registration

💡 提示:需要 Node.js 和 NPM

概述

Microsoft Entra ID(原 Azure Active Directory)是微软基于云的标识和访问管理服务。应用注册允许应用程序对用户进行身份验证,并安全地访问 Azure 资源。

关键概念

概念 描述
应用注册 允许应用使用 Microsoft 身份平台的配置
应用程序(客户端)ID 应用程序的唯一标识符
租户 ID Azure AD 租户/目录的唯一标识符
客户端密码 应用程序的密码(仅限机密客户端)
重定向 URI 发送身份验证响应的 URL
API 权限 应用程序请求的访问范围
服务主体 注册应用时在租户中创建的标识

应用程序类型

类型 使用场景
Web 应用程序 服务器端应用、API
单页应用 (SPA) JavaScript/React/Angular 应用
移动/原生应用 桌面、移动应用
守护程序/服务 后台服务、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,根据需要启用 ID 令牌
  • 单页应用:添加重定向 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:服务间身份验证

设置无需用户交互的守护程序/服务身份验证。

所需信息:

  • 服务/应用名称
  • 目标 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 快速参考

参考资料

外部资源

📄 原始文档

完整文档(英文):

https://skills.sh/microsoft/azure-skills/entra-app-registration

💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。