Azure Identity for .NET
为 .NET Azure SDK 客户端提供 Microsoft Entra ID 身份验证指导。
文档覆盖托管身份、服务主体、证书和开发者凭据,并使用占位符;但未明确最小权限、用户确认、凭据数据流、秘密不落盘或日志脱敏,且展示客户端秘密和证书密码配置,缺少外部副作用与回滚说明,因此扣分。
安装、常见凭据链、异常类型和重试配置示例较连贯;但未提供该技能专属测试、依赖版本、环境前置条件或可复现故障诊断,部分 API 与 SDK 版本兼容性无法静态确认,因此仅给中低分。
触发词、.NET/Azure Identity 受众和主要场景较明确,涵盖开发、生产、托管身份及主权云;但未清楚声明不适用范围、输入输出边界、权限前提或中文环境支持,网络可达性也未说明,因此扣分。
章节结构清晰,包含安装、环境变量、示例、异常、相关包、MIT 许可、作者和版本;但缺少变更记录、明确维护责任和更新流程,版本仅为技能元数据版本,依赖版本与限制说明不足,因此扣分。
示例可直接作为 Azure .NET 身份认证起点,覆盖常见凭据和 DI;但没有该技能的实际输出验证、完整端到端任务流程、权限配置指导或与替代方案的比较,使用者仍需自行校验版本和安全配置,因此按静态上限给分。
提供 Microsoft/Azure SDK、NuGet、API 和最佳实践链接,具备一定主源可追溯性;但本技能没有提交的专属测试或执行结果,仓库级 CI/测试材料未证明该路径关键示例已覆盖,因此证据有限。
- 不要将 DefaultAzureCredential 未经审查地用于生产;应确认凭据链顺序、租户和权限范围。
- 避免把 AZURE_CLIENT_SECRET、证书密码或认证日志提交到仓库或输出到共享日志。
- 安装前应锁定并核对 Azure.Identity 及相关包版本,验证示例 API 与目标 .NET 运行时兼容。
- 文档未说明中国大陆网络、企业代理和主权云访问前提,部署前需单独验证。
它能做什么 & 适用场景
这是 Microsoft Agent Skills 仓库中的一个 .NET 技能,专注于 Azure.Identity 身份验证库。它指导编码代理安装相关 NuGet 包,并配置 DefaultAzureCredential、托管身份、服务主体和开发者凭据。内容覆盖环境变量、ASP.NET Core 依赖注入、主权云、自定义凭据链、重试、日志和异常处理。适合需要让 .NET 应用安全访问 Azure SDK 客户端的开发者。
提供 Azure.Identity、Microsoft.Extensions.Azure 和 Azure.Identity.Broker 的安装命令;展示如何通过环境变量配置服务主体和托管身份;生成 DefaultAzureCredential、ManagedIdentityCredential、ClientSecretCredential、ClientCertificateCredential、ChainedTokenCredential 及多种开发者凭据的 C# 示例;说明 ASP.NET Core 依赖注入、主权云、重试策略、诊断日志、异常处理和凭据实例复用;列出 Azure.Identity 的凭据类型、相关包、参考链接及支持托管身份的 Azure 服务。
- 使用 Azure Blob Storage 或 Key Vault 的 .NET 开发者,需要快速接入 DefaultAzureCredential。
- 部署到 App Service、Functions、AKS 或虚拟机的团队,需要使用系统分配或用户分配托管身份。
- 本地开发者需要在 Azure CLI、Azure PowerShell、Azure Developer CLI 或 Visual Studio 凭据之间切换。
- ASP.NET Core 团队需要通过 Microsoft.Extensions.Azure 将 Azure 客户端和凭据接入依赖注入。
- 面向 Azure Government 或 Azure China 的开发者,需要配置对应的 AuthorityHost。
优缺点一览
- 覆盖从本地开发到 Azure 托管环境的多种 Microsoft Entra ID 凭据。
- 提供可复制的 C# 和 shell 示例,涵盖常见 Azure SDK 客户端集成。
- 包含生产环境凭据选择、凭据复用、重试、日志和异常处理建议。
- 明确支持 ASP.NET Core 依赖注入和主权云配置。
- 技能只提供指导和示例,不包含可直接运行的脚本或测试套件。
- DefaultAzureCredential 的实际凭据链顺序依赖其外部官方文档;技能本身未完整列出顺序。
- 示例使用占位符,实际 Entra ID 应用注册、角色分配和权限配置不在该技能范围内。
- 源材料未说明具体 .NET SDK 版本或经过验证的平台矩阵。
如何安装
在包含该仓库的 Agent Skills 客户端中运行 npx skills add microsoft/skills,然后在向导中选择所需技能。该技能位于 .github/plugins/azure-sdk-dotnet/skills/azure-identity-dotnet/SKILL.md。仓库没有提供该技能的独立安装命令。使用技能涉及的 .NET 包时,可运行 dotnet add package Azure.Identity;ASP.NET Core 集成可额外安装 Microsoft.Extensions.Azure,经纪身份验证和 Visual Studio Code 凭据支持可安装 Azure.Identity.Broker。
如何使用
向编码代理提出包含 “Azure Identity”、DefaultAzureCredential、ManagedIdentityCredential、ClientSecretCredential、“.NET authentication” 或 “credential chain” 的请求,例如:为我的 .NET BlobServiceClient 配置适用于本地开发和 Azure App Service 的凭据方案。代理应根据场景提供安装命令、C# 凭据配置、环境变量、错误处理和生产环境建议。
对比同类
技能将 DefaultAzureCredential 定位为大多数场景的推荐选择,同时建议生产环境使用更确定的凭据,例如 ManagedIdentityCredential;需要自定义认证顺序时可使用 ChainedTokenCredential。