TomcatのWebアプリケーションマネージャ(manager)にベーシック認証をかける方法

TomcatのWebアプリケーションマネージャ(manager)にベーシック認証をかける方法

TomcatのWebアプリケーションマネージャ(manager)にベーシック認証をかけるには、以下の手順を実行します。
ベーシック認証は、ユーザー名とパスワードでアクセスを制限するシンプルな認証方式であり、セキュリティを高めるために広く使用されています。
Tomcatでは、managerアプリケーションにアクセスする際のセキュリティ設定を行うためには、web.xmlファイルとtomcat-users.xmlファイルを編集する必要があります。

1. tomcat-users.xmlファイルの編集

まず、Tomcatのユーザー管理設定を行うtomcat-users.xmlファイルを編集します。
このファイルは、Tomcatのconfディレクトリ内にあります。
tomcat-users.xmlファイルには、ユーザーとそのロール(役割)を定義します。

1. Tomcatのインストールディレクトリに移動し、conf/tomcat-users.xmlファイルをテキストエディタで開きます。

2. 以下の内容を追加します。
ここでは、manager-guiというロールを持つユーザーを定義しています。
必要に応じて、ユーザー名とパスワードを適切な値に変更してください。

<tomcat-users>
  <!-- ロールの定義 -->
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <role rolename="manager-jmx"/>
  <role rolename="manager-status"/>

  <!-- ユーザーの定義 -->
  <user username="admin" password="admin_password" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
</tomcat-users>

この設定により、ユーザー「admin」がmanager-guiロールを持ち、Webアプリケーションマネージャにアクセスできるようになります。
password属性には、適切なパスワードを設定してください。

2. web.xmlファイルの編集

次に、managerアプリケーションのweb.xmlファイルを編集して、ベーシック認証を設定します。
このファイルは、Tomcatのwebapps/manager/WEB-INFディレクトリ内にあります。

1. webapps/manager/WEB-INF/web.xmlファイルをテキストエディタで開きます。

2. web.xmlファイル内に以下のようなセキュリティ設定を追加します。
これにより、managerアプリケーションへのアクセスにベーシック認証が要求されます。

<web-app>
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>manager</web-resource-name>
      <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
      <role-name>manager-gui</role-name>
    </auth-constraint>
  </security-constraint>

  <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>Manager Realm</realm-name>
  </login-config>

  <security-role>
    <role-name>manager-gui</role-name>
  </security-role>
</web-app>

この設定は、managerアプリケーションに対してmanager-guiロールを持つユーザーのみがアクセスできるようにします。
auth-methodにはBASICを指定し、ベーシック認証を有効にします。

3. Tomcatの再起動

設定を完了したら、Tomcatを再起動する必要があります。
Tomcatの再起動は、以下のコマンドで行います。

  • Linux/Unix系システム:
sudo systemctl restart tomcat
  • Windowsシステム:
net stop tomcat
net start tomcat

再起動後、http://your:8080/manager/html にアクセスすると、ベーシック認証が求められるようになります。
ユーザー名とパスワードを入力することで、managerアプリケーションにアクセスできるようになります。

これで、TomcatのWebアプリケーションマネージャにベーシック認証を設定する手順は完了です。