Compartir a través de

证书访问控制

Key Vault 在密钥保管库级别管理证书的访问控制。 针对证书的访问控制策略不同于针对同一密钥保管库中密钥和机密的访问控制策略。 可以创建一个或多个保管库来保存证书,以维护适合方案的证书分段和管理。

通过两个接口控制对密钥保管库的访问: 控制平面 和数据 平面。 这两个平面都使用 Microsoft Entra ID 进行身份验证。 对于授权,可以使用 Azure 基于角色的访问控制(Azure RBAC)( 建议)或 Key Vault 访问策略 (旧版)。 有关身份验证和授权概念的详细信息,请参阅 Azure Key Vault 中的身份验证

证书权限

配置对证书的访问权限时,请基于每个主体使用以下权限。 这些权限与在证书对象上允许的操作非常相似。

  • 证书管理操作的权限

    • get:获取当前证书版本或证书的任何版本
    • 列表:列出当前证书或证书的版本
    • 更新:更新证书
    • create:创建 Key Vault 证书
    • 导入:将证书材料导入 Key Vault 证书
    • delete:删除证书、其策略及其所有版本
    • 恢复:恢复已删除的证书
    • 备份:在密钥保管库中备份证书
    • 还原:将备份的证书还原到密钥保管库
    • managecontacts:管理 Key Vault 证书联系人
    • manageissuers:管理 Key Vault 证书颁发机构/发行者
    • getissuers:获取证书的颁发机构/颁发者
    • listissuers:列出证书的授权者/发行者
    • setissuers:创建或更新 Key Vault 证书的颁发机构/颁发者
    • deleteissuers:删除 Key Vault 证书的颁发机构/颁发者
  • 针对特权操作的权限

    • 清除:清除(永久删除)已删除的证书

有关详细信息,请参阅 Key Vault REST API 参考中的证书操作

授予对证书的访问权限

可以使用 Azure RBAC(建议)或 Key Vault 访问策略(旧版)授予对证书的访问权限。

Azure RBAC 提供集中式访问管理,并允许在不同的范围级别设置权限。 对于证书操作,请使用以下内置角色之一:

角色 Description
密钥保管库管理员 对密钥保管库及其中的所有对象执行所有数据平面操作。
密钥保管库证书主管 对密钥保管库的证书执行任何操作,但管理权限除外。
Key Vault 证书用户 读取整个证书内容,包括机密和密钥部分。
密钥保管库读取者 阅读密钥保管库及其证书、密钥和秘密的元数据。 无法读取敏感值。

有关分配角色的详细信息,请参阅 使用 Azure 基于角色的访问控制提供对 Key Vault 密钥、证书和机密的访问权限

使用访问策略(旧版)

若要分配访问策略,请参阅 “分配 Key Vault 访问策略”。 有关通过 REST API 建立权限的信息,请参阅 保管库 - 更新访问策略

故障排除

由于缺少访问策略或角色分配,你可能会看到错误。 例如: Error type : Access denied or user is unauthorized to create certificate

若要解决此错误:

  • 如果使用 Azure RBAC,请验证主体是否具有带有 certificates/create 权限的角色(例如 Key Vault 证书管理员)。
  • 如果使用访问策略,请将 certificates/create 权限添加到访问策略。

有关更多故障排除指南,请参阅 排查 Azure Key Vault 访问问题

后续步骤