2.7. Block Storage 服务(cinder)卷加密


卷加密有助于提供基本数据保护,以防卷后端被入侵,或阻止了正确的数据。计算和块存储服务都集成,以允许实例读取访问和使用加密卷。您必须部署 Barbican 以利用卷加密。

重要
  • 基于文件的卷(如 NFS)不支持卷加密。
  • 卷加密只支持 LUKS1 而不是 LUKS2。
  • 不支持将未加密的卷恢复到相同大小的加密卷,因为加密卷需要额外的空间来存储加密数据。有关加密未加密的卷的更多信息,请参阅 加密未加密的卷

卷加密通过卷类型应用。有关加密卷类型的详情,请查看 第 2.7.2 节 “使用 CLI 配置块存储服务卷加密”

2.7.1. 使用仪表板配置块存储服务卷加密

要创建加密的卷,首先需要 加密的卷类型。加密卷类型涉及设置它应使用的供应商类、密码和密钥大小。

先决条件

流程

  1. 在仪表板中作为 admin 用户,选择 Admin > Volumes > Volume Types
  2. 在要加密的卷的 Actions 列中,选择 Create Encryption 来启动 Create Volume Type Encryption 向导。
  3. 在这里,配置卷类型加密的 提供程序控制位置CipherKey Size 设置。Description 列描述了每个设置。

    重要

    以下列表的值是 提供程序CipherKey Size 唯一支持的选项。

    1. Provider 输入 luks
    2. Cipher 输入 aes-xts-plain64
    3. Key Size 输入 256
  4. 单击 Create Volume Type Encryption

具有加密卷类型后,您可以调用它来自动创建加密的卷。有关创建卷类型的更多信息,请参阅 第 2.3.2 节 “创建并配置卷类型”。具体来说,从 Create Volume 窗口中的 Type 下拉列表中选择加密卷类型。

要通过 CLI 配置加密的卷类型,请参阅 第 2.7.2 节 “使用 CLI 配置块存储服务卷加密”

您还可以重新配置加密卷类型的加密设置。

  1. 从卷类型的 Actions 列中选择 Update Encryption 来启动 Update Volume Type Encryption 向导。
  2. Project > Compute > Volumes 中,检查 Volumes 表中的 Encrypted 列,以确定卷是否加密。
  3. 如果卷加密,点该列中的 Yes 来查看加密设置。

2.7.2. 使用 CLI 配置块存储服务卷加密

要创建加密的卷,首先需要 加密的卷类型。加密卷类型涉及设置它应使用的供应商类、密码和密钥大小。

先决条件

流程

  1. 创建卷类型:

    $ cinder type-create encrypt-type
    Copy to Clipboard Toggle word wrap
  2. 配置密码、密钥大小、控制位置和供应商设置:

    $ cinder encryption-type-create --cipher aes-xts-plain64 --key-size 256 --control-location front-end encrypt-type luks
    Copy to Clipboard Toggle word wrap
  3. 创建加密的卷:

    $ cinder --debug create 1 --volume-type encrypt-type --name DemoEncVol
    Copy to Clipboard Toggle word wrap

如需更多信息,请参阅使用 OpenStack Key Manager 管理机密 指南。

2.7.3. 自动删除卷镜像加密密钥

当块存储服务(glance)上传到镜像服务(glance)时,块存储服务(cinder)会在密钥管理服务(barbican)中创建一个加密密钥。这会在加密密钥和存储的镜像之间创建一个 1:1 个关系。

加密密钥删除可防止密钥管理服务无限度地消耗资源。Block Storage、Key Management 和 Image 服务会自动管理加密卷的密钥,包括删除密钥。

块存储服务会自动为卷镜像添加两个属性:

  • cinder_encryption_key_id - Key Management 服务为特定镜像的加密密钥的标识符。
  • cinder_encryption_key_deletion_policy - 告知镜像服务的策略是否删除与此镜像关联的密钥。
重要

这些属性的值会自动分配。为避免意外数据丢失,请不要调整这些值

当您创建卷镜像时,块存储服务会将 cinder_encryption_key_deletion_policy 属性设置为 on_image_deletion。当您删除卷镜像时,如果 cinder_encryption_key_deletion_policy 等于 on_image_deletion,则镜像服务会删除对应的加密密钥。

重要

红帽不推荐手动操作 cinder_encryption_key_idcinder_encryption_key_deletion_policy 属性。如果您使用 cinder_encryption_key_id 值标识的加密密钥用于任何其他目的,则可能会破坏数据丢失。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat