SuperAPI AI 工具集

azure-keyvault-certificates-rust

安全与审计

查看项目

更新于 10-16 02:02

技能介绍

用途

Azure Key Vault Certificates SDK for Rust 是 Azure Key Vault 证书服务的客户端库,用于证书的安全存储与管理。适用于在 Rust 项目中创建、导入和管理证书,以及维护证书策略与生命周期。

安装

使用 cargo 添加依赖:

cargo add azure_security_keyvault_certificates azure_identity

环境变量

需配置 Key Vault 地址:

AZURE_KEYVAULT_URL=https://<vault-name>.vault.azure.net/

认证

通过 Azure Entra ID 凭证进行认证,开发环境可使用 DeveloperToolsCredential:

use azure_identity::DeveloperToolsCredential; use azure_security_keyvault_certificates::CertificateClient;

let credential = DeveloperToolsCredential::new(None)?; let client = CertificateClient::new( "https://<vault-name>.vault.azure.net/", credential.clone(), None, )?;

主要能力

  • 获取证书(Get Certificate):获取证书信息,可读取 X.509 指纹等属性。
  • 创建证书(Create Certificate):基于证书策略(包含颁发者参数、X.509 证书属性如主题)生成新证书。
  • 导入证书(Import Certificate):导入现有的 PFX/PEM 证书,支持可选密码。
  • 删除证书(Delete Certificate):删除指定证书。
  • 列出证书(List Certificates):分页遍历证书属性列表。
  • 获取证书策略(Get Certificate Policy):读取指定证书的策略。
  • 更新证书策略(Update Certificate Policy):修改证书策略属性。
  • 证书生命周期:创建、导入、获取(仅公钥)、更新、删除(软删除,可恢复)、清除(永久删除)。

使用方式

核心操作示例使用异步(await)调用,客户端方法均返回可转换为模型的响应。获取证书时可输出经 URL 安全 base64 编码的指纹;创建证书需构造 CertificatePolicy 与 CreateCertificateParameters;导入证书需提供 base64 编码的证书数据;列出证书使用 ResourceExt 与 futures 的 TryStreamExt 进行流式分页。

最佳实践

  • 使用 Entra ID 认证,开发环境可用 DeveloperToolsCredential。
  • 使用托管证书,配合受支持的颁发者实现自动续期。
  • 设置合理的有效期,兼顾安全与维护成本。
  • 使用证书策略定义续期与密钥属性。
  • 监控过期情况,为即将过期的证书设置告警。
  • 启用软删除,生产环境保管库必需。

RBAC 权限

需分配以下 Key Vault 角色:

  • Key Vault Certificates Officer:证书的完整增删改查权限。
  • Key Vault Reader:读取证书元数据。

参考链接

  • API 参考:https://docs.rs/azure_security_keyvault_certificates
  • 源代码:https://github.com/Azure/azure-sdk-for-rust/tree/main/sdk/keyvault/azure_security_keyvault_certificates
  • crates.io:https://crates.io/crates/azure_security_keyvault_certificates

适用场景

当任务明确符合上述范围时适用,例如在 Rust 应用中集成 Azure Key Vault 证书的创建、导入、查询与管理流程。

限制

  • 仅在任务明确匹配上述范围时使用。
  • 不应将输出视为针对特定环境的验证、测试或专家评审的替代。
  • 若缺少必要的输入、权限、安全边界或成功标准,应停止并请求澄清。