开发与工程 ✓ Microsoft · 官方 azure-identitymicrosoft-entra-idpython-sdkmanaged-identityservice-principaltoken-caching

Azure Identity Python 认证技能

为 Python Azure 应用提供基于 Microsoft Entra ID 的可复用身份认证指导。

FollowSkills 评估 · FSRS-2.0
谨慎使用
60/ 100 五分制 3.0 / 5
信任安全18 / 25 · 3.6/5

文档倡导使用 Entra、托管身份、环境变量和凭据上下文管理器,并警告不要硬编码凭据及不要使用未加密缓存;但 DefaultAzureCredential 默认会尝试多种本地凭据,调试日志可能暴露敏感认证信息,示例还展示了允许任意租户的通配符,未充分说明最小权限、确认、数据流和恢复边界,因此扣分。

可靠稳定9 / 20 · 2.3/5

主文档与参考文档在同步、异步、缓存、错误处理和日志方面大体一致,并提供异常类型和诊断信息;但 Python 包版本未锁定,当前 API 链顺序和参数依赖外部文档,未提供针对该技能关键路径的可执行测试,因此按静态上限保守扣分。

适用触发11 / 15 · 3.7/5

触发词、目标用户和典型环境覆盖较清晰,包括本地开发、Azure 托管、CI/CD、桌面和无头设备;但未明确非适用场景、权限前提、输入输出边界或语义误触发条件,中文说明缺失,仅通过中国云 authority 示例部分支持中国环境,因此扣分。

规范维护10 / 15 · 3.3/5

具备 front matter、MIT 许可、作者、版本、安装说明、分层参考文件、场景矩阵和外部 API 参考;但缺少该技能专属 changelog、依赖版本策略、维护责任人的明确更新路径、FAQ 和完整限制说明,且部分参考内容重复,因此扣分。

有效结果7 / 15 · 2.3/5

覆盖 DefaultAzureCredential、托管身份、服务主体、工作负载身份、令牌提供器、异步和错误处理,代码片段对常见认证任务具有直接参考价值;但多数示例使用占位符,未展示端到端验证结果、权限配置或与替代方案的比较,静态审查不能确认代码在目标版本上可直接运行,因此按静态上限计分。

证据核验5 / 10 · 2.5/5

文档提供 Microsoft Learn、PyPI 和 Azure SDK 源码等可追溯主来源,仓库还提供通用 CI、评估工作流和测试工具;但所给材料没有证明该技能关键路径已被专项测试或独立复现,来源也未在技能内容中绑定具体版本,因此不超过静态上限。

证据充分度: 评估于 2026年7月20日 审查版本 9ccaf7c3704a
使用前请注意
  • DefaultAzureCredential 可能意外使用开发者本地登录状态;生产环境应显式限制凭据链并审查其权限。
  • 不要在生产环境启用未加密持久化缓存或无筛选的调试日志;避免使用 additionally_allowed_tenants=["*"],除非已完成明确的租户边界审查。
  • 安装命令未锁定 azure-identity 版本,使用前应核对当前 API、依赖和云环境支持情况。
  • 这是静态文档评估,未执行示例、认证流程或专项测试。
查看完整评分方法 →

它能做什么 & 适用场景

此技能面向使用 Azure SDK 的 Python 开发者,覆盖 DefaultAzureCredential、托管身份、服务主体和直接令牌获取。它提供安装命令、环境变量、同步与异步代码示例,以及凭据链定制、持久化缓存、多租户和错误处理方法。内容还涵盖主权云、Azure Pipelines、AKS 工作负载身份和非 Azure SDK 客户端的 bearer token provider。该技能适合需要统一本地开发、云端部署和 CI/CD 认证方式的项目。

指导用户安装 azure-identity,并配置租户、客户端、密钥、证书、主权云和托管身份相关环境变量;生成使用 DefaultAzureCredential、ManagedIdentityCredential、ClientSecretCredential 等凭据的 Python 代码;展示 get_token()、get_bearer_token_provider()、同步/异步客户端、凭据链、令牌缓存、日志和异常处理;根据运行环境推荐凭据类型。

  1. 本地开发者需要让 Python Azure SDK 客户端通过 Azure CLI、VS Code 或其他开发凭据登录。
  2. Azure App Service、Functions 或虚拟机上的应用需要使用托管身份访问 Azure 服务。
  3. 团队需要用客户端密钥、证书或工作负载身份配置服务主体认证。
  4. AKS 工作负载需要通过 Microsoft Entra Workload ID 获取令牌。
  5. 应用需要为 Azure OpenAI 等非 Azure SDK 客户端提供 bearer token。

优缺点一览

优点
  • 覆盖本地开发、Azure 托管环境、CI/CD、桌面应用和无头工具等多种认证场景。
  • 提供同步和异步 API、凭据链顺序、环境变量、错误分类与调试日志示例。
  • 强调 DefaultAzureCredential、托管身份、凭据复用和上下文管理器等生产实践。
  • 明确列出 Python 版本要求、凭据类型和参考链接。
局限
  • 技能只提供指导和示例,不包含可直接运行的完整项目或自动化部署流程。
  • 示例依赖 Azure 服务、身份配置和网络访问;实际权限、租户设置和服务端配置未在技能中完成。
  • README 的测试覆盖摘要没有明确证明该单个技能拥有独立测试场景。
  • 持久化令牌缓存、证书认证和多租户配置需要使用者自行评估安全策略。

如何安装

在 Copilot CLI 或兼容的技能安装流程中运行 npx skills add microsoft/skills,在向导中选择 azure-identity-py。集合会安装到所选 Agent 的目录,例如 GitHub Copilot 使用 .github/skills/。README 未提供该单个插件路径的独立安装命令。

如何使用

在编码请求中使用触发词,例如:请用 azure-identity 和 DefaultAzureCredential 为 Python Blob Storage 客户端配置本地开发与 Azure 部署认证,并正确关闭凭据和客户端。 对 Azure 托管工作负载、服务主体、AKS 工作负载身份、令牌缓存或凭据链故障排查,可直接说明对应场景。

常见问题

这个技能是否适合只使用 API 密钥或连接字符串的项目?
不完全适合。技能明确建议优先使用 Microsoft Entra ID 凭据,并避免连接字符串、账户密钥或 API 密钥,因为这些方式绕过 Entra 审计和轮换。
生产环境应该使用哪种凭据?
技能建议生产代码使用托管身份或其他具体的生产凭据,并设置 `AZURE_TOKEN_CREDENTIALS=prod` 或指定凭据名称来限制 DefaultAzureCredential 的链。
认证失败时能否排查具体原因?
可以。技能区分 CredentialUnavailableError 与 ClientAuthenticationError,并提供 `azure.identity` 的 DEBUG 日志和 `AZURE_LOG_LEVEL=debug` 配置。
是否支持异步 Python 应用?
支持。异步凭据位于 `azure.identity.aio`,技能要求使用 `async with` 或显式关闭异步凭据和客户端。

同仓库的其他 Skills

均来自 microsoft/agent-skills

开发与工程 ✓ Microsoft · 官方

Azure Event Hubs Java 开发技能

帮助 Java 开发者构建高吞吐、可 checkpoint 的 Azure 事件流应用。

开发与工程 ✓ Microsoft · 官方

Azure Tables Python 技能

帮助 Python 开发者使用 Azure Tables 完成安全认证、实体管理、查询与批量事务操作。

开发与工程 ✓ Microsoft · 官方

Azure Identity TypeScript

为 TypeScript Azure 应用配置安全、可切换的 Microsoft Entra ID 身份验证。

自动化与运维 ✓ Microsoft · 官方

Azure 应用可靠性顾问

评估并提升 Azure Functions 与 App Service 的可靠性。

开发与工程 ✓ Microsoft · 官方

Azure 云架构师

帮助编码代理按照 Azure 架构中心最佳实践设计和审查生产级云系统。

开发与工程 ✓ Microsoft · 官方

Azure AI 文本分析 Python 技能

为 Python 开发者提供 Azure 文本分析与自然语言处理集成指导。

自动化与运维 ✓ Microsoft · 官方

Azure 资源架构可视化器

分析 Azure 资源组及其依赖关系,生成详细的 Mermaid 架构图。

开发与工程 ✓ Microsoft · 官方

Azure Maps .NET 开发技能

为 .NET 应用提供地理搜索、路线、地图、定位与天气开发指导。

开发与工程 ✓ Microsoft · 官方

Azure AI Vision 图像分析技能

为 Python 编码代理提供 Azure AI Vision 图像理解实现指南。

开发与工程 ✓ Microsoft · 官方

Azure Blob Storage Python 技能

帮助 Python 开发者安全高效地操作 Azure Blob Storage。

开发与工程 ✓ Microsoft · 官方

Azure Queue Storage Python 技能

帮助编码代理使用 Python 构建安全、可靠的 Azure Queue Storage 异步消息处理。

自动化与运维 ✓ Microsoft · 官方

Azure AI 网关治理

用 Azure API Management 统一治理 AI 模型、MCP 工具和智能体流量。

自动化与运维 ✓ Microsoft · 官方

AKS Automatic 就绪评估

评估 Kubernetes 工作负载能否迁移到 AKS Automatic,并定位兼容性阻塞项。

开发与工程 ✓ Microsoft · 官方

Azure Cosmos DB .NET 资源管理技能

用 .NET 通过 ARM 部署和管理 Azure Cosmos DB 资源。

开发与工程 ✓ Microsoft · 官方

Azure Playwright 工作区管理技能

用 .NET 通过 Azure Resource Manager 配置和管理 Microsoft Playwright Testing 工作区。

开发与工程 ✓ Microsoft · 官方

Azure Cosmos DB Python 技能

帮助 Python 开发者可靠地构建和操作 Azure Cosmos DB NoSQL 应用。

开发与工程 ✓ Microsoft · 官方

Azure Key Vault Python SDK 技能

帮助 Python 编码代理安全管理 Azure Key Vault 中的机密、加密密钥和证书。

开发与工程 ✓ Microsoft · 官方

Azure API Management Python 技能

帮助编码代理使用 Python SDK 管理 Azure API Management 的服务、API、产品、订阅与策略。

开发与工程 ✓ Microsoft · 官方

Azure Monitor 查询 Python 技能

帮助 Python 开发者查询 Azure Monitor 日志与指标。

开发与工程 ✓ Microsoft · 官方

Azure Queue Storage Rust 技能

帮助 Rust 开发者使用官方 Azure SDK 构建安全的队列消息处理流程。

相关 Skills