本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon RDS 中为 PostgreSQL 数据库实例启用加密连接
创建者:Rohit Kapoor (AWS)
环境:PoC 或试点 | 技术:数据库;联网;安全、身份、合规 | 工作负载:开源 |
Amazon Web Services:Amazon RDS;Amazon Aurora |
Summary
Amazon Relational Database Service(Amazon RDS)支持适用于 PostgreSQL 数据库实例的 SSL 加密。使用 SSL,您可以加密应用程序与 Amazon RDS for PostgreSQL 数据库实例之间的 PostgreSQL 连接。默认情况下,Amazon RDS for PostgreSQL 使用 SSL/TLS,并期望所有客户端都使用 SSL/TLS 加密进行连接。Amazon RDS for PostgreSQL 支持 TLS 版本 1.1 和 1.2。
此模式介绍了如何为 Amazon RDS for PostgreSQL 数据库实例启用加密连接。您可使用相同进程为 Amazon Aurora PostgreSQL-Compatible Edition 启用加密连接。
先决条件和限制
一个有效的 Amazon Web Services account
架构
![在 Amazon RDS 中为 PostgreSQL 数据库实例启用加密连接](images/pattern-img/4f87c6a3-b4ff-4248-96d3-a4a498659735/images/ccc5c880-1191-4c12-a255-6908b96b96a5.png)
工具
pgAdmin
是 PostgreSQL 的开源管理和开发平台。您可在 Linux、Unix、macOS 和 Windows 上使用 pgadmin 来管理 PostgreSQL 10 及更高版本中的数据库对象。 PostgreSQL
编辑器提供了更加用户友好的界面,可帮助您创建、开发和运行查询,并按您的要求编辑代码。
最佳实践
监控不安全数据库连接。
审核数据库访问权限。
确保对备份和快照进行静态加密。
监控数据库访问。
避免使用不受限制的访问组。
使用 Amazon 增强您的通知效果 GuardDuty。
定期监控政策遵守情况。
操作说明
任务 | 描述 | 所需技能 |
---|---|---|
将受信任的证书加载到您的计算机。 | 要将证书添加到计算机的受信任的根证书颁发机构存储中,请按照以下步骤操作。(这些指令以 Windows Server 为例。)
| DevOps 工程师、迁移工程师、DBA |
任务 | 描述 | 所需技能 |
---|---|---|
创建参数组和设置 rds.force_ssl 参数。 | 如果 PostgreSQL 数据库实例具有自定义参数组,请编辑该参数组并将 如果数据库实例使用未启用 要创建新参数组,请执行以下操作:
将参数组与您的 PostgreSQL 数据库实例相关联,请执行以下操作:
有关更多信息,请参阅 Amazon RDS 文档。 | DevOps 工程师、迁移工程师、DBA |
强制执行 SSL 连接。 | 连接到 Amazon RDS for PostgreSQL 数据库实例。不使用 SSL 的连接尝试会被拒绝,并显示错误消息。有关更多信息,请参阅 Amazon RDS 文档。 | DevOps 工程师、迁移工程师、DBA |
任务 | 描述 | 所需技能 |
---|---|---|
安装 SSL 扩展。 |
有关更多信息,请参阅 Amazon RDS 文档。 | DevOps 工程师、迁移工程师、DBA |
任务 | 描述 | 所需技能 |
---|---|---|
为 SSL 配置客户端。 | 通过使用 SSL,您可启动支持使用 TLS 协议的加密连接的 PostgreSQL 服务器。服务器在同一 TCP 端口上侦听标准连接和 SSL 连接,并与任何连接客户端协商是否使用 SSL。默认情况下,这是一个客户端选项。 如果您使用 psql 客户端:
对于其他 PostgreSQL 客户端:
查看以下客户页面: | DevOps 工程师、迁移工程师、DBA |
故障排除
问题 | 解决方案 |
---|---|
无法下载 SSL 证书。 | 检查您与网站的连接,然后重试将证书下载到您的本地计算机。 |
相关资源
将 SSL 与 PostgreSQL 数据库实例结合使用(Amazon RDS 文档)
使用 SSL 保护 TCP/IP 连接
(PostgreSQL 文档) 使用 SSL
(JDBC 文档)