技能 azure-keyvault-secrets-ts
📦

azure-keyvault-secrets-ts

安全 🌐 网络访问🔑 环境变量

安全地管理 Azure Key Vault 机密

在代码中存储应用机密会带来安全风险。此技能通过适当的身份验证和加密,实现使用 Azure Key Vault 进行安全机密管理。

支持: Claude Codex Code(CC)
🥉 75 青铜
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“azure-keyvault-secrets-ts”。 从 Key Vault 获取机密 'MySecret'

预期结果:

成功检索机密:MySecret(版本:a1b2c3d4)。值长度:32 个字符。内容类型:application/json。过期时间:2025-12-31。

正在使用“azure-keyvault-secrets-ts”。 列出密钥保管库中的所有机密

预期结果:

找到 5 个机密:DatabaseConnectionString、ApiKey、JwtSigningKey、SmtpPassword、StorageAccountKey。所有机密均已启用。2 个机密将在 30 天内过期。

正在使用“azure-keyvault-secrets-ts”。 手动轮换密钥 'EncryptionKey'

预期结果:

密钥轮换成功:EncryptionKey。新版本:e5f6g7h8。密钥类型:RSA。密钥大小:2048 位。轮换完成时间:2026-02-25T00:22:36Z。

安全审计

安全
v1 • 2/25/2026

All static analysis findings are false positives. The scanner incorrectly flagged markdown documentation code blocks as executable code. The skill uses Azure SDK patterns correctly with DefaultAzureCredential, environment-based configuration, and industry-standard cryptographic algorithms (RSA-OAEP, RS256, P-256). No malicious patterns detected.

1
已扫描文件
275
分析行数
2
发现项
1
审计总数

风险因素

🌐 网络访问 (2)
🔑 环境变量 (1)
审计者: claude

质量评分

38
架构
100
可维护性
87
内容
50
社区
100
安全
100
规范符合性

你能构建什么

安全应用配置

将数据库连接字符串、API 密钥和服务凭据存储在 Key Vault 中,而不是环境变量或配置文件中。

加密密钥管理

生成和管理 RSA 或椭圆曲线密钥,用于加密和数字签名,支持自动轮换策略。

机密轮换自动化

实施自动化机密轮换,通过过期日期和访问策略降低凭据泄露风险。

试试这些提示

从 Key Vault 获取机密
从 Azure Key Vault 检索名为 'DatabaseConnectionString' 的机密并记录其值。
使用属性存储新机密
创建一个名为 'ApiKey' 的新机密,值为 'xyz123',设置为启用,添加 contentType 为 'text/plain',并标记为 environment=production。
使用 Key Vault 加密和解密数据
使用 CryptographyClient 通过 RSA-OAEP 算法加密消息,然后解密并验证原始内容是否保持不变。
使用策略实施密钥轮换
创建一个 2048 位的 RSA 密钥,配置轮换策略以每 90 天自动轮换,并设置 30 天的预过期操作,同时设置轮换事件的监控。

最佳实践

  • 使用 DefaultAzureCredential 在开发和生产环境之间实现无缝身份验证
  • 在生产密钥保管库上启用软删除,以便在保留期内恢复机密
  • 为机密设置过期日期,并为加密密钥配置自动轮换策略

避免

  • 切勿将机密值硬编码到源代码中或提交到版本控制系统
  • 避免使用主密钥或根凭据 - 实施具有特定密钥操作的最小权限访问
  • 不要在生产环境中禁用软删除,因为这会阻止从意外删除中恢复

常见问题

使用此技能需要哪些 Azure 权限?
机密操作需要 Key Vault Secrets User 角色,密钥操作需要 Key Vault Crypto User 角色。对于创建密钥保管库等管理任务,需要 Key Vault Administrator 角色。
我可以在基于浏览器的应用中使用此技能吗?
不行,@azure/keyvault-secrets 和 @azure/keyvault-keys SDK 专为 Node.js 环境设计。浏览器应用应使用 Azure Key Vault Managed HSM 配合适当的客户端库。
本地和 Azure 中如何进行身份验证?
DefaultAzureCredential 会自动处理两种场景:在本地开发时使用 Azure CLI 登录,在 Azure 中运行时(App Service、Functions、VMs)使用托管标识。
机密过期后会发生什么?
默认情况下,过期的机密仍然可以访问,除非密钥保管库强制执行过期策略。enabled 属性控制机密是否可用 - 在过期前设置 enabled:false 以禁用。
我能否将已删除的机密还原到不同的密钥保管库?
是的,备份和还原操作可在密钥保管库之间移植。备份会创建一个加密的 blob,可以还原到您有权访问的任何密钥保管库,包括不同订阅中的密钥保管库。
软删除和清除保护有什么区别?
软删除将已删除的项目移动到可恢复状态,保留期为 7-90 天。清除保护可防止在软删除保留期内永久删除,保护免受恶意内部人员的攻击。

开发者详情

文件结构

📄 SKILL.md