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


卷加密有助于提供基本数据保护,以防卷后端被泄露或盘盘。计算和块存储服务都已集成,允许实例读取和使用加密卷。您必须部署 Barbican 才能利用卷加密。

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

卷加密通过卷类型应用。有关加密卷类型的详情,请参考 使用控制面板配置块存储服务卷加密,或使用 CLI 配置块存储服务卷加密

如需更多信息,请参阅使用 OpenStack Key Manager (barbican)来管理块存储(cinder)加密密钥,请参阅加密块存储(cinder)卷

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

要创建加密卷,首先需要 加密的卷类型。加密卷类型涉及设置应使用的供应商类、密码和密钥大小。您还可以重新配置加密卷类型的加密设置。

您可以调用加密的卷类型来自动创建加密的卷。

先决条件

  • 您必须是创建加密卷的项目管理员。
  • 访问 Red Hat OpenStack Platform (RHOSP) Dashboard (horizon)。如需更多信息,请参阅 OpenStack 控制面板简介

流程

  1. 以 admin 用户身份登录控制面板。
  2. 选择 Admin > Volumes > Volume Types
  3. 在要加密的卷的 Actions 列中,选择 Create Encryption 来启动 Create Volume Type Encryption 向导。
  4. 从那里,配置卷类型的 Provider、controlLocationCipherKey Size 设置。Description 列描述了每个设置。

    重要

    以下列出的值是 ProviderCipherKey Size 唯一支持的选项。

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

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

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

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

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

先决条件

  • 您必须是创建加密卷的项目管理员。

流程

  1. 提供 overcloud 凭证文件:

    $ source ~/<credentials_file>
    Copy to Clipboard Toggle word wrap
    • <credentials_file > 替换为您的凭证文件的名称,如 overcloudrc
  2. 创建卷类型:

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

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

    $ cinder --debug create 1 --volume-type myEncType --name myEncVol
    Copy to Clipboard Toggle word wrap

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

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

加密密钥删除可防止密钥管理服务无限度地消耗资源。块存储、密钥管理和镜像服务会自动管理加密密钥,包括删除密钥。

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

  • cinder_encryption_key_id - 加密密钥的标识符,用于特定镜像的密钥管理服务。
  • 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