Azure Key Vault Secrets Rust 技能
帮助 Rust 应用安全地存取和管理 Azure Key Vault 中的密码、API 密钥与连接字符串。
文档限定使用官方 crate,建议托管身份、禁止硬编码凭据,并列出 RBAC 角色,具备基本数据流和权限提示;但示例直接 println! 输出 secret.value,未说明避免日志泄露,删除操作无用户确认、回滚或恢复说明,且未覆盖网络传输、审计和敏感输出处理,因此扣分。
核心安装、认证、获取、设置、更新、删除、分页和错误处理路径描述基本一致,且错误示例提到结构化错误;但未提供该技能专属测试、版本锁定、重试/超时/网络异常策略,示例中的 AZURE_KEYVAULT_URL 也未实际用于客户端构造,静态证据不足,按上限保守评分。
触发短语、Rust/Azure Key Vault 场景和主要操作较明确,也说明本地开发与生产身份差异;但未定义不适用场景、输入输出边界、删除风险确认要求或中国网络/中文使用适配,且依赖 Azure 服务可达性,故扣分。
SKILL.md 结构清晰,包含安装、环境变量、认证、工作流、错误处理、RBAC、最佳实践、参考链接,许可证和作者元数据明确;但没有 crate/SDK 版本策略、变更记录、维护责任或故障排查 FAQ,且“只用 cargo add、不要直接编辑 Cargo.toml”属于偏强的流程约束,故未满分。
文档覆盖常见 secrets CRUD、分页和身份配置,代码片段对生成 Rust SDK 调用代码有直接帮助;但示例未完整展示 URL 环境变量读取、生产安全输出、删除前确认及恢复策略,且没有该技能输出的执行验证,仍需人工校验和安全改写。
提供 docs.rs、crates.io、Azure SDK 源码等可审计参考,并明确官方 crate 来源;但引用未固定版本,提交材料未显示该技能专属可复现测试或第三方执行结果,仓库测试/CI主要是通用 harness,静态证据有限。
- 示例会把 Key Vault secret 值直接写入标准输出,生产代码应避免日志泄露。
- 删除操作具有外部持久化影响,文档应要求显式确认并说明恢复/软删除前提。
- 应固定兼容的 crate/SDK 版本,并验证示例 API 与当前版本一致。
- AZURE_KEYVAULT_URL 被声明为必需变量但示例仍使用占位 URL;应展示安全读取和校验方式。
- Azure 服务访问和身份认证依赖外部网络与租户配置,未提供中国大陆网络可达性说明。
它能做什么 & 适用场景
这是 Microsoft Agent Skills 仓库中的一个 Rust SDK 指导技能,面向 Azure Key Vault Secrets。它围绕官方 azure_security_keyvault_secrets crate,说明如何创建 SecretClient、配置身份验证并管理机密。内容覆盖设置、读取、更新、删除和分页列出机密属性,以及缺失机密的错误处理。它适合已经使用 Azure Key Vault 和 Rust 的开发者,但不提供独立的测试套件或完整项目脚手架。
指导编码代理生成或修改 Rust 代码:使用 SecretClient 读取、设置、更新和删除 Key Vault 机密;通过 Pager 分页列出机密属性;使用 ResourceExt 提取机密名称和版本;配置 DeveloperToolsCredential 或 ManagedIdentityCredential;处理包含错误代码和消息的结构化错误响应;根据 Entra ID 配置 Key Vault Secrets User 或 Key Vault Secrets Officer 角色。
- Rust 开发者需要从 Azure Key Vault 读取应用密码或 API 密钥时。
- 后端团队需要在 Rust 服务中创建、更新或删除 Key Vault 机密时。
- 应用需要分页遍历 Key Vault 中的机密属性时。
- 开发者需要为本地开发和生产环境选择合适的 Azure 身份验证方式时。
- 团队需要排查机密不存在等 Key Vault 调用错误时。
优缺点一览
- 覆盖 Key Vault Secrets 的完整基础生命周期操作。
- 明确要求使用官方 Azure SDK crate,并提醒避免非官方 crate。
- 包含身份验证、RBAC、分页和结构化错误处理示例。
- 提供 Rust 模型更新和客户端复用等具体实践建议。
- 只针对 Rust 的 Azure Key Vault Secrets,不覆盖 Key Vault Keys 或 Certificates。
- 要求配置 Azure Key Vault URL、身份凭据和相应 RBAC 权限。
- 源材料没有说明版本锁定、完整测试场景或离线使用方式。
- 集合 README 的安装流程面向整套技能,未说明该插件路径下技能的独立复制步骤。
如何安装
该技能属于 microsoft/skills 集合。可运行 npx skills add microsoft/skills,在向导中选择需要的技能;集合会安装到所选 Agent 的目录。README 没有提供此 Rust 技能的独立安装命令。若项目代码使用该 SDK,可运行 cargo add azure_security_keyvault_secrets azure_identity tokio futures;直接使用 azure_core 类型时再添加 azure_core。
如何使用
在编码 Agent 中提出包含触发词的请求,例如“用 Rust 和 SecretClient 从 Azure Key Vault 获取 secret”或“用 Rust 分页列出 Key Vault secrets”。设置 AZURE_KEYVAULT_URL=https://<vault-name>.vault.azure.net/,并要求使用官方 azure_security_keyvault_secrets crate。开发环境使用 DeveloperToolsCredential,生产环境使用 ManagedIdentityCredential,不要硬编码凭据。