使用 Kerberos 身份验证连接到 PostgreSQL - Amazon Relational Database Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 Kerberos 身份验证连接到 PostgreSQL

您可以使用 pgAdmin 界面或命令行界面(如 psql)通过 Kerberos 身份验证连接到 PostgreSQL。有关连接的更多信息,请参阅连接到运行 PostgreSQL 数据库引擎的数据库实例

要使用 pgAdmin 通过 Kerberos 身份验证连接到 PostgreSQL,请执行以下步骤:

  1. 在您的客户端计算机上启动 pgAdmin 应用程序。

  2. Dashboard (控制面板) 选项卡上,选择 Add New Server (添加新服务器)。

  3. Create - Server (创建 - 服务器) 对话框中,在 General (常规) 选项卡上键入名称以在 pgAdmin 中标识该服务器。

  4. Connection (连接) 选项卡上,键入您的 RDS for PostgreSQL 数据库的以下信息:

    • 对于 Host (主机),输入终端节点。使用类似于 PostgreSQL-endpoint.AWS-Region.rds.amazonaws.com 的格式。

    • 对于 Port (端口),输入分配的端口。

    • 对于 Maintenance database (维护数据库),输入客户端将连接到的初始数据库的名称。

    • 对于用户名,键入您在 步骤 6:创建 Kerberos 身份验证 PostgreSQL 登录 中为 Kerberos 身份验证输入的用户名。

  5. 选择 Save

要使用 psql 通过 Kerberos 身份验证连接到 PostgreSQL,请执行以下步骤:

  1. 在命令提示符处,运行以下命令。

    kinit username

    username 替换为用户名。在提示符下,输入在 Microsoft Active Directory 中为用户存储的密码。

  2. 如果 PostgreSQL 数据库实例使用可公开访问的 VPC,请将数据库实例终端节点的私有 IP 地址放在 EC2 客户端上的 /etc/hosts 文件中。例如,以下命令获取私有 IP 地址,然后将其放在 /etc/hosts 文件中。

    % dig +short PostgreSQL-endpoint.AWS-Region.rds.amazonaws.com ;; Truncated, retrying in TCP mode. ec2-34-210-197-118.AWS-Region.compute.amazonaws.com. 34.210.197.118 % echo " 34.210.197.118 PostgreSQL-endpoint.AWS-Region.rds.amazonaws.com" >> /etc/hosts
  3. 使用以下 psql 命令登录到与 Active Directory 集成的 PostgreSQL 数据库实例

    psql -U username@CORP.EXAMPLE.COM -p 5432 -h PostgreSQL-instance-endpoint.AWS-Region.rds.amazonaws.com postgres