オフィスで打ち合わせをするチーム

CASE SD-02

認証基盤の刷新・移行(OpenAM → Keycloak)

長年運用されてきた OpenAM ベースのシングルサインオン基盤を、Keycloak へ刷新するプロジェクトです。約 20 の連携システムを止めずに切り替えるため、Keycloak を旧基盤の SP として SAML 連携させ、システムごとに段階的に移行する方式を採用。当社は元請け SIer と協業し、要件定義から設計・開発・移行までを担当しています。開発・検証環境は当社の Azure 上に構築し、プロジェクト全体で共用しています。

プロジェクト概要

お客様製造業(元請け SIer と協業)(製造業)
事業領域System Development
規模全社シングルサインオン基盤(連携システム約 20)。リバースプロキシ 2 台+認証サーバー 2 台の冗長構成
期間要件定義・基本設計から移行完了まで(2026 年 8 月開始・進行中)
支援範囲
  • 現行 OpenAM 基盤の設計書をもとにした要件定義・基本設計(既存機能の棚卸しと Keycloak での実現方式の整理)
  • Keycloak 認証基盤の詳細設計・構築(RHEL / PostgreSQL の HA 構成、リバースプロキシ)
  • 現行基盤固有機能の開発(代理認証、パスワード有効期限チェック、プロビジョニング API、アクセス制御エラー時の応答 等)
  • Azure 上の開発・ステージング環境の構築と提供(プロジェクト全体で共用)
  • 移行設計・運用設計、結合テスト、本番移行テスト
  • 連携システムの SP 移行と、切替時の問題対応
技術
OpenAMKeycloakSAML / OIDCPostgreSQL HAAzure段階移行
使用サービス・製品Keycloak/OpenAM(現行・SAML 連携による段階移行)/Red Hat Enterprise Linux 10 / PostgreSQL(Pacemaker+Corosync による HA)/SAML 2.0 / OpenID Connect / Windows 統合認証(デスクトップ SSO)/Microsoft Azure(開発・ステージング環境: Virtual Machines、Automation による自動起動停止)/Azure CLI(環境構築スクリプト)

お客様の課題

現行基盤は OpenAM に依存し、対応する Java のバージョン制約から数年以内に維持が難しくなる見通しでした。一方で、認証基盤は全社の業務システムの入口にあたるため、「止めずに入れ替える」ことが前提条件でした。

連携システムは約 20。SAML/OIDC の標準連携だけでなく、代理認証やパスワード有効期限のチェック、ユーザー情報のプロビジョニングなど、現行基盤に作り込まれた固有機能を Keycloak 側で引き継ぐ必要がありました。

要件定義は「現行の設計書に記載された機能を確認する」ことが起点です。記載と実際の挙動の差分や、記載のない運用上の前提をどこまで拾えるかが、移行後のトラブルを左右します。

進め方

移行方式は「Keycloak を OpenAM の SP(サービスプロバイダー)として SAML 連携させ、連携システムを 1 つずつ Keycloak 側へ付け替える」段階切替を採用。全システムの移行が完了した時点で Keycloak を IdP として独立させ、最後にデスクトップ SSO(Windows 統合認証)を設定する流れとしました。切替の途中でも利用者は同じ入口からログインでき、問題が出たシステムだけを戻せます。

要件定義・基本設計は、現行基盤の設計書と元請け SIer の提案書を突き合わせ、機能ごとに「Keycloak 標準で実現」「拡張開発で実現」「移行時に廃止」を仕分けする形で進めています。記載にない前提はヒアリングで確認し、記載外の機能は別途扱いとして範囲を明確にしました。

開発・ステージング環境は当社の Azure 上に構築。Keycloak サーバー 2 台(PostgreSQL 同居)、ロードバランサー、リバースプロキシの 4 台構成で、接続元 IP 制限、個人別アカウント、平日日中のみの自動起動・停止(祝日判定あり)を設定し、コストと統制の両方を確保しています。本番は、お客様のオンプレミス仮想基盤上に RHEL/Keycloak/PostgreSQL の HA 構成(Pacemaker+Corosync)で構築する計画です。

検収は要件定義、設計、開発、移行設計、移行の 5 フェーズに分割し、フェーズごとに成果物を確定させながら進めています。

構成と対応のポイント

SP 連携による段階切替方式

Keycloak を OpenAM の SP として SAML 連携させ、連携システムを一つずつ Keycloak 側へ付け替える方式。全社一斉切替を避け、問題が出たシステムだけを戻せる状態で移行を進めます。

現行固有機能の Keycloak 拡張開発

代理認証、パスワード有効期限チェック、プロビジョニング API、アクセス制御エラー時の応答など、標準機能で賄えない要件を拡張開発で実装。既存の連携システム側の改修を最小限に抑えます。

HA 構成の認証基盤

RHEL 上の Keycloak と PostgreSQL を Pacemaker+Corosync で冗長化し、前段にリバースプロキシ 2 台を配置。単一障害点を持たない構成としています。

Azure 上の共用開発・ステージング環境

当社の Azure 環境に 4 台構成の検証環境を構築し、プロジェクト全体へ提供。IP 制限・個人別アカウント・自動起動停止で、統制とコストを両立しています。

フェーズ分割による検収と進行管理

要件定義から移行までを 5 フェーズに分け、フェーズごとに成果物と完了条件を確定。元請け SIer 向けとプロジェクト内部向けの 2 系統の計画で進捗を管理しています。

成果

担当した工程

その他の導入事例

Cloud Integration CASE CI-01

EDI 基盤の Azure PaaS 移行・構築支援

Azure / PaaS / App Service / SQL Database / IaC

次期 EDI 環境を Azure PaaS 中心のゾーン冗長構成で設計。Azure CLI 一式とパラメータシートで、お客様自身が再現できる形で引き渡し。

詳しく見る →
Cloud Integration CASE CI-02

大学向け Azure Virtual Desktop 環境の導入支援

AVD / Entra ID / FSLogix / Azure Files

学生用・教職員用の2テナントにまたがるAVD環境を、PoCから本番展開まで支援。

詳しく見る →
Cloud Integration CASE CI-03

Azure OpenAI による社内チャット・ドキュメント検索の PoC 支援

Azure OpenAI / AI Search / App Service / Teams / Power BI

社内向けチャットと生成AIドキュメント検索の2つのPoC環境をお客様のAzure上に構築し、Teams連携とPower BIダッシュボードまで提供。

詳しく見る →

導入事例一覧へ→

同様のプロジェクトをご検討中の方へ

要件が固まる前の段階でも、現状と目的の整理からご相談いただけます。

✉ お問い合わせフォームへ→