Rust Azure Key Vault 证书技能
帮助 Rust 应用在 Azure Key Vault 中创建、管理和使用 X.509 证书。
提供官方 crate 限定、避免硬编码凭据,并区分本地开发与生产身份,降低依赖和凭据风险;但创建、更新、签名和删除会产生外部或敏感证书影响,未要求用户确认、说明最小 RBAC 范围、数据流、删除恢复或回滚,因此扣分。
安装、认证、LRO、分页和签名示例整体一致,且说明了 Poller 和部分依赖;但未固定版本,安装命令遗漏签名示例实际使用的 Key Vault Keys crate,也没有针对异常输入、权限失败、轮询失败或网络失败的诊断处理;静态校准限制分数不超过 10。
目标受众、Rust 场景、触发词和主要证书操作较清楚;但未明确不适用范围、证书格式与密钥类型限制、生产部署边界,也未说明中文使用或中国大陆网络可达性,因此触发精度和环境适配证据有限。
文档结构清晰,包含安装、环境变量、认证、核心流程、最佳实践、RBAC、格式和参考链接,并有 MIT、作者及官方来源元数据;但缺少 SDK 版本策略、变更记录、明确维护责任/更新路径、FAQ 和系统化故障排查,且部分依赖假设隐藏在示例中。
可直接帮助用户完成获取、创建自签名证书、更新、删除、分页和签名等核心任务,示例具有较高实用性;但 CA-issued 流程、完整项目配置、证书内容导出、错误恢复和签名依赖安装不完整,静态阅读无法证明代码可编译或结果正确,故不超过 7。
提供 docs.rs、crates.io 和 Azure SDK 源码链接,且仓库存在 CI、评估工作流和测试文件;但所给材料没有证明这些测试覆盖该具体 skill,也没有目标 skill 的验收样例或执行结果,静态校准限制分数不超过 5。
- 删除证书示例没有用户确认、备份、恢复或回滚说明,生产使用前应补充保护措施。
- 签名示例依赖 azure_security_keyvault_keys,但安装命令未包含该 crate,可能导致生成项目无法直接编译。
- 未提供版本锁定、API 兼容性说明和该 skill 专属测试证据;应在采用前核对当前 SDK 文档并进行编译验证。
- 未说明中国大陆网络访问、代理或离线替代方案。
它能做什么 & 适用场景
该技能面向使用 Azure Key Vault Certificates Rust SDK 的开发者。它涵盖自签名证书和 CA 签发证书的创建、属性更新、删除、分页列表,以及长时间运行的证书签发操作。它还说明如何使用 Key Vault Keys SDK 进行签名,并给出证书格式、RBAC、身份验证和依赖安装示例。技能要求使用官方 azure_security_keyvault_certificates crate。
指导开发者通过 CertificateClient 连接 Key Vault,使用 DeveloperToolsCredential 进行本地身份验证,读取证书,创建自签名证书,等待 Poller 完成长时间运行操作,更新证书标签,删除证书并分页列出证书属性。它还展示如何通过 KeyClient 使用证书关联的密钥签名摘要,并介绍 PKCS#12 与 PEM 格式及相应内容类型。
- 使用 Rust 构建 TLS/SSL 服务,需要在 Key Vault 中创建或管理 X.509 证书的开发者。
- 需要生成自签名证书用于开发或测试的 Rust 团队。
- 需要通过 CA 签发流程创建证书,并处理长时间运行操作的应用。
- 需要使用 Key Vault 中证书关联密钥进行代码签名或数据签名的开发者。
- 采用 Entra ID 身份验证并需要配置 Key Vault 证书访问角色的团队。
优缺点一览
- 覆盖证书创建、更新、删除、列表和签名等完整基础流程。
- 提供 Rust SDK 的可复制代码示例,包括 Poller、Pager、ResourceExt 和认证方式。
- 明确要求使用官方 crate,并提醒不要使用非官方 crate 或版本 0.21.0。
- 包含 Entra ID RBAC 角色、PKCS#12/PEM 格式和安全凭据实践。
- 内容聚焦 Azure Key Vault Certificates,不能替代 Key Vault Keys 或 Secrets 技能。
- 源材料没有提供该 Rust 技能的专属测试场景或测试覆盖证明。
- 证书的详细 CA 配置、导入流程和证书轮换流程未在该技能中展开。
- 实际 Azure 资源、权限配置和运行时错误处理仍需开发者自行完成。
如何安装
先安装 Rust 与 Cargo,然后在目标 Rust 项目中运行:cargo add azure_security_keyvault_certificates azure_identity tokio futures。如果代码直接使用 azure_core 类型,再运行 cargo add azure_core。安装整个技能集合可运行 npx skills add microsoft/skills,并在向导中选择该技能;集合技能会安装到所选 Agent 的目录,例如 .github/skills/。
如何使用
将技能安装到 Agent 后,可使用这些触发语句开始请求:"keyvault certificates rust"、"CertificateClient rust"、"create certificate rust"、"self-signed certificate rust" 或 "X.509 rust"。设置 AZURE_KEYVAULT_URL,并在 Rust 代码中创建 CertificateClient;本地开发使用 DeveloperToolsCredential,生产环境使用 ManagedIdentityCredential。