Microsoft Entra IDを使用したZabbix SAMLのセットアップ

謝 永佳

プライム・ストラテジー「KUSANAGI」開発チームの謝です。
前には「KUSANAGI9でZabbixサーバ6.0をインストールする方法」でインストール方法を紹介しましたが、最近企業の認証要件に対応するためにSAML(Security Assertion Markup Language)認証を導入することが増えています。この記事では、Microsoft Entra IDを使用してZabbixでSAML認証を設定する手順をご紹介します。

前提条件

  1. Zabbixの準備:SAML認証をサポートするZabbixを用意します。
    ※最新バージョンのZabbixは7.0ですが、今回の紹介した手順はZabbix 6.0を利用しています。
  2. 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の監視機能を活用しながら、よりセキュリティの高いアクセス制御を実現しましょう。

<< Azure Kubernetes ClusterでWordPressをデプロイしてみるWordPress の脆弱性とその対応 >>

関連記事

Webサイト運用の課題解決事例100選 プレゼント

Webサイト運用の課題を弊社プロダクトで解決したお客様にインタビュー取材を行い、100の事例を108ページに及ぶ事例集としてまとめました。

・100事例のWebサイト運用の課題と解決手法、解決後の直接、間接的効果がわかる

・情報通信、 IT、金融、メディア、官公庁、学校などの業種ごとに事例を確認できる

・特集では1社の事例を3ページに渡り背景からシステム構成まで詳解