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

使用 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.Amazon-Region.rds.amazonaws.com 的格式。

      如果您从 Windows 客户端使用本地 Microsoft Active Directory,则需要使用特殊终端节点进行连接。在主机终端节点中使用 Amazon Managed Active Directory 的域名,而不是 Amazon 域 rds.amazonaws.com

      例如,假设 Amazon Managed Active Directory 的域名为 corp.example.com。然后对于 Host (主机),使用格式 PostgreSQL-endpoint.Amazon-Region.corp.example.com.

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

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

    • 对于用户名,键入您在 步骤 7:创建 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.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.118 PostgreSQL-endpoint.Amazon-Region.rds.amazonaws.com" >> /etc/hosts

    如果您从 Windows 客户端使用本地 Microsoft Active Directory,则需要使用特殊终端节点进行连接。在主机终端节点中使用 Amazon Managed Active Directory 的域名,而不是 Amazon 域 rds.amazonaws.com

    例如,假设 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
  3. 使用以下 psql 命令登录到与 Active Directory 集成的 PostgreSQL 数据库实例

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

    要从 Windows 客户端使用本地 Active Directory 登录 PostgreSQL 数据库集群,请使用以下 psql 命令以及上一步中的域名 (corp.example.com):

    psql -U username@CORP.EXAMPLE.COM -p 5432 -h PostgreSQL-endpoint.Amazon-Region.corp.example.com postgres