1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Active Directory(AD)によるLDAP認証環境の構築手順

Last updated at Posted at 2025-07-14

VirtualBox上にWindows Serverを構築し、Active Directoryを用いてLDAP認証を通すまでの一連の手順をまとめます。
クライアントから作成したユーザーでログオンできるところまでをゴールとします。

1. 仮想環境の準備

1-1. 仮想マシンの作成

  1. VirtualBoxをダウンロードしてインストール
  2. WindowsServer2022(日本語版)のisoファイルをダウンロード
  3. VirtualBoxで新規仮想マシンを作成
    • エディション:Windows Server 2022 Standard Evaluation(デスクトップ エクスペリエンス)
    • ユーザー名:administrator
    • ハードディスク:最低20GB以上推奨
      d04c747438eb896701e2a30d5a9c0ce2_MD5.jpeg
      8e49855bda520c1889c958ca29b090b0_MD5.jpeg
      aacaa36ffe7f81f185fdb4d9be2ae364_MD5.jpeg
      0c563d00fc475cc356b1e1b14b003f62_MD5.jpeg

1-2. 仮想マシンの設定

  1. 作成した仮想マシンの「設定」→「ネットワーク」を「ホストオンリーアダプター」に変更
    45a73a29e26df1307fcef94d09bdee7d_MD5.jpeg
  2. 仮想マシンを起動後、固定IPを設定(例:192.168.56.101)
    02523ccb9805cfba5cff01cfd4454150_MD5.jpeg
  3. ファイアウォールを無効化
    e67441f98b569594e3ad371b5ba76a62_MD5.jpeg
  4. クライアントから以下のコマンドでpingが通ることを確認
ping 192.168.56.101

2. Active Directoryの構築

2-1. Active Directory ドメインサービスの追加

  1. サーバーマネージャーから「役割と機能の追加」を実行
    cd8cc980ab3393ed2eb7f7ef6e54a8ab_MD5.jpeg
  2. サーバーの役割にて「Active Directory ドメイン サービス(AD DS)」を選択し、インストール
    8e6747ece3385d8f956349edfe737746_MD5.jpeg

2-2. ドメインコントローラーへ昇格

  1. サーバーマネージャーの旗マークの通知から「このサーバーをドメイン コントローラーに昇格」を実行
    94e3e8e9e9cd014c001e5c2b166b9fe6_MD5.jpeg
  2. 配置操作は"新しいフォレストを追加する"を選択。ルートドメイン名にexample.orgを指定。
    994007ee4625cd076f4889e0a57832a8_MD5.jpeg
  3. 適当なパスワードを設定
    01a825344dd48f13be3b2c701ff1609d_MD5.jpeg
  4. DNSオプションは初期表示のまま
    a892ab443d008bc246bb49a61f7ab836_MD5.jpeg
  5. 追加オプションは初期表示のまま
    97c6e0ae0465d53f0070f86ae753b7f0_MD5.jpeg
  6. 前提条件のチェックが問題ないことを確認してインストール
    411215a44301472d0559ce9d55d6cf39_MD5.jpeg
  7. インストール後は自動で再起動される

3. 組織グループとユーザーの作成

3-1. 組織グループ(OU)の作成

  1. サーバーマネージャーから「Active Directory ユーザーとコンピューター」を選択
    0630a8ef20fa2d81edee1c7d49bd942d_MD5.jpeg
  2. example.orgの配下にoperatorsの組織単位(OU)を作成
    6361c10f363f4a867ad9a4528d1a10f7_MD5.jpeg
    2ee7da9cf219f22689972a86a6725df6_MD5.jpeg

3-2. ユーザーの作成

  1. operatorsの配下にTEST003ユーザーを作成
    f6f85bf3fae4ea906415c723d0838435_MD5.jpeg
    d63f22e74cf5d2a6da43c6d920b388b7_MD5.jpeg
    853018ed56f19c76ceff6d8d8475a77d_MD5.jpeg

4. ドメインコントローラーのポリシー更新

4-1. ドメインコントローラーのパスワードポリシー更新

  1. Windows + Rgpmc.msc と入力し、グループポリシー管理コンソールを開く
  2. 左ペインで以下を開く:
    フォレスト: example.org
    └─ ドメイン
       └─ example.org
          └─ [Default Domain Policy]
    
  3. [Default Domain Policy] を右クリック → 編集
  4. ポリシーの編集画面で、以下をたどる:
    コンピューターの構成
    └─ ポリシー
       └─ Windows の設定
          └─ セキュリティの設定
             └─ アカウント ポリシー
                └─ パスワード ポリシー
    
  5. パスワード ポリシーを変更
    image.png
  6. コマンドプロンプトで以下を実行し、設定を反映
    gpupdate /force
    

4-2. TEST003ユーザーのローカル ログオンを許可

  1. Windows + Rgpmc.msc と入力し、グループポリシー管理コンソールを開く
  2. 左ペインで以下を開く:
    フォレスト: example.org
    └─ ドメイン
       └─ example.org
          └─ [Default Domain Controllers Policy]
    
  3. [Default Domain Policy] を右クリック → 編集
  4. ポリシーの編集画面で、以下をたどる:
    コンピューターの構成
    └─ ポリシー
       └─ Windows の設定
          └─ セキュリティの設定
             └─ ローカル ポリシー
                └─ ユーザー権利の割り当て
                   └─ ローカルでログオンを許可
    
  5. test003 を追加
    5a7493d586046fd5ddd661cd712a8338_MD5.jpeg
    91f8bf8c391be155f24c518f24529647_MD5.jpeg
  6. コマンドプロンプトで以下を実行し、設定を反映
    gpupdate /force
    

5. ログオン確認とトラブル対応

  • TEST003 でログオンできない場合は以下をチェック:
    • TEST003のプロパティの見直し
      3e9e7c83f0f4442397b8608069c62580_MD5.jpeg
    • TEST003のパスワードのリセット
      593697de827d91a638f15e0e554af8c8_MD5.jpeg
  • 問題がなければ、仮想マシンに TEST003 でログイン可能になる

6. Apache Directory StudioでのでのLDAP確認

  1. Apache Directory Studioをダウンロード

  2. アプリを起動後、LDAPメニューから"New Connection"を選択
    image.png

  3. パラメータを設定する

    • Host:192.168.56.101
    • Port:389
    • Bind DN or user:cn=TEST003,ou=operators,dc=example,dc=org
      (test003@example.org も可)
    • Password:a
      22e2e1094f5c5f1c43bf14d986f31b33_MD5.jpeg
      image.png
  4. 接続成功を確認
    image.png

7. JavaのテストコードでLDAP認証が動作することを確認

以下のコードを使って、LDAP認証がプログラムからも通ることを確認できます。

    import java.util.Hashtable;
    import javax.naming.Context;
    import javax.naming.NamingException;
    import javax.naming.directory.DirContext;
    import javax.naming.directory.InitialDirContext;
    
    public class LdapADAuthenticator {
        public static void main(String[] args) {
            // ADのドメイン名、ポート
            String ldapUrl = "ldap://192.168.56.101:389"; // 仮想環境のIPに合わせて変更
    
            // 認証対象のユーザー情報(完全なDN形式)
            String userDN = "cn=TEST003,ou=operators,dc=example,dc=org"; // 適宜修正
    
            String password = "a"; // 実際に設定したパスワード
    
            Hashtable<String, String> env = new Hashtable<>();
            env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
            env.put(Context.PROVIDER_URL, ldapUrl);
            env.put(Context.SECURITY_AUTHENTICATION, "simple");
            env.put(Context.SECURITY_PRINCIPAL, userDN);
            env.put(Context.SECURITY_CREDENTIALS, password);
    
            try {
                DirContext ctx = new InitialDirContext(env);
                System.out.println("OK");
                ctx.close();
            } catch (NamingException e) {
                System.out.println("NG " + e.getMessage());
            }
        }    
    }

おわりに

仮想環境に構築したActive Directoryを使って、ユーザーの認証からLDAP通信の確認までを一通り試すことができました。開発や検証でADを扱う必要がある方の参考になれば幸いです。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?