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

ApsaraDB RDS:ApsaraDB RDS for PostgreSQL インスタンスを自己管理型 AD ドメインに接続する

最終更新日:Mar 29, 2026

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

仕組み

ユーザーが ApsaraDB RDS for PostgreSQL インスタンスに接続すると、インスタンスは Lightweight Directory Access Protocol (LDAP) を介して認証リクエストを AD ドメインコントローラーに転送します。ドメインコントローラーはユーザーの認証情報を検証し、結果を返します。接続時に AD 認証が有効になっている場合、AD ドメインコントローラーがパスワード検証を担当します。一方、特定の接続で AD を使用していない場合は、ApsaraDB RDS が独自のパスワード検証にフォールバックします。

ApsaraDB RDS for PostgreSQL インスタンスと AD ドメインコントローラー間の通信は、プライベートネットワーク上でのみ行われます。両者は同一の仮想プライベートクラウド (VPC) 内に配置されている必要があります。

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

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

  • ApsaraDB RDS for PostgreSQL インスタンスと同じ VPC 内にあり、Windows Server 2016 以降 を実行中の ECS インスタンス。

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

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

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

ステップ 1:ECS 上に AD ドメインコントローラーをセットアップする

AD ドメインコントローラーは Windows Server 上で実行する必要があります。本ガイドでは、例として Windows Server 2016 を使用します。
  1. ECS インスタンスにログインし、Server Manager を開きます。

  2. 左側のナビゲーションウィンドウで Dashboard をクリックし、その後 Add roles and features をクリックします。

    添加角色和功能

  3. Add Roles and Features Wizard の各タブを以下のように構成します。

    ECS インスタンスには静的 IP アドレスを設定する必要があります。動的 IP アドレスでは DNS サーバーが利用不可になります。
    タブ設定
    Before You Beginデフォルト設定を使用します。
    Installation Typeデフォルト設定を使用します。
    Server Selectionデフォルト設定を使用します。
    Server RolesActive Directory Domain Services を選択し、ダイアログボックスで Add Features をクリックします。DNS Server を選択し、その後 Add Features をクリックします。
    Featuresデフォルト設定を使用します。
    AD DSデフォルト設定を使用します。
    DNS Serverデフォルト設定を使用します。
    InstallInstall をクリックします。
  4. インストールが完了したら、Close をクリックします。

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

    AD DS更多

  6. All Servers Task Details and Notifications パネルで、Promote this server to a domain controller をクリックします。

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

  7. Active Directory Domain Services Configuration Wizard で、以下の項目を構成します。

    タブ設定
    Deployment ConfigurationAdd a new forest を選択し、Root domain name を設定します。本例では pgsqldomain.netpgsqldomain がプレフィックス、net がサフィックス)を使用します。構成全体で、このルートドメイン名を一貫して使用してください。添加新林,设置域名
    Domain Controller OptionsDirectory Services Restore Mode (DSRM) password を設定します。设置还原密码
    Server SelectionCreate DNS delegation のチェックを解除します。创建 DNS 委派
    Additional OptionsPathsReview Optionsデフォルト設定を使用します。
    Prerequisites CheckInstall をクリックします。
  8. ECS インスタンスが AD ドメインコントローラーとして再起動された後、次のステップに進む前に再度ログインします。

ステップ 2:AD ドメインコントローラーにユーザーを追加する

AD ユーザーは、以下の 2 種類が必要です:LDAP によるディレクトリへのバインドに使用される管理者ユーザー、および ApsaraDB RDS for PostgreSQL インスタンスへのログインに使用される標準ユーザー。

管理者ユーザーの追加

  1. Server Manager の左側ナビゲーションウィンドウで AD DS をクリックします。ドメインコントローラーを右クリックし、Active Directory Users and Computers を選択します。

    添加ad用户

  2. pgsqldomain.net を展開し、Users を右クリックして、New > User を選択します。

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

    添加用户

  3. ユーザー名を入力し、Next をクリックします。

    新建对象-用户

  4. パスワードを入力し、Password never expires を選択した後、Next および Finish をクリックします。

    设置密码

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

    加入管理员组

    添加管理员组结果

標準ユーザーの追加

上記と同じ手順で標準ユーザーを作成しますが、Domain Admins グループへの追加はスキップします。

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

ステップ 3:ECS のセキュリティグループルールを構成する

AD ドメインコントローラーでは、複数のポートを開く必要があります。他の ECS インスタンスと共有せず、ドメインコントローラー専用のセキュリティグループを使用することを推奨します。

  1. ECS コンソール にログインし、「Instances & Images」>「Instances」に移動します。

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

  3. ECS インスタンス ID をクリックし、左側のナビゲーションウィンドウから Security Groups をクリックします。

  4. Actions 列の Add Rules をクリックします。

  5. Inbound タブで、Add Rule をクリックし、以下のポートで ApsaraDB RDS for PostgreSQL インスタンスから ECS インスタンスへの接続を許可します。

    プロトコルポートサービス
    TCP88Kerberos 認証
    TCP135RPC
    TCP/UDP389LDAP
    TCP445CIFS
    TCP3268グローバルカタログ
    TCP/UDP53DNS
    TCP49152–65535デフォルトの動的ポート範囲(49152/65535 と入力)

ステップ 4:ApsaraDB RDS for PostgreSQL インスタンスを構成する

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

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

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

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

    dbadminrds账号

AD ドメインサービスの構成

  1. 左側のナビゲーションウィンドウで Accounts をクリックし、「AD Domain Services」タブを開きます。初めてこのタブを開くと、システムが以下の 2 つのデフォルトレコードを作成します:

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

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

  2. 最初のレコードの Edit をクリックし、以下のパラメーターを構成します。OPTION フィールドには、以下の形式を使用します。

    パラメーター例の値説明
    Priority0レコードの優先度。0 が最も高い優先度であり、最初のレコードには自動的に割り当てられます。
    TYPEhost接続タイプ。host は SSL および非 SSL の TCP/IP 接続の両方をマッチさせます。hostssl は SSL 接続のみをマッチさせます(SSL 暗号化が有効である必要があります)。hostnossl は非 SSL 接続のみをマッチさせます。
    DATABASEall指定ユーザーがアクセス可能なデータベース。すべてのデータベースへのアクセスを許可するには all を使用します。複数のデータベースを指定する場合は、カンマで区切ります。
    USERldapuser接続を許可する AD 標準ユーザー。複数のユーザーを指定する場合は、カンマで区切ります。Domain Admins アカウントはここでは使用できません。
    ADDRESS0.0.0.0/0許可される送信元 IP アドレス。0.0.0.0/0 はすべての IP アドレスからの接続を許可します。
    MASK(空欄のまま)ADDRESS の IP アドレスに対するサブネットマスク。CIDR 表記を使用する場合は空欄のままにしてください。
    METHODldap認証方式。小文字で指定する必要があります。有効な値:trustrejectscram-sha-256md5passwordgsssspildapradiuscertpam
    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 ドメインサービスレコードの右側にある add をクリックし、以下の値を持つフォールバックレコードを追加します。

    host    all    all    0.0.0.0/0    md5
  4. OK をクリックし、その後 Submit をクリックします。

    Submit をクリックすると、ApsaraDB RDS for PostgreSQL インスタンスは約 1 分間「Maintaining Instance」状態になります。新しい構成は、新規接続に対してのみ有効になります。既存の接続を閉じて再接続することで、変更を適用できます。

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

psql コマンドラインツールを使用して ApsaraDB RDS for PostgreSQL インスタンスに接続します。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"

レコードを Edit AD domain テキストボックスに入力し、インポートモードを選択して送信します。

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

  1. RDS コンソールでインスタンス ID をクリックし、「Accounts」>「AD Domain Services Edit History」に移動します。

  2. Actions 列の changedetails をクリックして変更詳細を表示します。変更が失敗した場合、ステータスに「Not Taking Effect」と表示されます。Change log をクリックすると、エラーメッセージを確認できます。

    查看AD域修改记录

次のステップ