Skip to content

OpenLDAP と Microsoft Entra ID の SSO 設定 ​

このページでは、Lightweight Directory Access Protocol(LDAP)に基づくシングルサインオン(SSO)の設定および使用方法について説明します。

EMQX は、LDAPv3 プロトコルをサポートするディレクトリサービスと EMQX ダッシュボードを統合することで、LDAP ベースの SSO を実装しています。現在サポートされているディレクトリサービスプロバイダーは以下の通りです。

前提条件

シングルサインオン (SSO) の基本概念に慣れていることを推奨します。

OpenLDAP SSO の設定 ​

このセクションでは、EMQX ダッシュボードで OpenLDAP SSO を有効化および設定する手順を説明します。

  1. ダッシュボードにアクセスし、左側のナビゲーションメニューから System Settings -> Single Sign-On をクリックします。

  2. LDAP オプションを選択し、Enable ボタンをクリックします。

  3. LDAP Settings ページで設定情報を入力します。

    オプション説明
    Force MFA有効にすると、この LDAP バックエンドのすべてのユーザーはログイン時に MFA の設定と検証が必須になります。デフォルトは無効です。詳細は SSO ユーザーの強制 MFA を参照してください。
    ServerOpenLDAP サーバーのアドレス。例:localhost:389
    UsernameOpenLDAP サーバーにアクセスするための Bind DN
    PasswordOpenLDAP サーバーにアクセスするためのユーザーパスワード
    Base DNOpenLDAP ディレクトリのベースオブジェクトエントリ(またはルート)の名前。ユーザー検索の起点となります。
    User Lookup FilterOpenLDAP でユーザーにマッチするフィルター。LDAP ユーザークエリ条件では、${username} が実際の入力ユーザー名に自動置換されます。
    標準 LDAP のデフォルトフィルターは (&(objectClass=person)(uid=${username})) です。
    この変数置換機能により、ユーザー名クエリやマッチングのために異なるユーザー属性に基づいた柔軟なクエリフィルターの構築が可能です。条件形式の詳細は LDAP Filters を参照してください。
    Enable TLSOpenLDAP へのアクセスで TLS セキュア通信を有効にするオプション。有効にする場合は証明書の設定が必要です。TLS 有効化の詳細は 外部リソースアクセスの TLS を参照してください。
  4. Update ボタンをクリックして設定を保存します。

これで OpenLDAP SSO が有効になりました。LDAP オプションを使用してダッシュボードにログインする方法は、ログインとユーザー管理 を参照してください。

Microsoft Entra ID SSO の設定 ​

このセクションでは、EMQX ダッシュボードで Microsoft Entra ID SSO を有効化および設定する方法を説明します。

Microsoft Entra ID インスタンスの設定 ​

ダッシュボードで Microsoft Entra ID SSO を設定する前に、以下の手順に従い Microsoft Entra ID インスタンスを構成して基本的な LDAP サーバー情報を取得してください。

  1. Azure Portal にサインインし、このチュートリアル の手順に従って Microsoft Entra ドメインサービスを作成します。

    sso-ad-domain-list

  2. セキュア LDAP 接続を有効にします。作成した Microsoft Entra ドメインサービスで、左側の Settings メニューから Secure LDAP をクリックします。

    • Secure LDAP と Allow secure LDAP access over the internet のトグルスイッチを有効にします。
    • 証明書を変更し、ページの指示に従ってネットワークセキュリティグループを設定し、EMQX が Microsoft Entra ドメインサービスインスタンスにアクセスできるようにします。

    sso-ad-enable-tls

  3. ドメインサービスの Setting -> Properties をクリックし、Secure LDAP external IP addresses を取得します。これを EMQX が接続する LDAP サーバーの実際の IP アドレスとして保存します。

    sso-ad-get-ip

  4. このドキュメント の手順に従い、新しい Entra ID テナントを作成します。

  5. EMQX で Microsoft Entra ID と SSO を設定するには、多要素認証を無効にする必要があります。Entra ID インスタンスで Security -> Authentication Methods -> Settings ページに移動し、System-preferred multifactor authentication を無効にします。

    sso-ad-disable-2fa

  6. Entra ID インスタンスで Overview ページに移動し、Add -> Users -> Create User をクリックしてユーザーを追加します。最低でも 2 人のユーザーを追加してください:1 人は Entra ID への接続用、もう 1 人は EMQX ダッシュボードのログイン用です。ユーザー追加後、Microsoft Entra ID に少なくとも一度ログインし、デフォルトパスワードを変更する必要があります。その後、SSO を使用してダッシュボードにログイン可能となります。

    sso-ad-add-user

    sso-ad-add-user-detail

ダッシュボードでの Microsoft Entra ID SSO 設定 ​

  1. ダッシュボードにアクセスし、左側のナビゲーションメニューから System Settings -> Single Sign-On をクリックします。

  2. LDAP オプションを選択し、Enable ボタンをクリックします。

  3. LDAP Settings ページで LDAP サーバーの基本情報を入力します。

    • Service:Microsoft Entra ID のセキュア LDAP 外部 IP アドレスとポート番号を ip:port 形式で入力します。ポートは暗号化された LDAP 用の 636 です。

    • Username、Password:Entra ID への接続用に作成したユーザーとそのパスワードを入力します。

    • Base DN:Microsoft Entra ドメインサービスのドメイン名に従って入力します。例:emqxqa.onmicrosoft.com は DC=emqxqa,DC=onmicrosoft,DC=com と記入します。特定の部署やグループにユーザーを制限するために他の属性を追加することも可能です。

    • User Query Condition:Microsoft Entra ID のデフォルトフィルターは (&(objectClass=user)(sAMAccountName=${username})) で、アカウント名(メールアドレス)を使ってログインします。sAMAccountName を mail に置き換えることでメールアドレスでのログインも可能です。

    • IP アドレス + セキュア LDAP 直接アクセスを使用しているため、Enable TLS をクリックし、Verify Server Certificate は無効にしてください。

    • Force MFA:オプションで有効にすると、このバックエンドのすべてのユーザーにログイン時の TOTP 検証を要求します。デフォルトは無効です。

      sso-ad-dashboard
  4. Update ボタンをクリックして設定を保存します。

これで Microsoft Entra ID SSO が有効になりました。LDAP オプションを使用してダッシュボードにログインする方法は、ログインとユーザー管理 を参照してください。

ログインとユーザー管理 ​

LDAP ベースの SSO を有効にすると、EMQX ダッシュボードのログインページに LDAP SSO オプションが表示されます。LDAP ボタンをクリックし、ユーザーに割り当てられた LDAP 資格情報(例:ユーザー名とパスワード)を入力して、Login ボタンをクリックしてください。

sso_ldapldap_login

LDAP 認証に成功すると、EMQX は自動的にダッシュボードユーザーを追加します。このユーザーは Users で管理可能で、役割や権限の割り当てが行えます。LDAP ユーザーにログイン時の TOTP 二要素認証を必須にする場合は、SSO ユーザーの強制 MFA を参照してください。

ログアウト ​

ユーザーはダッシュボードの上部ナビゲーションバーにあるユーザー名をクリックし、ドロップダウンメニューの Logout ボタンをクリックしてログアウトできます。