4.2. 加密加载


默认情况下,所有 RBD API 都会像未加密的 RBD 镜像一样对待加密的 RBD 镜像。您可以在镜像的任意位置读取或写入原始数据。在镜像中写入原始数据可能会使加密格式的完整性风险。例如,原始数据可能会覆盖位于镜像开头的加密元数据。要安全地对加密的 Input/Outout(I/O)或维护操作对加密的 RBD 镜像执行,必须在打开镜像后立即应用额外的加密负载操作。

加密负载操作要求您指定加密格式和密码短语,用于解锁镜像本身的加密密钥及其每个明确格式化的祖先镜像。已打开的 RBD 镜像的所有 I/O 都是加密或解密克隆的 RBD 镜像,这包括父镜像的 IO。加密密钥由 RBD 客户端保存在内存中,直到镜像关闭为止。

注意

在 RBD 镜像中载入加密后,就无法应用其他加密加载或格式操作。此外,使用打开的镜像上下文检索 RBD 镜像大小和父重叠的 API 调用会分别返回有效的镜像大小和有效的父级重叠。当 RBD 镜像通过 rbd-nbd 将 RBD 镜像映射为块设备时,会自动载入加密。

注意

用于检索镜像大小和使用打开的镜像上下文的父重叠的 API 调用会返回有效的镜像大小和有效的父项重叠。

注意

如果加密镜像的克隆被显式格式化、扁平化或缩小克隆的镜像,因为从父快照复制时,必须根据克隆的镜像格式重新加密父数据。如果在发出扁平化操作前没有加载加密,则之前在克隆的镜像中访问的任何父数据可能会变得不可读。

注意

如果明确格式化了加密镜像的克隆,则将克隆的镜像缩小为透明的操作。这是因为,在克隆镜像(包含快照)或克隆的镜像被缩小到与对象大小不一致的大小时,从父快照复制某些数据的操作会涉及与扁平化类似。如果在发出 shrink 操作前没有载入加密,之前在克隆镜像中可访问的父数据都可能会变得不可读。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.