すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:RDS for PostgreSQL を自己管理ドメインに接続

最終更新日:Aug 26, 2026

Active Directory (AD) 認証を使用すると、エンタープライズユーザーは別のデータベースパスワードを必要とせずに、AD 認証情報を使用して ApsaraDB RDS for PostgreSQL インスタンスにログインできます。このガイドでは、Elastic Compute Service (ECS) インスタンスに AD ドメインコントローラーを設定し、Lightweight Directory Access Protocol (LDAP) を使用して RDS インスタンスをその自己管理 AD ドメインに接続する手順を説明します。

仕組み

ユーザーが RDS インスタンスに接続すると、インスタンスは LDAP を介して認証リクエストを AD ドメインコントローラーに転送します。ドメインコントローラーはユーザーの認証情報を検証し、結果を返します。接続に対して AD 認証が有効になっている場合、AD ドメインコントローラーがパスワード検証を管理します。特定の接続で AD が使用されていない場合、ApsaraDB RDS は独自のパスワード検証にフォールバックします。

RDS インスタンスと AD ドメインコントローラーは、プライベートネットワーク経由でのみ通信します。両方とも同じ Virtual Private Cloud (VPC) 内に存在する必要があります。

前提条件

開始する前に、以下が準備できていることを確認してください。

  • PostgreSQL 10 以降、マイナーエンジンバージョン 20210228 以降を実行し、クラウドディスクを使用している ApsaraDB RDS for PostgreSQL インスタンス。マイナーエンジンバージョンを更新するには、「ApsaraDB RDS for PostgreSQL インスタンスのマイナーエンジンバージョンを更新する」をご参照ください。

  • RDS インスタンスと同じ VPC 内にあり、Windows Server 2016 以降を実行している ECS インスタンス

  • ECS セキュリティグループで、RDS インスタンスのプライベート IP アドレスからのインバウンドトラフィックを許可するように設定します。 詳細については、「セキュリティグループルールを追加する」をご参照ください。 ECS ファイアウォールが有効になっている場合は、同じトラフィックを許可するように設定します (デフォルトでは、ファイアウォールは無効になっています)。

  • Domain Admins グループに属するドメインアカウント

  • ApsaraDB RDS コンソールへのアクセス

ステップ 1:ECS 上での AD ドメインコントローラーのセットアップ

AD ドメインコントローラーは Windows Server を実行する必要があります。このガイドでは、Windows Server 2016 を例として使用します。
  1. ECS インスタンスにログインし、[サーバーマネージャー] を開きます。

  2. 左側のナビゲーションウィンドウで [ダッシュボード] をクリックし、次に [役割と機能の追加] をクリックします。

    添加角色和功能

  3. [役割と機能の追加ウィザード] で、各タブを次のように設定します。

    ECS インスタンスには静的 IP アドレスが必要です。動的 IP アドレスを使用すると、DNS サーバーが利用できなくなります。
    タブ 設定
    開始する前に デフォルト設定を使用します。
    インストールの種類 デフォルト設定を使用します。
    サーバーの選択 デフォルト設定を使用します。
    サーバーの役割 [Active Directory ドメインサービス] を選択し、ダイアログボックスで [機能の追加] をクリックします。[DNS サーバー] を選択し、[機能の追加] をクリックします。
    機能 デフォルト設定を使用します。
    AD DS デフォルト設定を使用します。
    DNS サーバー デフォルト設定を使用します。
    インストール [インストール] をクリックします。
  4. インストールが完了したら、[閉じる] をクリックします。

  5. 左側のナビゲーションウィンドウで [AD DS] をクリックします。右上隅の [その他] をクリックします。

    AD DS更多

  6. [すべてのサーバータスクの詳細と通知] パネルで、[このサーバーをドメインコントローラーに昇格させる] をクリックします。

    将此服务器提升为域控制器

  7. [Active Directory ドメインサービス構成ウィザード] で、以下を設定します。

    タブ 設定
    展開の構成 [新しいフォレストを追加する] を選択し、[ルートドメイン名] を設定します。この例では pgsqldomain.net を使用します (pgsqldomain がプレフィックス、net がサフィックスです)。設定全体で同じルートドメイン名を使用してください。添加新林,设置域名
    ドメインコントローラーのオプション [ディレクトリサービス復元モード (DSRM) パスワード] を設定します。设置还原密码
    サーバーの選択 [DNS の委任を作成する] のチェックを外します。创建 DNS 委派
    その他のオプション、パス、オプションの確認 デフォルト設定を使用します。
    前提条件のチェック [インストール] をクリックします。
  8. ECS インスタンスが AD ドメインコントローラーとして再起動した後、次のステップに進む前にもう一度ログインします。

ステップ 2:AD ドメインコントローラーへのユーザー追加

2種類の AD ユーザーが必要です。管理者ユーザー (LDAP がディレクトリにバインドするために使用) と標準ユーザー (RDS インスタンスへのログインに使用) です。

管理者ユーザーの追加

  1. [サーバーマネージャー] で、左側のナビゲーションウィンドウにある [AD DS] をクリックします。ドメインコントローラーを右クリックし、[Active Directory ユーザーとコンピューター] を選択します。

    添加ad用户

  2. pgsqldomain.net を展開し、[Users] を右クリックして [新規作成] > [ユーザー] を選択します。

    pgsqldomain.net はステップ 1 で設定したルートドメイン名です。

    添加用户

  3. ユーザー名を入力し、[次へ] をクリックします。

    新建对象-用户

  4. パスワードを入力し、[パスワードを無期限にする] を選択してから [次へ] をクリックし、[完了] をクリックします。

    设置密码

  5. 新しいユーザーをダブルクリックし、Domain Admins グループに追加します。

    加入管理员组

    添加管理员组结果

標準ユーザーの追加

上記と同じ手順に従って、標準ユーザーを作成します。ユーザーを Domain Admins グループに追加する手順はスキップします。

この例では、標準ユーザーとして ldapuser を使用します。このアカウントは RDS インスタンスへのログインに使用されます。

ステップ 3:ECS のセキュリティグループルールの設定

AD ドメインコントローラーは、いくつかのポートを開く必要があります。ドメインコントローラーには専用のセキュリティグループを使用し、他の ECS インスタンスと共有しないようにしてください。

  1. ECS コンソールにログインし、[インスタンス & イメージ] > [インスタンス] に移動します。

  2. 上部のナビゲーションバーで、ECS インスタンスのリージョンを選択します。

  3. ECS インスタンス ID をクリックし、左側のナビゲーションウィンドウで [セキュリティグループ] をクリックします。

  4. [操作] 列の [ルールの追加] をクリックします。

  5. [インバウンド] タブで [ルールの追加] をクリックして、RDS インスタンスが以下のポートで ECS インスタンスに到達できるようにします。

    プロトコル ポート サービス
    TCP 88 Kerberos 認証
    TCP 135 RPC
    TCP/UDP 389 LDAP
    TCP 445 CIFS
    TCP 3268 グローバルカタログ
    TCP/UDP 53 DNS
    TCP 49152–65535 デフォルトの動的ポート範囲 (49152/65535 として入力)

ステップ 4:RDS インスタンスの設定

対応するデータベースアカウントの作成

  1. ApsaraDB RDS コンソールで RDS インスタンスを見つけ、その ID をクリックします。

  2. ldapuser という名前のアカウントを作成します。「アカウントの作成」をご参照ください。

    RDS のアカウント名は AD の標準ユーザー名と完全に一致させる必要があります (この例では ldapuser)。パスワードは異なっていてもかまいません。AD 認証がアクティブな場合、AD ドメインコントローラーがパスワードを検証します。非アクティブな場合、ApsaraDB RDS はコンソールで設定されたアカウントパスワードを使用します。

    dbadminrds账号

AD ドメインサービスの設定

  1. 左側のナビゲーションウィンドウで [アカウント] をクリックし、[AD ドメインサービス] タブを開きます。このタブを初めて開くと、システムは 2 つのデフォルトレコードを作成します。

    host    all            all    0.0.0.0/0    md5
    host    replication    all    0.0.0.0/0    md5

    これらのレコードは削除または変更できます。

  2. 最初のレコードの [編集] をクリックし、以下のパラメーターを設定します。OPTION フィールドには、次のフォーマットを使用します。

    パラメーター 値の例 説明
    優先度 0 レコードの優先度。0 が最も高い優先度で、最初のレコードに自動的に割り当てられます。
    TYPE host 接続タイプ。host は SSL と非 SSL の両方の TCP/IP 接続に一致します。hostssl は SSL 接続のみに一致します (SSL 暗号化が有効である必要があります)。hostnossl は非 SSL 接続のみに一致します。
    DATABASE all 指定されたユーザーがアクセスできるデータベース。all を使用すると、すべてのデータベースへのアクセスが許可されます。複数のデータベースはカンマで区切ります。
    USER ldapuser 接続を許可される AD 標準ユーザー。複数のユーザーはカンマで区切ります。Domain Admins アカウントはここでは使用できません。
    ADDRESS 0.0.0.0/0 許可されるソース IP アドレス。0.0.0.0/0 は任意の IP アドレスからの接続を許可します。
    MASK (空欄のまま) ADDRESS の IP アドレスのサブネットマスク。CIDR 表記を使用する場合は空欄のままにします。
    METHOD ldap 認証方式。小文字である必要があります。有効な値:trust、reject、scram-sha-256、md5、password、gss、sspi、ldap、radius、cert、pam。
    OPTION 下記参照 METHOD が ldap の場合に必須の LDAP オプション。
    ldapserver=<ECS インスタンスのプライベート IP アドレス> ldapbasedn="CN=Users,DC=<ドメインプレフィックス>,DC=<ドメインサフィックス>" ldapbinddn="CN=<AD 管理者ユーザー名>,CN=Users,DC=<ドメインプレフィックス>,DC=<ドメインサフィックス>" ldapbindpasswd="<AD 管理者パスワード>" ldapsearchattribute="sAMAccountName"

    ドメイン pgsqldomain.net と管理者ユーザー adminuser の例:

    ldapserver=<ECS プライベート IP> ldapbasedn="CN=Users,DC=pgsqldomain,DC=net" ldapbinddn="CN=adminuser,CN=Users,DC=pgsqldomain,DC=net" ldapbindpasswd="<adminuser パスワード>" ldapsearchattribute="sAMAccountName"

    OPTION パラメーターの完全なリストについては、PostgreSQL 認証方式のドキュメントをご参照ください。

  3. AD ドメインサービスレコードの右側にある [追加] をクリックして、以下の値を持つフォールバックレコードを追加します。

    host    all    all    0.0.0.0/0    md5
  4. [OK] をクリックし、次に [送信] をクリックします。

    [送信] をクリックすると、RDS インスタンスは約 1 分間 [インスタンスのメンテナンス中] ステータスになります。新しい設定は新しい接続にのみ適用されます。変更を適用するには、既存の接続を閉じて再接続してください。

ステップ 5:接続のテスト

psql コマンドラインツールを使用して RDS インスタンスに接続します。RDS アカウントのパスワードではなく、AD 標準ユーザーの認証情報を使用します。

psql -h <RDS インスタンスのエンドポイント> -U ldapuser -p 5432 -d postgres

パスワードを求められたら、ldapuser の AD パスワード (RDS アカウントのパスワードではない) を入力します。

psql を使用する前に PostgreSQL クライアントをインストールしてください。その他の接続方法については、「ApsaraDB RDS for PostgreSQL インスタンスへの接続」をご参照ください。

AD ドメインサービスレコードの一括インポート (任意)

複数の AD ドメインサービスレコードを一度に設定するには、一括インポート機能を使用します。

导入AD域服务信息

インポートモード:

  • 既存のサービス情報を上書きする — 現在のすべてのレコードを置き換えます。

  • 追加のサービス情報 (最高優先度) — 新しいレコードを先頭に挿入し、既存のレコードよりも高い優先度を与えます。

  • 追加のサービス情報 (最低優先度) — 新しいレコードを末尾に追加し、既存のレコードよりも低い優先度を与えます。

必須フォーマット:

TYPE|DATABASE|USER1|ADDRESS|MASK|METHOD|OPTION

サンプルレコード:

host|all|ldapuser|0.0.0.0/0||ldap|ldapserver=<ECS プライベート IP> ldapbasedn="CN=Users,DC=pgsqldomain,DC=net" ldapbinddn="CN=<AD 管理者ユーザー名>,CN=Users,DC=pgsqldomain,DC=net" ldapbindpasswd="<AD 管理者パスワード>" ldapsearchattribute="sAMAccountName"

[AD ドメインの編集] テキストボックスにレコードを入力し、インポートモードを選択して送信します。

AD ドメインサービス編集履歴の表示

  1. RDS コンソールでインスタンス ID をクリックし、[アカウント] > [AD ドメインサービス編集履歴] に移動します。

  2. [操作] 列の [変更詳細] をクリックして、変更の詳細を表示します。変更が失敗した場合、ステータスは [未適用] と表示されます。[変更ログ] をクリックしてエラーメッセージを確認します。

    查看AD域修改记录

次のステップ