【Zabbix】LDAPのジャストインタイムプロビジョニングでユーザーを追加できるようになりました

Acrive Directory,LDAP,Zabbix

こんにちは。プラットフォーム技術部の渋谷です。

2024年6月にZabbix 7.0がリリースされました。年々新しくなるZabbixが楽しみで仕方ないですね。今回はそんなZabbix 7.0で使える機能の一つである ジャストインタイムプロビジョニング(以下JITプロビジョニング) について、紹介しようと思います。

Zabbixサーバー上でのユーザー追加が不要に

Zabbix 6.2以前では、LDAP認証を用いるために事前にZabbix上にLDAPユーザーと同名のユーザーを作成する必要がありました。またユーザーの事前作成だけではなく、そのユーザーの権限についても事前に設定しておく必要がありました。

Zabbix 7.0では(正確にはZabbix 6.4以降)、LDAP ユーザーに対してJITプロビジョニングを構成できるようになりました。この場合、あらかじめZabbixでユーザーを作成する必要はありません。LDAPユーザーで初めてログインする際に、Zabbixサーバが自動的にユーザーを作成してくれます。

Zabbixサーバーでユーザーを作成する必要がないため、ユーザーの管理をLDAPサーバーに任せることができます。LDAPサーバーを利用しているけどZabbixと連携していない、という方は実装を検討してみてはいかがでしょうか。

実装の流れについて、実際に設定してみましょう。

環境

本記事では以下の環境を利用しLDAP認証を実装します。

  • Zabbixサーバー
    OS:AlmaLinux 9.1
    Zabbix:Zabbix server 7.0.3
  • LDAPサーバー
    OS:Windows Server 2019
    LDAP:Acrive Directory

LDAPユーザー設計

Zabbixサーバー上でLDAP認証設定を行う前にLDAPサーバーにグループとユーザーを準備しましょう。今回は管理者権限を持つユーザーと参照権限を持つユーザーの2パターンを試すため、以下のグループとユーザーを準備しました。

  • グループ
    zabbix-admins:Zabbix管理者権限を付与したいユーザーが所属するグループ
    zabbix-viewers:Zabbix参照権限を付与したいユーザーが所属するグループ
  • ユーザー
    ldap_search:LDAP接続ユーザー
    shibutani_admin:管理者権限を付与したいユーザー。zabbix-adminsに所属。
    shibutani_viewer:参照権限を付与したいユーザー。zabbix-viewersに所属。

LDAP認証設定

LDAPユーザーが準備できましたのでZabbixサーバーにLDAP認証の設定をしましょう。

[ユーザー]>[認証]と押下することで認証の設定画面へ遷移できます。

まずは「デフォルトの認証」設定をLDAPに変更します。

JITプロビジョニングを利用する際は、「プロビジョニング解除されたユーザーのユーザーグループ」を事前に指定する必要があります。このユーザーグループはステータスが「無効」でなければなりません。今回はデフォルトで無効となっている「Disabled」ユーザーグループを指定しました。

LDAP認証用設定
LDAP認証用設定

LDAP認証設定のタブへ遷移し、「LDAP認証の有効化」と「JITプロビジョニングの有効化」にチェックを入れLDAPサーバーの認証情報を入力します。

LDAPサーバー設定
LDAPサーバー設定
  • 名前:LDAPServer (任意)
  • ホスト:LDAPサーバーのIPアドレス
  • ポート:389 (ActiveDirectoryデフォルト)
  • Base DN:dc=ark-zb-academy,dc=info
    ※ドメイン名がark-zb-academy.infoの場合。適宜読み替え
  • 検索の属性:sAMAccountName
  • Bind DN:cn=ldap_search,dc=ark-zb-academy,dc=info
    ※cnはLDAP認証用ユーザー名
  • Bind password:LDAP接続用ユーザーのパスワード

ここまで設定したら[テスト]を押下し、接続テストをしてみましょう。

先ほどLDAPサーバーで作成したユーザーを利用し、確認します。

「ログイン成功」と表示されたらLDAP認証の設定は完了です!
※「LDAPサーバー」の設定画面はまだ閉じないでください!

「ログイン成功」と表示される

JITプロビジョニング設定

「LDAPサーバー」の設定画面にてJITプロビジョニングも設定します。

JITプロビジョニングを設定することによって、ログインしたユーザーのユーザーグループ設定や権限設定ができます。

JITプロビジョニング設定
JITプロビジョニング設定
  • JITプロビジョニングの設定:☑
  • グループ設定:memberOf (groupOfNamesでも良いですが今回はmemberOfを利用します)
  • グループ名の属性:cn
  • ユーザーグループメンバーシップの属性:memberOf
  • ユーザー名の属性:givenName
  • ユーザーの性の属性:sn
  • ユーザーグループのマッピング:
    zabbix-viewers
     LDAPグループのパターン:zabbix-viewers (LDAPサーバーで設定したグループ名)
     ユーザーグループ:zabbix-viewer (Zabbixで所属させるユーザーグループ※事前作成)
     ユーザーの役割:User role (参照権限)

    zabbix-admins
     LDAPグループのパターン:zabbix-admins (LDAPサーバーで設定したグループ名)
     ユーザーグループ:zabbix-admin (Zabbixで所属させるユーザーグループ※事前作成)
     ユーザーの役割:Admin role (管理者権限)

ここまで入力できたら再度[テスト]を押下し、試してみましょう。

下図のようにユーザーの役割とユーザーグループに想定通りの値が入力されていれば成功です!
※[更新]を押下した後、認証の設定画面で[更新]を押下しないと設定が保存されませんので気を付けてください!(私は何度も更新を押し忘れました)

「ユーザーの役割」と「ユーザーグループ」に値が入力されている状態

ログイン

実際にログインしてみます。

ログイン前にユーザー一覧からLDAPユーザーと同名のユーザーが存在しないことを確認します。

LDAPユーザーと同名のユーザーが存在しないことを確認

「shibutani_admin」「shibutani_viewer」ユーザーでログイン後ユーザー一覧を見てみると、追加されていることが確認できます。

ユーザーが追加されているのを確認

メディアタイプのマッピング

ユーザーグループの設定や権限の設定は以上ですが、JITプロビジョニング設定では他にもメディアタイプの設定ができます。

LDAPサーバー上でメールの設定や電話番号を設定することで、Zabbixサーバーでもその情報を取得できます。以下画像は設定の参考例です。

メディアタイプのマッピング:例①
メディアタイプのマッピング:例②

属性に設定する値については、Active Directory サーバー上でPowerShellを起動し以下コマンドを実行することにより確認できます。

Get-ADUser -Filter { SamAccountName -eq "ユーザー名" } -Properties *

最後に

Zabbixユーザーの管理に課題をお持ちの方は、LDAPのJITプロビジョニングをぜひ利用してみましょう。

また、JITプロビジョニングはZabbix 7.0(Zabbix6.4以降)で有効な機能です。まだZabbix 7.0を利用していない方はこれを機にバージョンアップしてみてはいかがでしょうか。

※ Zabbix 5.0 LTSのリミテッドサポートが2025年5月と迫ってきています。サポート期限が切れる前にバージョンアップすることをお勧めします。

より良いZabbix Lifeを送りましょう!

Zabbixの導入・構築でお困りですか?

Zabbixの導入・構築でお困りですか?アークシステムは、Zabbix Japan LLCの公式認定パートナーとして、豊富な実績と高い技術力でお客様をサポートします。

アークシステムが選ばれる理由

  • 豊富な経験: 多くのZabbix導入・構築プロジェクトを成功に導いた実績
  • 確かな技術力: Zabbix認定資格を持つエンジニアが対応
  • 独自のソリューション: 「監視定義テンプレート」を活用した迅速かつ高品質な実装
  • 最新情報へのアクセス: Zabbix社との強力なパートナーシップを活かした最新技術対応

こんな方に最適です

  • Zabbixの新規導入を検討している
  • 現行システムの運用に課題を感じている
  • 大規模環境での監視体制を整えたい

アークシステムでは、Zabbixの導入・運用に関する課題を解決し、最適な環境を構築します。どんなご相談でもお気軽にお問い合わせください!

  • Zabbix Enterprise Appliance
  • 低コスト・短納期で提供するまるごとおまかせZabbix