01
Azure Functions を中心としたサーバレス構成
ID 連携に必要な各種業務処理を Azure Functions 上に実装。サーバ管理を極力減らし、イベントや処理量に応じて柔軟に実行できる構成とし、機能ごとに処理を分離して将来の変更・拡張に備えました。
Azure を活用したクラウド型 ID 管理基盤の構築
従来のオンプレミス中心の ID 管理システムを、Azure Functions・Logic Apps・Cosmos DB を中心としたサーバレス構成へ段階的に移行。「汎用性」「クラウド」「サーバレス」を基本テーマに、共通機能を汎用化し、導入先固有の業務ロジックだけを個別実装できるアーキテクチャとしました。
01OVERVIEW
| お客様 | エンタープライズ企業(非公開) |
|---|---|
| 事業領域 | System Development |
| 規模 | 基幹システム・ディレクトリサービス・メールシステムをまたぐユーザー/グループ情報の管理基盤一式(オンプレミス AD・Exchange、Exchange Online を含む) |
| 期間 | 3 フェーズ(ID 情報のクラウド集約 → AD・Exchange へのプロビジョニング → ユーザー向け機能の Web 化)で段階的に移行 |
| 支援範囲 |
|
| 技術 | |
| 使用サービス・製品 | Microsoft Azure/Azure Functions/Azure Logic Apps/Azure Web Apps/Azure Cosmos DB/Azure Blob Storage/Application Insights/Azure Key Vault/Azure DevOps/Microsoft Entra ID/Active Directory/Exchange / Exchange Online/REST API |
02CHALLENGE
基幹システム、ディレクトリサービス、メールシステムなど複数のシステムをまたいで、ユーザー情報やグループ情報を管理する必要がありました。クラウドサービスの利用拡大に伴い、従来のオンプレミス中心の構成では、サービス追加への柔軟な対応、処理量増加へのスケーラビリティ、インフラ運用負荷、将来的な拡張性が課題になっていました。
求められたのは、オンプレミスとクラウド双方の ID 情報を一元的に扱え、連携先の追加に対応しやすく、処理量に応じてスケールでき、サーバ管理の負担が小さく、共通機能を再利用して導入ごとの開発工数を抑えられること。そして、既存システムを停止せずに段階的に移行できることでした。
03APPROACH
既存の ID 管理システムを一括で置き換えるのではなく、3 つのフェーズに分けて新基盤へ移行しました。Phase 1 では既存システムの変更情報をもとに Azure Cosmos DB 上へ ID 管理用のメタデータベースを構築し、連携先への更新は行わず参照中心の構成で新基盤を安全に立ち上げました。
Phase 2 では Cosmos DB に集約した ID 情報をもとに、Active Directory や Exchange へユーザー情報を反映する処理を実装。Phase 1 の基盤をそのまま活用し、Azure Functions と中継サーバを中心に業務ロジックを追加することで、インフラ構成を大きく変えずに機能を拡張しました。Phase 3 では Azure Web Apps でユーザー向けの情報管理機能を Web 画面として提供しました。
既存システムの要件を漏れなく把握するため、設計書確認、ソースコード解析、現行挙動確認、基本設計、コーディングを繰り返すサイクル型の開発アプローチを採用。開発工程は要件定義 → 基本設計 → 開発 → 単体 → 内部結合 → 外部結合 → Dry Run の流れで段階的に実施しました。
04SOLUTION
01
ID 連携に必要な各種業務処理を Azure Functions 上に実装。サーバ管理を極力減らし、イベントや処理量に応じて柔軟に実行できる構成とし、機能ごとに処理を分離して将来の変更・拡張に備えました。
02
ユーザー、グループなどの Identity 情報を Cosmos DB 上のメタデータベースへ集約。上流システムから取得した情報をメタデータとして管理し、下流システムへ反映する構成で、ID 情報の管理ポイントを明確にしました。
03
クラウド側からオンプレミスの AD や Exchange を操作するため、社内ネットワーク側に中継サーバを設置。Azure Functions から中継サービスを経由して中継サーバの REST API へアクセスし、許可されたアプリケーションのみがアクセスできるよう制御しました。
04
アクセスキーなどの機密情報は Key Vault で集中管理。各リソースへの匿名アクセスを禁止し、機密情報を取得できるユーザー・アプリケーションを限定。資材更新やセキュリティ関連情報へのアクセスを監視し、想定外の操作を管理者へ通知する仕組みを設計しました。
05
Azure Functions で実装した個別のバッチ処理を Logic Apps で統合し、一連の業務シナリオとして実行できる構成に。処理単位を疎結合に保ち、連携処理の追加や変更に対応しやすくしました。
06
データ取込み、プロビジョニング、メタデータ管理、運用機能などのコア機能を可能な限り汎用化。導入先ごとに異なる業務ロジックだけを個別実装することで、導入工数を抑えながら別環境・別システムへ横展開しやすい構成としました。
05RESULTS
06DELIVERY
07OTHER CASES
Azure / PaaS / App Service / SQL Database / IaC
次期 EDI 環境を Azure PaaS 中心のゾーン冗長構成で設計。Azure CLI 一式とパラメータシートで、お客様自身が再現できる形で引き渡し。
詳しく見る →AVD / Entra ID / FSLogix / Azure Files
学生用・教職員用の2テナントにまたがるAVD環境を、PoCから本番展開まで支援。
詳しく見る →Azure OpenAI / AI Search / App Service / Teams / Power BI
社内向けチャットと生成AIドキュメント検索の2つのPoC環境をお客様のAzure上に構築し、Teams連携とPower BIダッシュボードまで提供。
詳しく見る →要件が固まる前の段階でも、現状と目的の整理からご相談いただけます。