使用 Kerberos 身份验证连接到 PostgreSQL
您可以使用 pgAdmin 界面或命令行界面(如 psql)通过 Kerberos 身份验证连接到 PostgreSQL。有关连接的更多信息,请参阅 连接到运行 PostgreSQL 数据库引擎的数据库实例 。有关获取连接所需的端点、端口号和其他详细信息的信息,请参阅连接到 PostgreSQL 数据库实例。
要使用 pgAdmin 通过 Kerberos 身份验证连接到 PostgreSQL,请执行以下步骤:
在您的客户端计算机上启动 pgAdmin 应用程序。
在 Dashboard (控制面板) 选项卡上,选择 Add New Server (添加新服务器)。
在 Create - Server (创建 - 服务器) 对话框中,在 General (常规) 选项卡上键入名称以在 pgAdmin 中标识该服务器。
-
在 Connection (连接) 选项卡上,键入您的 RDS for PostgreSQL 数据库的以下信息。
-
对于 Host(主机),输入 RDS for PostgreSQL 数据库实例的端点。端点看起来类似于以下所示:
RDS-DB-instance
.111122223333
.aws-region
.rds.amazonaws.com要从 Windows 客户端连接到本地 Microsoft Active Directory,请使用 Amazon Managed Active Directory 的域名,而不是主机端点中的
rds.amazonaws.com
。例如,假设 Amazon Managed Active Directory 的域名为corp.example.com
。然后,对于 Host(主机),按如下方式指定端点:RDS-DB-instance
.111122223333
.aws-region
.corp.example.com -
对于 Port (端口),输入分配的端口。
-
对于 Maintenance database (维护数据库),输入客户端将连接到的初始数据库的名称。
-
对于用户名,键入您在 步骤 7:为您的 Kerberos 主体创建 PostgreSQL 用户 中为 Kerberos 身份验证输入的用户名。
-
选择 Save(保存)。
要使用 psql 通过 Kerberos 身份验证连接到 PostgreSQL,请执行以下步骤:
-
在命令提示符处,运行以下命令。
kinit
username
将
替换为用户名。在提示符下,输入在 Microsoft Active Directory 中为用户存储的密码。username
-
如果 PostgreSQL 数据库实例使用可公开访问的 VPC,请将数据库实例端点的 IP 地址放在 EC2 客户端上的
/etc/hosts
文件中。例如,以下命令获取 IP 地址,然后将其放在/etc/hosts
文件中。% dig +short
PostgreSQL-endpoint
.Amazon-Region
.rds.amazonaws.com ;; Truncated, retrying in TCP mode. ec2-34-210-197-118.Amazon-Region
.compute.amazonaws.com. 34.210.197.118 % echo " 34.210.197.118PostgreSQL-endpoint
.Amazon-Region
.rds.amazonaws.com" >> /etc/hosts如果您从 Windows 客户端使用本地 Microsoft Active Directory,则需要使用特殊终端节点进行连接。在主机终端节点中使用
rds.amazonaws.com
Managed Active Directory 的域名,而不是 Amazon 域 Amazon。例如,假设 Amazon Managed Active Directory 的域名为
corp.example.com
。为终端节点使用格式
,将其放入PostgreSQL-endpoint
.Amazon-Region
.corp.example.com/etc/hosts
文件。% echo " 34.210.197.118
PostgreSQL-endpoint
.Amazon-Region
.corp.example.com" >> /etc/hosts -
使用以下 psql 命令登录到与 Active Directory 集成的 PostgreSQL 数据库实例。
psql -U
username
@CORP.EXAMPLE.COM
-p 5432 -hPostgreSQL-endpoint
.Amazon-Region
.rds.amazonaws.com postgres要从 Windows 客户端使用本地 Active Directory 登录 PostgreSQL 数据库集群,请使用以下 psql 命令以及上一步中的域名 (
corp.example.com
):psql -U
username
@CORP.EXAMPLE.COM
-p 5432 -hPostgreSQL-endpoint
.Amazon-Region
.corp.example.com postgres