我们使用机器学习技术将英文博客翻译为简体中文。您可以点击导航栏中的“中文(简体)”切换到英文版本。
使用 亚马逊云科技 Secrets Manager 集成,无需人为干预即可存储亚马逊 Redshift 管理员证书,从而增强您的安全态势
到目前为止,您需要以纯文本形式配置您的亚马逊 Redshift 管理员证书,或者让 Amazon Redshift 为您生成证书。要将这些证书存储在 Secrets Manager 中,您需要手动创建密钥,或者使用硬编码或生成的证书配置脚本。这两个选项都需要人类来检索它们。Amazon Redshift 现在允许您自动创建和存储管理员证书,无需人工查看证书。作为此工作流程的一部分,管理员凭据配置为每 30 天自动轮换一次。通过在配置过程中减少人工查看机密的需求,您可以提高 Amazon Redshift 数据仓库的安全状况并提高审计跟踪的准确性。
先决条件
在开始之前,请完成以下先决条件:
-
拥有创建和管理 Redshift 无服务器命名空间 或 Redshift 集群的管理员权限。 - 拥有在密钥管理器中创建和管理密钥的管理员权限。
- (可选)使用 Redshift 无服务器命名空间或 Redshift 集群来启用密钥管理器集成。
- (可选)使用不同
的 亚马逊云科技 密钥管理服务 (亚马逊云科技 KMS) 密钥使用密钥管理器进行凭证加密。 - 可以访问
亚马逊 Redshift 查询编辑器 v2 。
使用密钥管理器设置新集群
在本节中,我们提供了使用密钥管理器配置 Redshift 预置集群或 Redshift 无服务器工作组的步骤。
创建已配置 Redshift 的集群
要开始在新的 Redshift 预置集群中使用密钥管理器,请完成以下步骤:
- 在 Amazon Redshift 控制台上,选择 创建集群 。
- 根据需要定义 集群配置 和 示例数据 部分。
- 在 数据库配置 部分中,指定所需的管理员用户名。
- 要使用 Secrets Manager 自动创建和存储您的密码,请 在 亚马逊云科技 Secrets Manager 中选择 管理管理员证书 。
- 您还可以创建密钥或选择现有密钥,使用自己的 亚马逊云科技 客户管理的 KMS 密钥自定义加密设置。这是用于在密钥管理器中加密密钥的密钥。如果您不选择 “ 自定义加密设置” ,则默认使用 亚马逊云科技 托管密钥。
- 根据需要在 集群权限 和其他配置 中提供信息 ,然后选择 创建集群 。
- 当集群可用时,您可以在 数据库配置 部分的集群 属性 选项卡上检查包含管理员密码的密钥的 ARN。
创建 Redshift 无服务器工作组
要开始使用带有 Redshift 无服务器的 Secrets Manager,请按照以下步骤创建 Redshift 无服务器工作组:
- 在 Amazon Redshift 无服务器控制面板上,选择 创建工作组。
- 根据需要定义 工作组名称 、 容量 、 网络和安全 部分,然后选择 下一步 。
- 选择 创建新命名空间 并提供合适的名称
- 在 数据库名称和密码 部分,选择 自定义管理员用户和凭据 。
- 提供管理员用户名。
- 在 管理员密码 部分,选择在 亚马逊云科技 Secrets Manager 中 管理管理员证书 。
- 您还可以创建密钥或选择现有密钥,使用自己的 亚马逊云科技 客户管理的 KMS 密钥自定义加密设置。这是用于在密钥管理器中加密密钥的密钥。如果您不选择 “ 自定义加密设置” ,则默认使用 亚马逊云科技 托管密钥。
- 在 “ 权限”、“ 加密” 和 “安全 ” 部分中提供相应的信息,然后选择 “ 下一步 ” 。
- 查看选定的选项,然后选择 “ 创建 ” 。
- 当新创建的工作组和命名空间的状态为 “ 可用 ” 时 ,选择命名空间。
- 你可以在 “ 一般信息 ” 下找到带有管理员凭据的 Secrets Manager ARN。
为现有 Redshift 集群启用密钥管理器
在本节中,我们提供了为现有 Redshift 预置集群或 Redshift 无服务器命名空间启用密钥管理器的步骤。
配置现有的 Redshift 预置集群
要为现有 Redshift 集群启用密钥管理器,请按照以下步骤操作:
- 在 Amazon Redshift 控制台上,选择要修改的集群。
- 在 “ 属性 ” 选项卡上,选择 “ 编辑管理员凭据 ” 。
- 在 亚马逊云科技 Secrets Manager 中选择 管理管理员证书 。
- 要使用 亚马逊云科技 KMS 加密数据,请选择 自定义加密选项 , 然后选择现有 KMS 密钥或选择 创建 亚马逊云科技 KMS 密钥 。
- 选择 “ 保存更改 ” 。
- 当集群可用时,您可以在 数据库配置 部分的集群 属性 选项卡上检查包含管理员密码的密钥的 ARN。
配置现有的 Redshift 无服务器命名空间
要在现有 Amazon Redshift 无服务器命名空间上启用 Secrets Manager,请按照以下步骤操作:
- 在 Amazon Redshift 无服务器控制面板上,选择要修改的命名空间。
- 在 “ 操作 ” 菜单上,选择 “ 编辑管理员凭据 ” 。
- 选择 “ 自定义管理员用户凭据 ” 。
- 在 亚马逊云科技 Secrets Manager 中选择 管理管理员证书 。
- 要使用 亚马逊云科技 KMS 加密数据,请选择 自定义加密设置 , 然后选择现有的 亚马逊云科技 KMS 密钥或选择 创建 亚马逊云科技 KMS 密钥 。
- 选择 “ 保存更改 ” 。
- 当命名空间状态为 “ 可用 ” 时 ,你可以在 一般信息 部分的 管理员密码 ARN 下看到密钥管理器 ARN。
在密钥管理器中管理密钥
要在 Secrets Manager 中管理管理员凭证,请按照以下步骤操作:
- 在密钥管理器控制台上,选择要修改的密钥。
Amazon Redshift 在创建密钥时默认启用轮换,轮换计划为每 30 天一次。
- 要查看管理员凭据,请选择 检索机密值 。
- 要更改密钥轮换,请选择 编辑旋转 。
- 定义新的旋转频率并选择 “ 保存 ” 。
- 要立即轮换密钥,请选择 “立即 旋转密钥 ”, 然后选择 “ 旋转 ” 。
Secrets Manager 可以通过 亚马逊云科技 开发工具包与您的应用程序集成,该开发工具包有 Java、JavaScript、C#、Python3、Ruby 和 Go 版本。支持的语言代码片段可在 示例代码 部分找到。
- 选择首选语言的选项卡,然后使用应用程序中提供的代码片段。
恢复快照
可以从无服务器快照和预配置快照启动新仓库。您可以按照以下步骤选择将恢复的集群配置为使用密钥管理器证书,即使源集群没有使用密钥管理器:
- 导航到 Redshift 快照仪表板以获取已配置集群的快照,或导航到 Redshift 数据备份仪表板以获取无服务器工作组的快照,然后选择要从中恢复的快照。
在预置的快照仪表板上,在 还原快照 菜单上,选择 还原到已配置的集群 或 还原到无服务器 命名空间。
在无服务器快照仪表板上,在 “ 操作 ” 菜单上的 “还原 无服务器快照” 下 ,选择 “ 还原 到已配置的集群 ” 或 “ 还原到 ” 无服务器命名空间 。
如果您要从任一选项恢复到无服务器端点,则需要事先配置目标无服务器命名空间。
- 如果您要使用未配置 Secrets Manager 证书的快照恢复到仓库,则可以通过在 亚马逊云科技 Secrets Manager 中选择 管理管理员凭证在 快照还原页面的 数据库配置 部分启用该快照 。
- 您还可以创建密钥或选择现有密钥,使用自己的 亚马逊云科技 客户管理的 KMS 密钥自定义加密设置。如果您不选择 “ 自定义加密设置” ,则默认使用 亚马逊云科技 托管密钥。
- 如果快照是从使用 Secrets Manager 管理其管理员凭据的集群拍摄的,并且您要恢复到已配置的集群,则可以选择在 Secrets Manager 中更新用于加密证书的密钥。否则,如果您想使用与源快照相同的配置,则可以选择与以前相同的密钥。
- 配置所有必要的详细信息后,选择 从快照中 恢复群集/保存更改 以启动已配置的集群,或选择 还原 将快照数据写入命名空间。
使用 Secrets Manager 通过查询编辑器 v2 连接到亚马逊 Redshift
要使用查询编辑器 v2 连接到亚马逊 Redshift,请完成以下步骤:
- 在 Amazon Redshift 控制台上,选择要连接的集群。
- 在 “ 属性 ” 选项卡上,找到管理员用户和管理员密码 ARN。
- 记下将在后续步骤中使用的 ARN。
- 在集群详细信息页面顶部的 查询数据 菜单上,选择 在 查询编辑器 v2 中查询 。
- 找到要连接的 Redshift 集群或 Redshift 无服务器工作组,选择其名称旁边的选项菜单(三个点),然后选择创建连接。
- 在连接窗口中,选择 亚马逊云科技 Secrets Manager 。
- 对于 S ecret ,为您的集群选择相应的密钥。
- 选择 “ 创建连接 ” 。
请注意,对机密的访问权限可以由
现在应该与您的集群建立连接,您将能够看到集群中的数据库对象并对集群运行查询
结论
在这篇文章中,我们演示了 Secrets Manager 与 Amazon Redshift 的集成如何简化管理员凭证的存储。这是一项易于使用的功能,可立即使用,可自动执行维护管理员凭据和轮换 Redshift 数据仓库的重要任务。今天就试试吧,如果你有任何问题或建议,请发表评论。
作者简介