PostgreSQL を Kerberos 認証と接続する - Amazon Relational Database Service

PostgreSQL を Kerberos 認証と接続する

pgAdmin インターフェイスまたは psql などのコマンドラインインターフェイスを使用して、Kerberos 認証で PostgreSQL に接続できます。接続の詳細については、「PostgreSQL データベースエンジンを実行する DB インスタンスへの接続 」を参照してください。

pgAdmin を使用して、PostgreSQL を Kerberos 認証に接続するには、以下のステップを実行します。

  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 などの形式を使用します。

      Windows クライアントからオンプレミスの Microsoft Active Directory を使用している場合は、特別なエンドポイントを使用して接続する必要があります。ホストエンドポイントで Amazon ドメイン rds.amazonaws.com を使用する代わりに、AWS Managed Active Directory のドメイン名を使用します。

      例えば、AWS Managed Active Directory のドメイン名が corp.example.com であるとします。その場合は、[Host (ホスト)] に PostgreSQL-endpoint.AWS-Region.corp.example.com. の形式を使用します。

    • [Port (ポート)] に、割り当てられたポートを入力します。

    • [Maintenance database (メンテナンスデータベース)] に、クライアントが接続する初期データベースの名前を入力します。

    • [Username (ユーザーネーム)] に、「 ステップ 7: Kerberos 認証の PostgreSQL ログインを作成する 」で Kerberos 認証用に入力したユーザーネームを入力します。

  5. [Save] を選択します。

psql を使用して、PostgreSQL を Kerberos 認証に接続するには、以下のステップを実行します。

  1. コマンドプロンプトで、次のコマンドを実行します。

    kinit username

    username をユーザー名で置き換えます。プロンプトで Microsoft Active Directory に保存されているユーザーのパスワードを入力します。

  2. PostgreSQL DB インスタンスがパブリックにアクセス可能な VPC を使用している場合は、EC2 クライアントの /etc/hosts ファイルに、DB インスタンスエンドポイントのプライベート IP アドレスを記述します。例えば、次のコマンドはプライベート 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

    Windows クライアントからオンプレミスの Microsoft Active Directory を使用している場合は、特別なエンドポイントを使用して接続する必要があります。ホストエンドポイントで Amazon ドメイン rds.amazonaws.com を使用する代わりに、AWS Managed Active Directory のドメイン名を使用します。

    例えば、AWS Managed Active Directory のドメイン名が corp.example.com であるとします。次に、エンドポイントの形式 PostgreSQL-endpoint.AWS-Region.corp.example.com を使用して、これを /etc/hosts ファイルに配置します。

    % echo " 34.210.197.118 PostgreSQL-endpoint.AWS-Region.corp.example.com" >> /etc/hosts
  3. 次の psql コマンドを使用して、Active Directory と統合されている PostgreSQL DB インスタンスにログインします。

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

    オンプレミスの Active Directory を使用して、Windows クライアントから PostgreSQL DB クラスターにログインするには、前のステップ (corp.example.com) のドメイン名を指定して次の psql コマンドを使用します。

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