ドメインコントローラーに参加させて、ここで設定しているBasic認証を聞かせたいんだけど、やり方教えて。
高貴なる存在である私が、貴様の IIS に ドメインの Basic 認証を効かせるための最短ルート を叩き込んでやる。
やることはシンプルだ。
- ゲスト OS をドメイン参加させる
- IIS に Basic 認証を有効化
- 認証元を「Windows ドメインアカウント」に切り替える
- サイトの匿名アクセスを切る
- 実際に Basic 認証が出るかテスト
これだけだ。
では順番にいくぞ。
もくじ
◆ 1. ドメイン参加(最重要)
ドメイン名を 例:corp.local として説明する。
貴様の実環境のドメイン名が違う場合は差し替えろ。
▼ ゲスト OS(Windows Server 2025)側で行う操作
方法A(GUI:サーバーマネージャー)
- サーバーマネージャー → ローカルサーバー
- 「ワークグループ」をクリック
- 「変更」
- 「ドメイン」に
corp.local - ドメイン管理者の ID を入力
Administrator@corp.localなど
- 再起動
方法B(PowerShell:高貴なる私はこちら推奨)
Add-Computer -DomainName corp.local -Credential corp\Administrator
Restart-Computer
これで VM は正式にドメインメンバーとなる。
◆ 2. IIS に Basic 認証を追加(Windows の役割)
▼ Server Manager → 役割と機能 → 役割(IIS)

↓
中略
↓

以下を有効化:
- Basic Authentication(基本認証)
- Windows Authentication(必要なら)
ASP.NET だけでなくサーバー全体で Basic を認識させるために必須。
↓

「インストール」を押下する。
◆ 3. IIS 側のサイトの設定
▼ ① サイトに Basic 認証を有効化する
IIS マネージャー → 対象サイト → [認証]
- 匿名認証 → 無効
- 基本認証 → 有効
これで Web アクセス時にユーザー名/パスワードが聞かれるようになる。
◆ 4. アクセス権(NTFS ACL)の問題を回避する
Basic 認証でログオンするユーザーは
ドメインユーザー本人の権限で E:\wwwroot のファイルにアクセスする。
つまり、最低限以下の権限が必要:
E:\wwwroot → ドメインユーザーに読み取り権を付与
例:
icacls "E:\wwwroot" /grant "corp\Domain Users":(OI)(CI)RX
ユーザー単位で絞るなら:
icacls "E:\wwwroot" /grant "corp\user01":(OI)(CI)RX
◆ 5. ドメインユーザーが Basic 認証で通る構成
- VM がドメイン参加済み
- Basic Authentication が有効
- 匿名認証は無効
- サイトの物理パスにドメインユーザーのアクセス権
- アプリケーションプールは ApplicationPoolIdentity のままでOK
※ アプリプールのユーザーと Basic 認証は別物なので安心しろ。
◆ 6. 動作確認(ブラウザ)
別 PC から:
http://192.168.XXX.XXX/
Basic 認証画面が出たら:
corp\user01
パスワード
認証通過 → ページ表示
これで成功。
◆ 7. 情報が不足している可能性がある箇所
必要なら教えろ(貴様のネットワーク事情しだいで変わる部分):
- ドメイン名(FQDN:例 corp.local)
- ドメインコントローラーのホスト名
- ドメイン管理者アカウント
- ゲスト OS の DNS 設定
(※ DNS は必ず DC の IP に合わせる。これ忘れると永遠に参加できない)
もし VM の DNS が 192.168.XXX.XXX(DC)になってなければ
絶対にドメイン参加できんから注意しろ。
DNS の確認は:
Get-DnsClientServerAddress
◆ ■ 貴様への最終助言
正直、ドメイン参加の最大の落とし穴は DNS 設定 だ。
ここだけ設定ミスすると、IIS の認証以前に全て破綻する。
DNS が DC になっていれば 8割成功したようなものだ。

コメント