プライム・ストラテジー「KUSANAGI」開発チームの謝です。
前には「KUSANAGI9でZabbixサーバ6.0をインストールする方法」でインストール方法を紹介しましたが、最近企業の認証要件に対応するためにSAML(Security Assertion Markup Language)認証を導入することが増えています。この記事では、Microsoft Entra IDを使用してZabbixでSAML認証を設定する手順をご紹介します。
前提条件
- Zabbixの準備:SAML認証をサポートするZabbixを用意します。
※最新バージョンのZabbixは7.0ですが、今回の紹介した手順はZabbix 6.0を利用しています。 - Microsoft Azureのアカウント:エンタープライズアプリケーション設定できる権限が必要です。
手順
Microsoft Entra IDにアプリケーションを追加
1. Azureポータルにログインし、検索窓に「Microsoft Entra ID」を入力し、「Microsoft Entra ID 」を選択

2. 左のメニューから「エンタープライズ アプリケーション」 クリック

3. 「新しいアプリケーション」 をクリック

4. 「独自のアプリケーションの作成」 ⇒ アプリの名前を入力して「作成」をクリックします。


SAML構成の設定
1. 作成したアプリケーションを開き、「シングル サインオンの設定」の「作業の開始」 ⇒ 「SAML」 タブをクリック、SAML構成ページを開き

2. 「SAML によるシングル サインオンのセットアップ」ページに以下の情報を入力します
「基本的な SAML 構成」ブロックの「編集」をクリック、下記2項目を記入します。
- 識別子 (エンティティ ID) : zabbix ※覚えやすいため、zabbixにしています
- 応答 URL (Assertion Consumer Service URL) : https://your-zabbix-ui-url/index_sso.php?acs

「属性とクレーム」ブロックの「編集」をクリック、「新しいクレームの追加」をクリック、画像の通りに項目を入力し、「保存」ボタンをクリックします。

「属性とクレーム」変更された結果

「SAML 証明書」 ブロックから「証明書 (Base64)」の証明書をダウンロードします。※ダウンロードした証明書の名前は「microsoft_entraid.cer」とします。

「Zabbix のセットアップ」ブロックの「ログイン URL」、「Microsoft Entra 識別子」、「ログアウト URL」を手元にメモします。

ZabbixにSAML設定を追加
1. ZabbixのWebインターフェースにアクセスし、管理者としてログインします。
2. ダウンロードした証明書をZabbixサーバのドキュメントルートの「/usr/share/zabbix/conf/certs/」に保存します。
パーミッションを644に変更してください。
# ls -l /usr/share/zabbix/conf/certs/
合計 4
-rw-r--r--. 1 644 root 1077 5月 22 18:30 microsoft_entraid.cer
/etc/zabbix/web/zabbix.conf.phpに下記の記述を追加します。
$SSO['SETTINGS'] = ['use_proxy_headers' => true];
$SSO['IDP_CERT'] = 'conf/certs/microsoft_entraid.cer';
3. 「管理」メニューから「認証」を選択し、「SAML認証の設定」にて以下の情報を入力します:
- 「IdPエンティティID」に「Microsoft Entra 識別子」のURLを入力
- 「SSOサービスURL」に「ログイン URL」のURLを入力
- 「SLOサービスURL」に「ログアウト URL」のURLを入力
- 「ユーザー名の属性」に「user_email」を入力
- 「SPのエンティティID」に「zabbix」を入力

4. ユーザーの自動登録は対応してないので、ログインユーザーは手動で追加してください。
ユーザー名はMicrosoft Entra IDにログインするのメールアドレスを登録してください。

まとめ
これでMicrosoft Entra IDを使用したZabbixのSAML認証のセットアップが完了です。企業のSingle Sign-On(SSO)戦略を強化し、ユーザー管理を一元化することができます。Zabbixの監視機能を活用しながら、よりセキュリティの高いアクセス制御を実現しましょう。