Azure Key Vault Java 密钥管理
为 Java 编码代理提供 Azure Key Vault 与 Managed HSM 密钥管理和密码运算指导。
文档说明了 DefaultAzureCredential、Managed Identity、最小权限、HSM 和软删除,并提供恢复路径;但创建、删除、永久清除、备份落盘和导入私钥示例均未要求用户确认、权限预检、敏感数据保护或恢复校验,因此扣分。
覆盖同步/异步客户端、主要密钥操作和部分异常处理,失败类型有一定说明;但未提供该技能的专门测试或可复现验证,多个示例省略导入,环境变量说明与硬编码 vault URL 不完全一致,边界条件和服务/API 兼容性说明不足,因此静态评分受限。
目标用户、Java SDK 场景、密钥类型、密码操作和触发短语较明确;但未声明不适用范围、所需 Azure 资源/RBAC 前置条件、输入输出约束,也没有中文使用指导或中国大陆网络可达性说明,因此扣分。
具备 front matter、MIT 许可、版本号、安装说明、分主题示例、错误处理、最佳实践和 references 文件,结构较易导航;但缺少变更日志、明确维护责任/更新路径、版本兼容矩阵、FAQ 和已知限制,且文档较长但缺少渐进式加载指引,因此未满分。
覆盖密钥创建、查询、更新、删除恢复、轮换、导入、加解密、签名验证和包裹操作,示例对常见编码任务有直接参考价值;但代码未静态编译或执行验证,若干示例不完整,生产安全配置和权限前置条件不足,仍需明显人工审查,因此不超过静态上限。
技能文件包含具体版本、依赖、代码样例和错误处理,仓库还提供通用 CI、评估工作流和测试工具;但提供材料未显示该技能对应的提交测试、执行结果或第三方交叉验证,结论主要来自静态文档,故仅给有限分数。
- 永久清除密钥不可恢复;任何执行 purge、删除、轮换或更新权限的自动化流程都应先获得明确确认并校验目标。
- 备份和导入示例涉及密钥材料,文档未说明加密存储、访问控制、生命周期清理或日志脱敏。
- 使用前应核对 azure-security-keyvault-keys 与 azure-identity 的实际兼容版本、API 签名、RBAC 权限及 Managed HSM/Key Vault 能力差异。
- 核心功能依赖 Azure Key Vault/Managed HSM 和身份服务,材料未证明中国大陆网络可达性或提供离线替代方案。
它能做什么 & 适用场景
该技能面向使用 Azure Key Vault Keys Java SDK 的开发者和编码代理。它覆盖 RSA、椭圆曲线和 Managed HSM 密钥的创建、读取、更新、删除、恢复、备份、导入与轮换。它还提供加密、解密、签名、验证、密钥包装和解包装示例。技能包含 Maven 依赖、凭据配置、同步与异步客户端创建,以及常见异常处理方式。
指导代理添加 Maven 依赖,使用 DefaultAzureCredential 或托管身份创建 KeyClient、KeyAsyncClient 和 CryptographyClient;编写 RSA、EC、HSM 和 Managed HSM 对称密钥的创建与管理代码;执行加密、解密、签名、验证、包装和解包装;处理密钥版本、软删除、永久清除、恢复、备份、恢复和轮换策略;使用 ResourceNotFoundException 与 HttpResponseException 处理错误。示例还读写本地密钥备份文件。
- Java 开发者需要在 Azure Key Vault 中创建和管理 RSA 或 EC 密钥时
- 安全工程师需要使用 HSM 保护生产环境密钥时
- 应用开发者需要通过 Azure 服务执行加密、解密、签名或签名验证时
- 平台团队需要配置密钥轮换策略、备份、恢复或软删除流程时
- 需要将现有 RSA 密钥材料导入 Key Vault 的 Java 项目时
优缺点一览
- 覆盖密钥生命周期管理和主要密码运算
- 同时提供同步与异步客户端示例
- 包含 RSA、EC、HSM 和 Managed HSM 场景
- 提供密钥轮换、备份恢复及错误处理示例
- 使用具体 Maven 坐标和 SDK 版本,便于开始集成
- 示例依赖 Azure Key Vault 或 Managed HSM、凭据和网络访问
- 源材料没有给出完整权限配置、部署步骤或测试套件信息
- 本技能只针对 Java Key Vault Keys SDK,不应据此推断其他语言或 Key Vault 服务的能力
- 本地备份示例会读写文件,实际使用时需要自行设计安全的备份存储
如何安装
安装整个技能集合:运行 npx skills add microsoft/skills,然后在向导中选择需要的技能。技能会安装到所选编码代理的目录,例如 GitHub Copilot 使用 .github/skills/。源材料未提供仅安装 azure-security-keyvault-keys-java 的专用命令。Java 项目还需添加 Maven 依赖 com.azure:azure-security-keyvault-keys:4.9.0。
如何使用
在已安装该技能的编码代理中提出具体请求,例如:请用 Azure Key Vault Keys Java SDK 创建一个启用 HSM 保护的 RSA-2048 密钥,并配置加密和解密示例。 也可以请求“Key Vault keys Java”“encrypt decrypt Java”“sign verify Java”或“key rotation”。按照技能中的 Java 示例配置凭据、Vault URL 或密钥标识符。