mcpField
E
entra-app-registration

entra-app-registration

官方
github.com/microsoft安全1.6k569.0k 次安装今天更新
代码仓库

关于 entra-app-registration

Entra App Registration 是一项用于配置 Microsoft Entra ID 应用注册的技能,涵盖应用类型、身份验证、API 权限与凭据设置。适合需要为 Web、SPA、移动端或后台服务配置身份验证的开发者。文档同时提供 Azure CLI、Bicep 与 MSAL 的使用方式。

主要功能

  1. 01说明应用注册的核心概念与应用类型
  2. 02指导身份验证与重定向 URI 配置
  3. 03配置 Microsoft Graph 等 API 权限
  4. 04支持客户端密钥、证书与联合凭据
  5. 05提供 az ad 命令与 MSAL 示例

适用场景

  1. 01为 Web 应用或 API 创建 Entra 应用注册
  2. 02为后台服务配置无用户交互的服务间认证
  3. 03使用 Bicep 或 CLI 批量管理应用注册

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/microsoft/azure-skills --skill entra-app-registration

安装后在 Claude Code 中输入/entra-app-registration确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
api-permissions.md
auth-best-practices.md
BICEP-EXAMPLE.bicep
cli-commands.md
console-app-example.md
first-app-registration.md
oauth-flows.md
troubleshooting.md
references/sdk/
azure-identity-dotnet.md
azure-identity-java.md
azure-identity-py.md
azure-identity-rust.md
azure-identity-ts.md
azure-keyvault-py.md
azure-keyvault-secrets-ts.md
microsoft-azure-webjobs-extensions-authentication-events-dotnet.md

详细介绍

概述

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

核心概念
概念描述
应用注册允许应用使用 Microsoft 身份平台的配置
应用程序(客户端)ID应用程序的唯一标识符
租户 IDAzure 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 令牌
  • 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:服务到服务身份验证

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

所需信息:

  • 服务/应用名称
  • 目标 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 Authentication Library (MSAL)

MSAL 是集成 Microsoft identity platform 的推荐库。

支持的语言:

  • .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 快速参考

参考资料

外部资源

评论

支持 Markdown