我想加密自己的 Amazon Redshift 集群。该如何操作?
解决方案
在创建 Amazon Redshift 集群时可以开启加密功能。或者,可以修改现有的 Amazon Redshift 未加密集群以使用 AWS Key Management Service (AWS KMS) 加密。默认情况下,Amazon Redshift Serverless 是加密的,但您可以更改命名空间的 AWS KMS 密钥。
在创建新的 Amazon Redshift 集群时开启加密功能
要在创建 Amazon Redshift 集群时开启加密,请执行以下操作:
- 打开 Amazon Redshift 控制台。
- 在导航窗格中,选择 Clusters(集群),然后选择 Create cluster(创建集群)。
- 对于 Create cluster(创建集群),请根据您的要求配置集群。有关更多信息,请参阅创建集群。
- 对于 Additional configurations(其他配置),请关闭 Use defaults(使用默认值)。
- 对于 Database configurations(数据库配置),选择 Use AWS Key Management Service (AWS KMS)(使用 AWS Key Management Service (AWS KMS))或 Use a hardware security module (HSM)(使用硬件安全模块 (HSM))。有关加密选项的更多信息,请参阅 Amazon Redshift 数据库加密。
- (可选)为其他配置选项定义规格。
- 选择 Create cluster(创建集群)。
**注意:**DC2 和 RA3 节点类型不支持硬件安全模块 (HSM) 加密。
修改未加密的 Amazon Redshift 集群以使用加密
在修改 Amazon Redshift 集群以开启加密时,请考虑以下几点:
- 开启加密后,Amazon Redshift 会自动将数据迁移到具有相同集群标识符的新加密集群。在此迁移操作期间,集群处于只读模式,集群状态显示为正在调整大小。
- 如果集群具有 RA3 节点类型,则将使用更快的经典大小调整执行 Amazon Redshift 集群加密更改。对于所有其他节点类型,Amazon Redshift 使用经典大小调整执行加密更改。
- 完成大小调整操作所需的时间可能有所不同,具体取决于:
源集群上的读取工作负载
表定义
您要向其中/从其中扩展的偏斜节点类型
要通过控制台修改现有 Amazon Redshift 集群以使用加密,请执行以下操作:
- 打开 Amazon Redshift 控制台。
- 在导航窗格中,选择 Clusters(集群),然后选择要加密的集群。
- 选择 Properties(属性)。
- 对于 Database configurations(数据库配置),选择 Edit(编辑),然后选择 Edit encryption(编辑加密)。
- 选择 Use AWS Key Management Service (AWS KMS)(使用 AWS Key Management Service (AWS KMS))或 Use a hardware security module (HSM)(使用硬件安全模块 (HSM))。有关加密选项的更多信息,请参阅 Amazon Redshift 数据库加密。
要通过 AWS CLI 修改现有 Amazon Redshift 集群以使用 AWS KMS 加密,请运行以下 modify-cluster 命令:
**注意:**默认情况下,使用您的默认 KMS 密钥。要使用客户托管密钥,请包括 the kms-key-id 选项,并将 value 替换为您的 KMS 密钥。
> aws redshift modify-cluster --cluster-identifier <value> --encrypted --kms-key-id <value>
**注意:**如果在运行 AWS CLI 命令时收到错误,请确保您使用的是最新版本的 AWS CLI。
在 Amazon Redshift 无服务器版中更改命名空间的 AWS KMS 密钥
默认情况下,Amazon Redshift 无服务器版是加密的。但是,Amazon Redshift 无服务器版支持更改命名空间的 AWS KMS 密钥,这样您就可以遵守组织的安全策略。更改 AWS KMS 密钥时,数据保持不变。
更改 AWS KMS 密钥时请考虑以下事项:
- 更改密钥所需的时间取决于 Amazon Redshift 无服务器版中的数据量。每 8 TB 的存储数据通常需要 15 分钟。
- 您无法从客户管理的 KMS 密钥更改为 AWS KMS 密钥。如果您想要在创建客户托管的 KMS 密钥后使用 AWS KMS 密钥,则必须创建新的命名空间。
- 更改密钥时,您无法执行其他操作。
要更改命名空间的 AWS KMS 密钥,请执行以下操作:
- 打开 Amazon Redshift 控制台。
- 在导航窗格中,选择 Namespace configuration(命名空间配置),然后从列表中选择您的命名空间。
- 从 Security and encryption(安全和加密)选项卡中选择 Edit(编辑)。
- 选择 Customize encryption settings(自定义加密设置),然后为命名空间选择密钥或创建新密钥。
要使用 AWS CLI 更改命名空间的 AWS KMS 密钥,请运行以下 update-namespace 命令:
**注意:**您必须创建命名空间,否则 AWS CLI 命令会导致错误。
aws redshift-serverless update-namespace
--namespace-name
[--kms-key-id <id-of-kms-key>]
// other parameters omitted here