~ SAML / OIDC認証で連携できる代理認証のリバースプロキシを活用 ~
Mattermostは、オープンソースのビジネスチャットツールです。Slackの代替としてよく知られており、1対1およびグループ間のメッセージ交換、ワークフロー管理、プロジェクトのタスク管理を行うことができます。Slackはクラウドサービスであるのに対して、Mattermostはクラウドの他にも、自社管理の仮想基盤やオンプレミスでの運用にも対応しています。
MattermostはOSS版での提供もあります。しかしSAML認証やOIDC認証によるシングルサインオンに関しては有償版での提供となっており、OSS版のTeam Edition では利用ができません。
このブログでは、idPとSAML/OIDC認証で連携する代理認証のリバースプロキシを利用して、OSS版のMattermostのTeam EditionでSSOを実現する方法について解説します。
SSOを構成することで、ユーザーはidPへ一度IDとパスワードを入力するだけで、OSS版のMattermostにログインできるようになります。これにより、ユーザーの利便性が向上し、運用コストの削減にもつながります。
主なidP
Keycloak | Microsoft Entra ID | GMO TrustLogin |
ここでは、以下の手順でMattermost とkeycloakおよび代理認証のリバースプロキシでのSSOを説明します。
- Mattermost の各種プラン
- 代理認証に対応のリバースプロキシの解説
- Keycloakとリバースプロキシの連携およびMattermostの構成 *
- MattermostへのSSOの動作手順
- Active Directory連携
- SSLクライアント認証(多要素認証)
- 閉域網での運用
- オールインワン構成での運用
* Microsoft Entra ID( 旧名称 Azure AD )や一般的なidPの場合でも連携や運用手順は同一です
【Mattermost 各種プラン】
Mattermost プラン / 費用 | Team Edition セルフホスト / OSS |
Professional / 有償 | Enterprise / 有償 |
idP連携 / SAML認証 OIDC認証 | ✖ | ✔ | ✔ |
【Team Edition セルフホスト・プランの主な機能】
機能 | 内容 |
チーム数 | 無制限 |
ユーザー数 | 無制限 |
チャンネル数/ PlayBook数 | 無制限 |
HDD容量 | 無制限 |
画面共有 | ✔ |
プラグイン | ✔ |
無制限のメッセージ検索と履歴 | ✔ |
カード数&ビュー | 無制限 |
ファイル共有 | ✔ |
ワークフローの自動化 | ✔ |
プロジェクトマネジメント | ✔ |
レポートと統計 | ✔ |
カスタム統合機能 | ✔ |
ID / パスワード認証 |
✔ |
SAML認証 |
✖ |
OIDC認証 |
✖ |
Team Edition セルフホストプランでも、ユーザー数、チーム数、チャンネル数やHDD容量などに制限はありません
- 費用を抑えて運用したい
- 自社環境で運用したい
- SaaS版は利用できない
- Slackから移行したい
などの場合には、Team Edition セルフホストプランにメリットがあります。
SAML / OIDC対応リバースプロキシ
無償版のTeam Edition を改修なしでidPと認証連携する方法としては、代理認証方式のリバースプロキシ経由でシングルサインオンを実現できます。
リバースプロキシは、SAML / OIDC認証に対応のID認識型リバースプロキシ・アプライアンス
「Powered BLUE ReverseProxy for SSO / IDaaS」
を利用して構築します。
【アプライアンスの機能】
- リバースプロキシ機能
- SAMLやOIDC認証
- バックエンドのWebへユーザー情報の代理入力機能
- SSLクライアント認証
- GUIから設定や運用
を有しており、任意の場所で自社管理でオールインワンでの運用を行うことが出来ます。
代理認証
idP と連携のSAML/OIDC認証対応のID認識型のリバースプロキシからMattermostへ「ID / パスワード」を代理入力&代理認証を行います。
- ユーザー操作でのMattermostへの「ID / パスワード」の入力不要
- SAML / OIDC認証に未対応のMattermostをSSOのWebメンバーとして構成
MattermostのTeam EditionでidP連携のSSOで運用
ID / パスワード認証のMattermost Team Edition セルフホストプランをKeycloakなどのidP連携で運用するには、SAML / OIDC認証に対応したID認識型のリバースプロキシを利用して、代理認証を行いMattermostへのシングルサインオンを構成します。
- Mattermostの改修は不要
- Mattermostの設置場所は、WAN / DMZ / LAN の任意の場所に対応
* Mattermost以外のSAML / OIDC認証に未対応の「既存のWebシステム」も改修不要でSSOが可能
SSOに必要な機器構成
- idP
- SAML / OIDC認証機能のID認識型 リバースプロキシ( ユーザー情報の代理入力機能 )
- Mattermost Team Edition セルフホストプラン
- ブラウザ(プラグイン不要)
idP / Keycloak
KeycloakはSAMLやOIDC認証でリバースプロキシと接続します
Keycloakのアプラアインス 「Powered BLUE for idP 」も利用できます
Keycloakアプライアンスの機能
- ウィザードによるKeycloakのセットアップ
- Keycloak のバックアップ、リストア、アップグレード
- SSLサーバー証明書登録 ( トラストストア対応 )
- keycloak へのアクセスポート( 80 / 443 )
- アクティブモニタ(サービス監視・再起動・管理者への通知)
- SSLクライアント認証
- GUIからの操作設定
* Keycloak以外の一般的な SAML / OIDC認証 のidPとの連携にも対応。
Mattermost のSSO利用手順
- リバースプロキシへアクセス
- 初回のみ idP へアクセス
- idP の認証後にリバースプロキシからMattermostへ「ユーザー情報」を代理入力
- Mattermostへ自動ログイン
各種Web システムへのSSO
一度の idP認証で、複数のシステムへSSOでアクセスできます
KeycloakとActive Directory連携でのSSO
Active DirectoryとKeycloakを連携
- keycloakとActive Directoryの連携
- Keycloakとリバースプロキシは、SAML / OIDC認証
- リバースプロキシとWebは代理認証
SSLクライアント認証の併用(多要素認証 / MFA)
SSLクライアント認証でidPやリバースプロキシへの認証を強化
クローズドネットワークでの運用
- インターネットから分離された閉域網での運用に対応
- 仮想アプライアンスのイメージを仮想環境へインポートに対応
- サーバーの自己監視機能により外部の監視サービスを利用しない運用に対応
リバースプロキシ + 代理入力 + Mattermost を1台で運用
- SAML / OIDC認証機能のID認識型 リバースプロキシ( ユーザー情報の代理入力機能 )
- 代理認証
- Mattermost Team Edition セルフホストプラン
の機能を1個の仮想サイトで運用できるオールインワンの構成も対応しています
SSO対応 Mattermost のオールインワン構成
アプライアンスの運用先
クラウド環境や仮想基盤、オンプレミスなど自社管理での運用に対応
- VMware / Hyper-V
- AWS / Azure / FUJITSU Hybrid IT Service FJcloud-O (富士通) / WebARENA / ALTUS / VPSなど