Windows 2025
Sponsored Link

IIS : 基本認証を設定する2024/12/18

 

基本認証を設定して、ある Web サイト配下の特定のパスに対して認証を要求するように設定します。

基本認証の際のユーザー名とパスワードはプレーンテキストで送信されるため、SSL 設定済みのサイト配下での使用が推奨です

[1] PowerShell を管理者権限で起動して設定します。
例として [RX-7.srv.world] サイトの物理パス直下に [auth_basic] フォルダーを作成して [auth_basic] フォルダー配下は基本認証を要求するよう設定します。
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

# 基本認証の機能をインストール
PS C:\Users\Administrator> Install-WindowsFeature Web-Basic-Auth 

Success Restart Needed Exit Code      Feature Result
------- -------------- ---------      --------------
True    No             Success        {Basic Authentication}

# IIS 再起動
PS C:\Users\Administrator> Restart-Service W3SVC 

PS C:\Users\Administrator> Get-Website 

Name             ID   State      Physical Path                  Bindings
----             --   -----      -------------                  --------
Default Web Site 1    Started    %SystemDrive%\inetpub\wwwroot  http *:80:
RX-7.srv.world   2    Started    C:\inetpub\newsite             http *:80:rx-7.srv.world
                                                                https *:443:rx-7.srv.world sslFlags=0

# [auth_basic] フォルダー作成
PS C:\Users\Administrator> New-Item -ItemType Directory -Path "IIS:\Sites\RX-7.srv.world\auth_basic" 

    Directory: WebAdministration::\\RX-7\Sites\RX-7.srv.world


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        12/17/2024   5:30 PM                auth_basic

# 匿名認証を無効化
PS C:\Users\Administrator> Set-WebConfigurationProperty -Filter '/system.webServer/security/authentication/anonymousAuthentication' -Location "RX-7.srv.world/auth_basic" -Name enabled -Value False 

# 基本認証を有効化
PS C:\Users\Administrator> Set-WebConfigurationProperty -Filter '/system.webServer/security/authentication/basicAuthentication' -Location "RX-7.srv.world/auth_basic" -Name enabled -Value True 

# Web サイト再起動
PS C:\Users\Administrator> Restart-WebItem -PSPath 'IIS:\Sites\RX-7.srv.world' 

# テストページ作成
PS C:\Users\Administrator> Write-Output "Basic Authentication Test Page" | Out-File C:\inetpub\newsite\auth_basic\index.html -Encoding Default 

# アクセスして動作確認 ⇒ [-u (ユーザー名)]
PS C:\Users\Administrator> curl.exe -u Serverworld https://rx-7.srv.world/auth_basic/ 
Enter host password for user 'Serverworld':     # ユーザーのパスワード
Basic Authentication Test Page
IIS : 基本認証を設定する (GUI)
 

GUI で設定する場合は以下のように実行します。

[2] [サーバーマネージャー] - [役割と機能の追加] から [Web サーバー (IIS)] の機能で、以下のように [基本認証] を選択してチェックを入れます。
[3] インストール後は IIS を再起動しておきます。
[4]

事前に基本認証を設定したいサイトのパスにフォルダーを追加しておきます。
当例では [auth_basic] フォルダーを作成して進めます。該当フォルダーにはアクセスするユーザーの NTFS 読み取り権限も必要です。

[スタート] - [サーバーマネージャー] から [ツール] - [インターネット インフォメーション サービス マネージャー] を起動し、左ペインで、設定したいサイト配下の、基本認証用に事前作成したフォルダーを選択し、中央ペインで [認証] を開きます。
[5] 以下のように [匿名認証] を無効にし、[基本認証] を有効にします。その後、サイトを再起動しておきます。
[6] 基本認証を設定したフォルダー配下にテストページを作成して動作確認します。 アクセスすると認証を求められるので、任意のユーザーで認証します。
[7] 認証後、テストページが正常に応答すれば OK です。
関連コンテンツ