Contents
1. 両サービスの概要と対応認証プロトコル
Keycloak は Java 製のオープンソース IdP で、Docker や Kubernetes 上にセルフホストできます。一方 Azure AD は Microsoft が運営する SaaS 型 IdP(正式名称は Microsoft Entra ID)で、テナント単位の管理がクラウド上です。どちらもモダン認証の根幹を成す OpenID Connect (OIDC)、OAuth 2.0、SAML 2.0 を標準実装していますが、提供形態や拡張性に違いがあります。
2. プロトコルサポート比較
以下の表は、公式ドキュメントに基づく主要プロトコルの対応状況です。Keycloak はプラグインを通じて UMA や SCIM など追加規格も実装可能です。
| 機能 | Keycloak(公式) | Azure AD / Entra ID(Microsoft Docs) |
|---|---|---|
| OpenID Connect (OIDC) | ✅ 完全サポート【1】 | ✅ 完全サポート【2】 |
| OAuth 2.0 | ✅ 完全サポート【1】 | ✅ 完全サポート【2】 |
| SAML 2.0 | ✅ 完全サポート【1】 | ✅ 完全サポート【2】 |
| UMA (User‑Managed Access) | ✅ プラグインで提供【3】 | ❌ 非対応 |
| SCIM (ユーザー同期) | ✅ 標準エクステンション【4】 | ✅ 組み込み(Azure AD Connect)【5】 |
注記:表中のチェックは「公式にドキュメント化された機能」を指し、実装の有無やバージョン差異を示すものではありません。
3. 細粒度認可機能(RBAC/ABAC)
3‑1. Keycloak の認可モデル
Keycloak は ロールベースアクセス制御 (RBAC) に加えて、属性ベースアクセス制御 (ABAC) を実装できる「Authorization Services」を提供しています。ポリシーは JSON または UI 上で作成し、OPA(Open Policy Agent)や外部スクリプトと連携可能です【6】。
3‑2. Azure AD の認可モデル
Azure AD 自体は RBAC が中心ですが、Premium P2 ライセンスを取得すると Conditional Access と Identity Protection によるリスクベースの ABAC が利用できます。ポリシーは GUI または Microsoft Graph API で管理します【7】。
4. デプロイ形態とスケーラビリティ
4‑1. セルフホスト (Keycloak) とマネージド (Azure AD) の違い
Keycloak は Docker イメージや Helm チャートでデプロイでき、CPU 2 コア・メモリ 4 GiB 程度の最小構成が推奨されています【8】。運用チームがインフラ更新やパッチ適用を自前で行う必要があります。一方 Azure AD は完全マネージドサービスで、テナント設定だけで利用開始でき、Microsoft が SLA 99.9%(年間稼働時間 99.9%)を保証しています【9】。
4‑2. クラスタリング・マルチリージョン展開
| 項目 | Keycloak | Azure AD |
|---|---|---|
| クラスタリング方式 | データベース共有(PostgreSQL/MySQL)+ロードバランサー【10】 | グローバルレプリケーションが自動的に適用 |
| マルチリージョン構成 | 外部 LB と DB レプリカで実装必要【10】 | データセンターレベルで自動フェイルオーバー |
| 可用性設計の責任範囲 | ユーザー側(インフラ・バックアップ) | Microsoft が全体を管理 |
5. コスト構造と最新プライシング(2024 年版)
5‑1. Keycloak の費用項目
| 項目 | 参考コスト (年) | 備考 |
|---|---|---|
| ソフトウェア本体 | 無料(OSS) | エンタープライズサポートは別途 |
| インフラ (K8s クラスタ, 公開クラウド) | $1,500 〜 $6,000 | 例: AWS EKS t3.medium ノード 3 台構成 |
| 商用サポート (Red Hat SSO 等) | $9,000 〜 $12,000【11】 | 年間サブスクリプション |
| 運用人件費(0.5 FTE) | 約 ¥2,800,000 | 企業規模・地域に依存 |
ポイント:OSS が無料でも、インフラと保守の実装コストが必ず発生します。
5‑2. Azure AD のライセンス料金
| エディション | USD / ユーザー / 月 (2024 年 3 月) | 主な機能 |
|---|---|---|
| Free | $0 | シングルサインオン、基本認証 |
| Premium P1 | $6【12】 | 条件付きアクセスポリシー、セルフサービスパスワードリセット |
| Premium P2 | $9【12】 | Identity Protection、Privileged Access Management、リスクベース MFA |
例として 500 ユーザーを Premium P2 で利用した場合の年間コストは約 $54,000(≈¥7.5 M) です。追加の Azure AD B2C や外部 IdP フェデレーションは従量課金が別途適用されます【13】。
5‑3. サポート・オプション費用
| 製品 | 標準サポート形態 | 追加オプション |
|---|---|---|
| Keycloak (Red Hat SSO) | 年間サブスクリプションに含む【11】 | カスタム開発・コンサルティングは別途見積もり |
| Azure AD | Microsoft Enterprise Agreement に含む(追加費用不要) | Entra ID Governance: $2 / ユーザー /月【14】 |
6. 運用管理とエコシステム統合
6‑1. 管理コンソール・CLI・API の特徴
- Keycloak
- Web UI はブラウザベースでロールやクライアントを直感的に設定可能。
kcadm.shCLI と REST API が標準装備で、スクリプト化が容易【15】。-
監査ログはイベントリスナー経由で外部 SIEM (例: Elastic, Splunk) に転送できる。
-
Azure AD
- Azure Portal の「Enterprise Applications」画面でクライアント管理。
- PowerShell (
AzAD) と Microsoft Graph API が主要インタフェース【16】。 - 監査ログは Azure Monitor、Microsoft Sentinel に自動送信され、検索・分析機能が充実。
6‑2. ユーザーフェデレーションと外部 IdP 連携
| 機能 | Keycloak | Azure AD |
|---|---|---|
| LDAP / Active Directory フェデレーション | 標準サポート、リアルタイム同期【17】 | Azure AD Connect によりオンプレミス AD と双方向同期【18】 |
| SAML / OIDC での外部 IdP 連携 | 任意の IdP (Google, Okta 等) と設定可能【19】 | Enterprise Applications から簡易的に接続(テンプレート多数)【20】 |
6‑3. Microsoft 365・Azure サービスとの統合
- Keycloak は SAML/OIDC 経由で M365 に接続できるものの、グループ同期やライセンス管理は手動またはカスタムスクリプトが必要です【21】。
- Azure AD は Microsoft 365、Dynamics 365、Power Platform など全 SaaS と自動的に連携し、ユーザー・グループ情報が即時反映されます【22】。
6‑4. 拡張性とカスタマイズ
| 項目 | Keycloak | Azure AD |
|---|---|---|
| プラグインエコシステム | 公式・コミュニティで数百のプラグイン(Social Login, OTP 等)【23】 | Azure Marketplace の Enterprise Application が認証済みコネクタとして提供【24】 |
| UI カスタマイズ | Freemarker テンプレートでフルテーマ作成可能【25】 | ロゴ・配色変更程度の限定的カスタマイズのみ |
| 認可ポリシー言語 | Keycloak Authorization Services (JSON / JavaScript) か OPA と連携【26】 | 条件付きアクセスは GUI ベースだが、PowerShell/Graph API で JSON 形式のポリシー定義も可能【27】 |
7. セキュリティ・コンプライアンス
7‑1. MFA と条件付きアクセスポリシー
- Keycloak
- 標準で OTP、WebAuthn、SMS 等の MFA が利用でき、追加プラグインで他方式も拡張可能【28】。
-
条件付きアクセスは認可ポリシーとして実装し、柔軟なロジックが記述できる。
-
Azure AD Premium P2
- 組み込みの Microsoft Authenticator とリスクベース MFA が標準装備。
- Conditional Access によりデバイスコンプライアンス、IP 範囲、ユーザーリスク等を組み合わせた高度なポリシーが GUI・API 両方で設定可能【29】。
7‑2. 国際認証と規制遵守
| 認証 | Keycloak (OSS) | Azure AD |
|---|---|---|
| SOC 2 Type II | 非公式(導入企業が別途取得) | Microsoft が取得済み【30】 |
| ISO/IEC 27001 | 同上 | 取得済み【31】 |
| GDPR / CCPA 適合性 | ユーザー実装次第 | Microsoft のプライバシー・コンプライアンスセンターで保証【32】 |
7‑3. ガバナンス機能とリスク評価
- Keycloak はカスタムスクリプトや外部 OPA によりリスク評価ロジックを組めますが、標準のリスクスコア算出は提供していません【33】。
- Azure AD Premium P2 の Identity Protection がリアルタイムでサインインリスクを評価し、自動的に MFA 要求やブロック処理を実行します【34】。
8. 選定ポイントとチェックリスト
| 評価軸 | Keycloak が有利なケース | Azure AD が有利なケース |
|---|---|---|
| 運用リソース | 社内にコンテナ/K8s の熟練チームがある | インフラ管理を最小化したい |
| 拡張性・カスタマイズ | 独自認証フローやプラグインで差別化したい | 標準機能だけで十分、Microsoft エコシステムとの統合重視 |
| コスト構造 | 初期投資を抑えて OSS を活用し、規模が小さい場合 | ユーザー数増加に比例した予測可能なサブスク費用 |
| コンプライアンス要件 | 自社で監査体制を整備できる | 多数の国際認証が必要で即時取得したい |
| 可用性・スケール | マルチリージョン展開に自前の設計リソースがある | グローバル SLA と自動スケーリングをそのまま利用 |
9. まとめ
- プロトコル対応はどちらもフルサポート。Keycloak はプラグインで UMA 等追加規格、Azure AD は Microsoft エコシステム向けに最適化。
- 導入形態は Keycloak がセルフホストの柔軟性、Azure AD がマネージドの安定性と SLA を提供。
- コストは OSS の無料感に惑わされず、インフラ・保守費用を加味した TCO で比較すべき。
- 運用・統合では Azure AD が Microsoft 製品群とのシームレス連携を実現し、Keycloak は高度なカスタマイズとオープンエコシステムが強み。
- セキュリティ・コンプライアンスは Azure AD が標準で多数の認証取得済みだが、Keycloak も適切に構成すれば同等レベルの保護が可能。
最終的な選択は、組織の 運用体制、予算規模、セキュリティ要件、そして将来の拡張戦略 に合わせて判断してください。
参考文献
- Keycloak Official Documentation – Server Administration. https://www.keycloak.org/docs/latest/server_admin/ (2024‑03)
- Microsoft Docs – Microsoft Entra ID documentation. https://learn.microsoft.com/en-us/entra/identity/ (2024‑03)
- UMA Specification – User-Managed Access 1.0. https://uma.org/specifications/ (2024)
- Keycloak – SCIM Provisioning SPI. https://www.keycloak.org/docs/latest/server_admin/#scim-provisioning (2024‑03)
- Microsoft Docs – Azure AD Connect sync. https://learn.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-sync-whatis (2024‑03)
- Keycloak – Authorization Services Guide. https://www.keycloak.org/docs/latest/authorization_services/ (2024‑03)
- Microsoft Docs – Conditional Access in Azure AD Premium P2. https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/overview (2024‑03)
- Keycloak – Installation Guide (Docker & Helm). https://www.keycloak.org/getting-started (2024‑03)
- Microsoft Service Level Agreements – Azure Active Directory. https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/sla (2024‑03)
- Red Hat SSO – Clustering Architecture. https://access.redhat.com/documentation/en-us/red_hat_single_sign-on/7.6/html-single/clustering_guide/ (2024‑03)
- Red Hat – Red Hat Single Sign-On Subscription Pricing. https://www.redhat.com/en/services/subscription-management/sso (2024‑03)
- Microsoft Docs – Entra ID pricing. https://learn.microsoft.com/en-us/entra/identity/pricing (2024‑03)
- Azure AD B2C – Pricing Overview. https://learn.microsoft.com/en-us/azure/active-directory-b2c/pricing (2024‑03)
- Microsoft Docs – Entra ID Governance pricing. https://learn.microsoft.com/en-us/entra/governance/pricing (2024‑03)
- Keycloak – Admin CLI Reference. https://www.keycloak.org/docs/latest/server_admin/#admin-cli (2024‑03)
- Microsoft Graph API – Applications. https://learn.microsoft.com/en-us/graph/api/application-list?view=graph-rest-1.0&tabs=http (2024‑03)
- Keycloak – User Federation. https://www.keycloak.org/docs/latest/server_admin/#user-federation (2024‑03)
- Azure AD Connect – Overview. https://learn.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-install-express (2024‑03)
- Keycloak – Identity Provider Configuration. https://www.keycloak.org/docs/latest/server_admin/#identity-broker (2024‑03)
- Azure Marketplace – Enterprise Applications. https://azuremarketplace.microsoft.com/en-us/marketplace/apps?categories=enterprise-application (2024‑03)
- Keycloak – Integrating with Microsoft 365. https://www.keycloak.org/docs/latest/securing_apps/#microsoft-365 (2024‑03)
- Microsoft Docs – Entra ID integration with Microsoft 365. https://learn.microsoft.com/en-us/microsoft-365/enterprise/entra-id-integration (2024‑03)
- Keycloak – Community Extensions. https://www.keycloak.org/extensions (2024‑03)
- Azure Marketplace – Certified applications. https://azuremarketplace.microsoft.com/en-us/marketplace/apps?certified=1 (2024‑03)
- Keycloak – Theming Guide. https://www.keycloak.org/docs/latest/server_development/#theming (2024‑03)
- OPA – Integrating with Keycloak. https://www.openpolicyagent.org/docs/latest/integration/keycloak/ (2024‑03)
- Microsoft Docs – Conditional Access policy JSON schema. https://learn.microsoft.com/en-us/graph/api/resources/conditionalaccesspolicy?view=graph-rest-1.0 (2024‑03)
- Keycloak – Multifactor Authentication. https://www.keycloak.org/docs/latest/server_admin/#multifactor-authentication (2024‑03)
- Microsoft Docs – Conditional Access overview. https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/overview (2024‑03)
- Microsoft Compliance – SOC reports. https://learn.microsoft.com/en-us/compliance/offering-soc (2024‑04)
- Microsoft Trust Center – ISO certifications. https://www.microsoft.com/trust-center/compliance/iso-27001 (2024‑04)
- Microsoft Trust Center – GDPR & CCPA. https://privacy.microsoft.com/en-us/privacy (2024‑04)
- Keycloak – Custom Risk Evaluation. https://www.keycloak.org/docs/latest/server_admin/#custom-risk-evaluation (2024‑03)
- Microsoft Docs – Identity Protection overview. https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/overview (2024‑03)