客户管理的密钥概述

Azure 容器注册表会自动加密存储的映像和其他项目。 默认情况下,Azure 会自动使用服务管理的密钥来加密静态注册表内容。 通过使用客户管理的密钥,可以使用额外的加密层来补充默认加密。

本文是由四部分构成的教程系列文章中的第一部分。 本教程涵盖:

  • 客户管理的密钥概述
  • 启用客户管理的密钥
  • 轮换和撤销客户管理的密钥
  • 排查客户管理的密钥的问题

关于客户托管密钥

客户管理的密钥提供在 Azure Key Vault 中创建自己的密钥所需的所有权。 启用客户管理的密钥时,可以管理其轮换、控制使用它所需的访问权限和权限,以及审核其使用情况。

主要功能包括:

  • 法规符合性:Azure 使用服务管理的密钥自动加密静态注册表内容,但客户管理的密钥加密可帮助你满足法规合规性准则。
  • 与 Azure Key Vault 集成:客户管理的密钥通过与 Azure Key Vault 集成来支持服务器端加密。 使用客户管理的密钥,你可以创建自己的加密密钥并将其存储在密钥保管库中。 也可以使用 Azure Key Vault API 来生成密钥。

  • 关键生命周期管理:将客户管理的密钥与 Azure Key Vault 集成,就可以完全控制和负责密钥生命周期,包括轮换和管理。

在启用客户管理的密钥之前

在使用客户管理的密钥配置 Azure 容器注册表之前,请考虑以下信息:

  • 此功能在容器注册表的“高级”服务层级中可用。 有关详细信息,请参阅 Azure 容器注册表服务层级

  • 目前只能在创建注册表时启用客户管理的密钥。

  • 对注册表启用客户管理的密钥后,无法禁用加密。

  • 必须配置用户分配的托管标识以访问密钥保管库。 稍后可以根据需要启用注册表的系统分配的托管标识以访问密钥保管库。

  • Azure 容器注册表仅支持 RSA 或 RSA-HSM 密钥。 当前不支持椭圆曲线密钥。

  • 在使用客户管理的密钥加密的注册表中,Azure 容器注册表任务的日志只能保留 24 小时。 若要将日志保留更长时间,请参阅查看和管理任务运行日志

  • 使用客户管理的密钥加密的注册表目前不支持内容信任

更新客户管理的密钥版本

当 Azure Key Vault 中有新的密钥版本时,Azure 容器注册表支持自动和手动轮换注册表加密密钥。

重要

对于使用客户管理的密钥加密来频繁更新(轮换)密钥版本的注册表来说,这是一个重要的安全注意事项。 遵循组织的合规性策略定期更新密钥版本,同时在 Azure Key Vault 中存储客户管理的密钥。

  • 自动更新密钥版本:使用无版本的密钥对注册表加密时,Azure 容器注册表会定期检查密钥保管库中是否有新的密钥版本,在确定有新版本的情况下会在一小时内更新客户管理的密钥。 建议在使用客户管理的密钥启用注册表加密时忽略密钥版本。 然后,Azure 容器注册表会自动使用和更新最新的密钥版本。

  • 手动更新密钥版本:使用特定密钥版本对注册表加密时,Azure 容器注册表会使用该版本进行加密,直到你手动轮换客户管理的密钥。 建议在使用客户管理的密钥启用注册表加密时指定密钥版本。 然后,Azure 容器注册表将使用特定版本的密钥进行注册表加密。

有关详细信息,请参阅密钥轮换更新密钥版本

后续步骤