Zabbixユーザーを無効化するための設定方法(ユーザーグループへの追加や設定手順)

Others,Zabbix

Zabbixユーザーを無効化するための設定手順です。
ユーザーを無効化するためのユーザーグループへの追加手順や、ユーザーグループの設定内容を確認しています。
無効化されているユーザーの確認方法、無効化されたZabbixユーザーがログインした場合の挙動、監査ログでの表示内容、SQLを使用して無効化されているユーザーを抽出する方法についても紹介します。

※Zabbix 7.0 LTS(7.0.29)の環境にて確認しています。

スポンサーリンク

Zabbixユーザーを無効化する場合の設定手順や確認方法

Zabbixのユーザー設定には有効、無効に関する項目がない

Zabbixのユーザー設定には無効化に関する、設定項目がありません。

1 ユーザの設定

Zabbixのユーザー設定画面
Zabbixのユーザー設定画面です。
無効化に関する設定項目がありません。
Zabbixユーザーの設定画面例(Zabbixユーザーの無効化設定手順)

ユーザーを無効化するための設定はユーザーグループにある

ユーザーの無効化に関する設定は、ユーザーグループにあります。

3 ユーザグループ

ユーザーグループの設定画面に、有効(Enabled)という設定項目があります。
この項目のチェックを外されている場合、ユーザーグループのステータスが無効になります。
ステータスが無効となっているユーザーグループに所属しているユーザーのステータスも無効となり、Zabbixにログインできなくなります。

デフォルトでは、Disabledという名前のユーザーグループが用意されています。
ユーザーが複数のユーザーグループに所属している場合も、Disabledのユーザーグループに所属していると無効なユーザーとして扱われます。
guestユーザーは、GuestsとDisabledユーザーグループに所属していますが、無効な状態となっています。 

Disabledのユーザーグループを確認
ユーザーグループの設定を表示します。
Disabledのユーザーグループのステータスが無効となっています。

Disabledのユーザーグループ設定を表示します。
有効(Enabled)という設定項目にチェックが入っていません。
ステータスが無効となります。

Zabbixユーザーグループの一覧画面(Zabbixユーザーの無効化設定手順)
Zabbixユーザーグループの設定画面例(Zabbixユーザーの無効化設定手順)

ユーザー設定でDisabledユーザーグループを追加してユーザーを無効化する場合の手順

ユーザー設定から、ユーザーを無効化する場合の手順です。
ユーザーを無効化する場合は、ユーザー設定のグループにDisabledユーザーグループを追加します。

ユーザー設定からユーザーを無効化する
対象のユーザーを選択します。 Zabbixユーザーを選択(Zabbixユーザーの無効化設定手順)
ユーザー設定画面が表示されます。
グループを選択します。
Disabledユーザーグループを選択します。
グループにDisabledユーザーグループが追加されていることを確認します。
更新を選択します。
追加するユーザーグループを選択(Zabbixユーザーの無効化設定手順)
Disabledユーザーグループを選択(Zabbixユーザーの無効化設定手順)
Disabledユーザーグループ追加後の画面例(Zabbixユーザーの無効化設定手順)
ユーザーのステータスが無効に変わっていることが確認できます。 Disabledユーザーグループ追加後のユーザーステータス(Zabbixユーザーの無効化設定手順)

Disabledユーザーグループの設定で無効化したいユーザーを追加する場合の手順

Disabledのユーザーグループ設定から、ユーザーを無効化する場合の手順です。
ユーザーを無効化する場合は、ユーザーグループ設定のユーザーに無効化したいユーザーを追加します。

ユーザーグループ設定からユーザーを無効化する
Disabledのユーザーグループを選択します。 Disabledユーザーグループを選択(Zabbixユーザーの無効化設定手順)
ユーザーグループ設定画面が表示されます。
ユーザーを選択します。
無効化したいユーザーを選択します。
ユーザーに選択したユーザーが追加されていることを確認します。
更新を選択します。
Disabledユーザーグループに追加するユーザーを選択(Zabbixユーザーの無効化設定手順)
追加するユーザーを選択(Zabbixユーザーの無効化設定手順)
ユーザーを追加後のDisabledユーザーグループ設定画面例(Zabbixユーザーの無効化設定手順)
Disabledのメンバーに選択したユーザーが追加されていることが確認できます。 Disabledユーザーグループに追加されたメンバーを確認(Zabbixユーザーの無効化設定手順)

無効化されたユーザーの確認方法

ユーザーまたはユーザーグループのメニューから確認できます。
ユーザーのメニューから確認する場合は、ユーザーグループをDisabledに絞り込んで検索します。
ユーザーグループのメニューから確認する場合は、ステータスを無効に絞り込んで検索します。

無効化されたユーザーの確認方法
ユーザーのメニューで確認する場合です。
ユーザーグループにDisabledを選択し、適用します。
ステータスが無効となったユーザーの一覧が表示されます。
ユーザー設定で無効化されたユーザーを確認(Zabbixユーザーの無効化設定手順)
ユーザーグループのメニューで確認する場合です。
ユーザーグループにDisabledを選択し、適用します。
ステータスが無効となったユーザーの一覧が表示されます。
ユーザーグループ設定で無効化されたユーザーを確認(Zabbixユーザーの無効化設定手順)

※Disabled以外に無効化用のユーザーグループを作成している場合は、そのユーザーグループを選択してください。

無効化されたZabbixユーザーがログインしようとした場合のエラーメッセージ

無効化されたユーザーはZabbixへログインできません。
有効なユーザーがパスワード誤りなどでログイン失敗した場合と異なり、システムへのアクセス権がありませんというメッセージが表示されます。

無効化されたユーザーがログインしようとした場合
無効化されたユーザーがログインしようとした場合は、システムへのアクセス権がありませんと、メッセージが表示されます。 【無効化されたユーザーがログインしようとした場合】
無効化されたユーザーでログインしようとした場合のエラーメッセージ(Zabbixユーザーの無効化設定手順)
【有効なユーザーがログイン失敗した場合】
有効なユーザーでログイン失敗した場合に表示されるエラーメッセージ(Zabbixユーザーの無効化設定手順)

ログイン中のユーザーを無効化した場合はどうなるのか?

ログイン中のユーザーを無効化した場合は、無効化した時点からZabbixへアクセスできなくなります。

ログイン中のユーザーを無効化した場合
あなたはログインしていませんというメッセージが表示されます。 ログイン中のユーザーが無効化され場合のエラーメッセージ(Zabbixユーザーの無効化設定手順)

無効なユーザーがログインに失敗した時の監査ログ

監査ログには、ログイン失敗と表示されます。
無効化されているユーザーがログイン失敗したかは、監査ログには記録されません。

5 監査ログ

監査ログでの見え方
監査ログにはログイン失敗と表示されます。
なお、有効なユーザーがログイン失敗した場合は、更新のログも同時に生成されます。
user.attempt_failed: 0 => 1のように、attempt_failedの値が更新されたメッセージが詳細に表示されます。
【無効なユーザーがログイン失敗した場合】無効化されたユーザーがログインしようとした場合の監査ログ(Zabbixユーザーの無効化設定手順)
【有効なユーザーがログイン失敗した場合】有効なユーザーがログイン失敗した場合の監査ログ(Zabbixユーザーの無効化設定手順)

Zabbixユーザーを管理するusersのテーブルにはユーザーグループの情報はない

Zabbixユーザーの情報は、usersテーブルで確認することができます。
usersテーブルには、Zabbixユーザーが所属するユーザーグループに関する情報は含まれていません。

usersテーブルを確認
SELECT * FROM zabbix.users
WHERE username = 'user01’;

-[ RECORD 1 ]—-+———-
userid | 3
username | user01
name |
surname |
passwd | hogehoge
url |
autologin | 1
autologout | 0
lang | ja_JP
refresh | 30s
theme | default
attempt_failed | 1
attempt_ip | ipアドレス
attempt_clock | 1786413037
rows_per_page | 50
timezone | Asia/Tokyo
roleid | 4
userdirectoryid |
ts_provisioned | 0

※データベースにPostgreSQLを使用し、データベーススキーマ名をZabbixとした場合の例です。

ユーザーグループの設定はusrgrpテーブルで確認できる

ユーザーグループの設定は、usrgrpテーブルで確認できます。
無効化されたユーザーグループは、users_statusの値が1となっています。

usrgrpテーブルを確認
SELECT * FROM zabbix.usrgrp
ORDER BY usrgrpid ASC;

usrgrpid | name | gui_access | users_status | debug_mode | userdirectoryid | mfa_status | mfaid
———-+——-+———-+———–+——–+———+———-+——
7 | Zabbix administrators | 0 | 0 | 0 | | 0 |
8 | Guests | 0 | 0 | 0 | | 0 |
9 | Disabled | 0 | 1 | 1 | | 0 |
11 | Enabled debug mode | 0 | 0 | 1 | | 0 |
12 | No access to the frontend | 3 | 0 | 0 | | 0 |
13 | Internal | 1 | 0 | 0 | | 0 |
(6 rows)

※データベースにPostgreSQLを使用し、データベーススキーマ名をZabbixとした場合の例です。

ユーザーグループとユーザーの関連付けはusers_groupsテーブルで確認できる

ユーザーグループとユーザーの関連付けは、users_groupsテーブルで確認できます。
users_groupsテーブルには、ユーザーグループIDを示すusrgrpidと、ユーザーIDを示すuseridの組み合わせがレコードとして登録されています。

users_groupsテーブルを確認
SELECT * FROM zabbix.users_groups
ORDER BY id ASC

id | usrgrpid | userid
—-+———-+——-
2 | 8 | 2
3 | 9 | 2
4 | 7 | 1
5 | 13 | 1
6 | 13 | 2
7 | 8 | 3
16 | 9 | 3
(7 rows)

※データベースにPostgreSQLを使用し、データベーススキーマ名をZabbixとした場合の例です。

無効化されているZabbixユーザーをデータベースで確認するSQL例

無効化されているZabbixユーザーをデータベースで確認する場合のSQL例です。
usrgrpテーブルでusers_statusが1のユーザーグループに関連付けられているユーザーを抽出しています。

無効化されているZabbixユーザーをデータベースで確認するSQL例
SELECT DISTINCT
    u.userid,
    u.username,
    u.name,
    u.surname
FROM zabbix.users AS u
INNER JOIN zabbix.users_groups AS ugm
    ON u.userid = ugm.userid
INNER JOIN zabbix.usrgrp AS ug
    ON ugm.usrgrpid = ug.usrgrpid
WHERE ug.users_status = 1
ORDER BY u.userid ASC;

userid | username | name | surname
——–+———-+——+———
2 | guest | |
3 | user01 | |
(2 rows)

※データベースにPostgreSQLを使用し、データベーススキーマ名をZabbixとした場合の例です。

—広告—

最後に

今回は、Zabbixユーザーを無効化する手順を確認してみました。
Zabbixユーザーを直接無効化するのではなく、無効化されたユーザーグループに追加することで無効化されることが分かりました。
無効化されたZabbixユーザーを確認する場合は、ユーザーグループによる絞り込みを利用すればできることも分かりました。
監査ログでの見え方、ユーザー、およびユーザーグループの情報が格納されるテーブルについても確認できました。

引き続き、いろいろ試してみたいと思います。

Zabbixユーザーがログイン失敗してブロックされた場合の挙動やブロック設定方法については、こちらで紹介しています。

Zabbixのインストール関連の手順については、こちらで紹介しています。

スポンサーリンク