开发与工程 ✓ 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
1 2 3 4 5 6
1信任安全18 / 25 · 3.6/5

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

2可靠稳定9 / 20 · 2.3/5

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

3适用触发11 / 15 · 3.7/5

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

4规范维护10 / 15 · 3.3/5

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

5有效结果7 / 15 · 2.3/5

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

6证据核验5 / 10 · 2.5/5

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

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

这个 Skill 能做什么,适合哪些场景?

此技能面向使用 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。

这个 Skill 有哪些优点和局限?

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

如何安装这个 Skill?

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

如何使用这个 Skill?

在编码请求中使用触发词,例如:请用 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 Identity for .NET

为 .NET Azure SDK 客户端提供 Microsoft Entra ID 身份验证指导。

开发与工程 ✓ Microsoft · 官方

Azure Identity Java 认证助手

为 Java Azure 应用选择并配置安全的 Entra ID 凭据。

开发与工程 ✓ Microsoft · 官方

Azure Identity TypeScript

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

开发与工程 ✓ Microsoft · 官方

Azure Rust 身份认证技能

为 Rust Azure SDK 客户端配置 Microsoft Entra ID 身份认证。

开发与工程 ✓ Microsoft · 官方

Azure Queue Storage Python 技能

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

开发与工程 ✓ Microsoft · 官方

Azure API Management Python 技能

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

开发与工程 ✓ Microsoft · 官方

Azure Bot Service Python 管理技能

用 Python 创建、管理和配置 Azure Bot Service 机器人及其通信渠道。

开发与工程 ✓ Microsoft · 官方

Microsoft Foundry Python 项目技能

为编码代理提供使用 Azure AI Projects Python SDK 构建 Foundry AI 应用的可靠模式。

开发与工程 ✓ Microsoft · 官方

Azure Service Bus Python 技能

为 Python 开发者提供 Azure Service Bus 队列与发布/订阅消息模式的实用指导。

开发与工程 ✓ Microsoft · 官方

Azure Web PubSub Python 技能

帮助 Python 开发者构建基于 WebSocket 的 Azure 实时消息与发布订阅功能。

开发与工程 ✓ Microsoft · 官方

Azure Event Hubs Python 技能

为 Python 应用提供高吞吐事件流的发送、接收与检查点模式。

开发与工程 ✓ Microsoft · 官方

Azure Blob Storage Python 技能

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

开发与工程 ✓ Microsoft · 官方

Azure Key Vault Python SDK 技能

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

开发与工程 ✓ Microsoft · 官方

Azure AI 内容安全 Python 技能

帮助 Python 应用检测文本和图像中的有害内容,并管理自定义屏蔽词。

开发与工程 ✓ Microsoft · 官方

Azure 应用配置 Python 技能

为 Python 应用集中管理配置、功能标志和动态设置。

开发与工程 ✓ Microsoft · 官方

Azure 容器注册表 Python 技能

用 Python 管理 Azure 容器镜像、制品与仓库。

开发与工程 ✓ Microsoft · 官方

Entra 应用注册助手

指导 Entra 应用注册与 OAuth 身份认证集成。

开发与工程 ✓ Microsoft · 官方

Azure 文件共享 Python 技能

帮助 Python 开发者安全管理 Azure SMB 文件共享、目录和文件。

开发与工程 ✓ Microsoft · 官方

Azure Queue Storage TypeScript 技能

帮助 TypeScript/JavaScript 应用可靠地发送、接收和管理 Azure 队列消息。

开发与工程 ✓ Microsoft · 官方

Fabric 容量管理助手(.NET)

用 .NET 通过 Azure Resource Manager 管理 Microsoft Fabric 容量。

相关 Skills