329 Views
July 25, 25
スライド概要
REDMINE JAPAN vol.4
https://redmine-japan.org/
Microsoft MVP for Microsoft Azure
Redmineを社内SaaSとして クラウド移行・運用するためのゼロトラスト認証基盤設計 株式会社バンダイナムコスタジオ 八重樫 剛史 Takeshi Yaegashi 2025/07/25 Redmine Japan vol. 4
自己紹介 • 名前: 八重樫 剛史 Takeshi Yaegashi • 組織: 株式会社バンダイナムコスタジオ (BNS) • 部署: テックスタジオ 第1グループ オンラインテクノロジー部 基盤ソリューション課 • 肩書: テクニカルディレクター • 社内開発者向けのクラウドサービス導入推進 プラットフォームエンジニアリングのプロジェクトに従事 • Microsoft MVP for Microsoft Azure (2023-2025) https://mvp.microsoft.com/ja-jp/PublicProfile/5005134 2
本日の話題 • 社内で稼働する Redmine を Microsoft Entra/Azure のクラウドインフラに完全移行する取り組み • Azure Easy Auth 認証プロキシを Redmine のユーザー認証に使えるプラグインの開発 • 認証プロキシによる Web アプリ認証の実装の利点と欠点 • 今後の計画 3
経緯 (2023年11月時点の状況) • Redmine は非常に長い間お世話になっているアプリ • 利用歴 15 年以上? 2008年あたりには 1.0 になる前の Redmine を社内で複数使用していたらしい • 歴史的に重要な情報が格納されており、リンク参照もあるので動かし続けなければいけない • 現在は Jira・Azure Boards・GitHub Issues なども使われているがシンプル軽量な Redmine を好むユーザーは多い • 問題点 • 多数の社内向け Redmine インスタンスの運用・維持コスト • アプリのバージョンアップ、独自プラグイン管理、ホストOS管理、オンプレミス機材老朽化、etc. • 解決策 • オンプレミス機材からクラウド IaaS (仮想マシン) への移行 • Redmine アプリのコンテナ化による提供仕様の統一・IaaS から PaaS への移行 • オンプレミス認証 (LDAP, AD) の廃止、クラウド認証 (OpenID Connect, SAML) の採用・ゼロトラスト化 • (実際にとれる解決手段は各 Redmine インスタンスの状況に依存する) 4
バンダイナムコスタジオにおける Redmine/RedMica のクラウドネイティブ運用 Microsoft Azure の Web アプリ PaaS である App Service や Container Apps でコンテナ化した Redmine/RedMica を多数運用 Microsoft Entra ID などの IDaaS クラウドユーザーの認証のために Azure Easy Auth 認証プロキシを利用 5
Azure Easy Auth 認証プロキシの活用 • Azure Easy Auth 認証プロキシとは? • AzureのWebアプリの前段に設置できるユーザー認証・認可 プロキシサービス • 認証完了したユーザーのトークン情報をHTTPヘッダでWeb アプリに伝える • Azure Easy Auth を Redmine で活用するために redmine_easyauth プラグインを開発 • https://github.com/yaegashi/redmine_easyauth 6
redmine_easyauth プラグインの動作 RedmineサイトのアクセスにはクラウドIDによるサインインが必ず必要 RedmineログインにはローカルIDとクラウドIDの使い分けが可能 Redmine ログイン完了 (ローカル admin) 自動入力 パスワード不要 Microsoft Entra ID サインインページ (クラウドユーザー) Redmine 未ログイン状態 (Anonymous) ログインフォームが2種類 Redmine ログイン完了 (Easy Auth クラウドユーザー) 7
redmine_easyauth プラグインの設定 • d 自動登録の有無、Easy Auth が有効なグループの指定、 ログインページに表示するアナウンス、 メールアドレスからの組織名設定 (自動登録ユーザーの姓に設定する) などが制御できる 8
認証プロキシによる Web アプリのユーザー認証の実装 • 認証プロキシの製品 • クラウドサービス: Azure Easy Auth, Google Identity-Aware Proxy, Amazon Cognito + ALB, etc. • オープンソース: oauth2-proxy, Pomerium, etc. • 認証プロキシの利点 • アプリ側の認証・認可の実装が簡単になり (HTTPヘッダを見るだけ)、 セキュリティリスクが減る • アプリに不具合が発生した場合でも認証プロキシで直ちにアクセスを限定して落ち着いてメンテナンスができる • ユーザー全員に認証を強制 (ゼロトラスト) した上で、アプリのログイン前状態 (匿名アクセス) を表現できる → オンプレミス運用時代の Redmine サイトでは匿名アクセス可能な領域に情報を置くことが一般的だった → オンプレミスからクラウドへのユーザー体験を損なわない移行が可能 • 認証プロキシの欠点 • パフォーマンスが劣化する (負荷・遅延の増大) • ローカル開発環境でのアプリの認証・認可テストが面倒になる • アプリの REST API や RSS のアクセスが面倒または不可能になる 9
エンタープライズ・クラウドネイティブ Redmine/RedMica 今後の計画 • 社内 SaaS としての整備 • 従業員が完全なセルフサービスで Redmine サイトを作ったり消したりできるようにする • ユーザー・グループプロビジョニングの発展 • Microsoft Entra ID のユーザー・グループを Redmine のユーザー・グループと同期させる • 現在は Redmine REST API を叩く PowerShell スクリプトによる実装 • 将来的には Entra がアクセスする SCIM サーバーなどが実現できるとよい • ユーザーカスタマイズの対応 • いまはお断りしているが Redmine プラグイン利用の要望がいまだに多い • カスタム Redmine コンテナのサポートなどを検討中 10
おわりに コミュニティのみなさま: Redmine/RedMica という素晴らしいソフトウェアを提供していただきありがとうございます! 今後自分もプラグイン開発や情報発信によりコミュニティに貢献していきたいと思います。 11
Thank You!! 12