第 6 章 加密 at-rest swift 对象
默认情况下,上传到对象存储的对象以未加密的形式存储。因此,可以从文件系统直接访问对象。如果磁盘在放弃前无法正确擦除,则可能会造成安全隐患。当您启用了 barbican 时,对象存储服务(swift)可以透明地加密和解密您的存储(at-rest)对象。at-rest 加密与 in-transit 加密不同的是它在存储在磁盘上时被加密的对象。
Swift 以透明方式执行这些加密任务,在上传到 swift 时自动加密对象,然后在提供给用户时自动解密。这个加密和解密使用相同的(ymmetric)密钥进行,密钥保存在 barbican 中。
注意
在启用加密并添加到 swift 集群后,您无法禁用加密功能,因为数据现在存储在加密状态中。因此,如果禁用加密,数据将无法被读取,直到您使用相同密钥重新启用加密为止。
6.1. 为 swift 启用 at-rest 加密
-
您可以通过在环境文件中包括
SwiftEncryptionEnabled: True
来启用 swift 加密功能,然后使用/home/stack/overcloud_deploy.sh
重新运行openstack overcloud deploy
。请注意,您仍需要启用 barbican,如 Install Barbican 章节中所述。 确认 swift 已配置为使用 at-rest 加密:
$ crudini --get /var/lib/config-data/puppet-generated/swift/etc/swift/proxy-server.conf pipeline-main pipeline pipeline = catch_errors healthcheck proxy-logging cache ratelimit bulk tempurl formpost authtoken keystone staticweb copy container_quotas account_quotas slo dlo versioned_writes kms_keymaster encryption proxy-logging proxy-server
其结果应包括
用于加密
的条目。