Chuyển đến nội dung chính

基本から上級までの Keycloak

Keycloakコースは基本から上級まで包括的で、レルム、ユーザー、ロール、クライアントのインストールと構成から、アイデンティティ・ブローカリング、ユーザー・フェデレーション(LDAP/AD)、認証フロー、認可サービス、多要素認証、組織、ワークフロー、パスキーなどの高度なモジュール、実際のアプリケーションとの統合まで、アイデンティティとアクセス管理(IAM)をマスターするのに役立ちます。本番運用、高可用性、Kubernetes Operators、エンタープライズセキュリティのベストプラクティスを含む、Quarkus 上で実行される Keycloak 26.x (最新バージョン 2026) に更新されました。

パート 1: Keycloak プラットフォーム

レッスン 1: Keycloak の紹介 - エンタープライズにおける IAM と SSO

  • キークロークとは何ですか?開発経緯(JBossからCNCFインキュベーションまで)

  • Identity and Access Management (IAM) が必要な理由は何ですか?

  • 中心的な概念: レルム、クライアント、ユーザー、ロール、グループ、セッション

  • Quarkus (26.x) の Keycloak アーキテクチャ

  • Keycloak、Auth0、Okta、Azure AD の比較

  • 使用例: SSO、ソーシャル ログイン、LDAP フェデレーション、MFA、API セキュリティ

レッスン 2: Keycloak のインストール - スタンドアロン、Docker、Kubernetes

  • Ubuntu/CentOS (ベアメタル) に Keycloak をインストールする

  • Docker および Docker Compose を使用して Keycloak を実行する

  • Kubernetes Operator のデプロイメント

  • データベース バックエンドの構成 (PostgreSQL、MySQL、MariaDB)

  • HTTPS/TLS セットアップとホスト名 v2 構成

  • 開発モードと運用モード

レッスン 3: 管理コンソールと最初のレルムの作成

  • 最初の管理者ユーザーを作成します (管理者ブートストラップとリカバリ)

  • 管理コンソール UI の概要

  • レルムの作成と構成 (全般、ログイン、電子メール、テーマ、キー)

  • マスター レルムとカスタム レルム

  • 基本的な管理 CLI (kcadm.sh)。

  • 管理者 REST API の概要

レッスン 4: ユーザー、グループ、およびユーザー プロファイルの管理

  • ユーザーの作成と管理、資格情報の設定

  • ユーザープロファイル: カスタム属性、バリデータ、注釈

  • プログレッシブプロファイリング

  • グループとサブグループ、グループ属性、役割マッピング

  • ユーザーの自己登録と必要なアクション

  • なりすまし、アカウント削除、個人データ

レッスン 5: 役割、権限、およびアクセス制御

  • レルムの役割とクライアントの役割

  • 複合ロールとデフォルトのロール

  • ユーザーとグループの役割マッピング

  • きめ細かい管理者権限 V2

  • レルム管理の委任

  • 専用レルム管理コンソール

パート 2: SSO プロトコル - OpenID Connect と SAML

レッスン 6: OpenID Connect クライアント - A から Z までの構成

  • クライアントの種類: パブリック、機密、ベアラーのみ

  • 一般設定、アクセス設定、機能構成

  • OIDC 認証フロー: 認証コード、暗黙的、クライアント認証情報、デバイス認証

  • PKCE (コード交換用の証明キー)

  • CIBA (クライアント開始バックチャネル認証)

  • OIDC クライアントを React、Spring Boot、Node.js と統合する

レッスン 7: SAML クライアントとプロトコル マッパー

  • SAML 2.0 クライアント、SAML バインディング (POST、リダイレクト、アーティファクト) の作成

  • SAML アサーション、XML 署名および暗号化

  • エンティティ記述子のインポート

  • OIDC プロトコル マッパー: ユーザー属性、セッション ノート、ハードコード、スクリプト

  • SAML プロトコル マッパー

  • Lightweight アクセス トークンとペアワイズ サブジェクト識別子

レッスン 8: クライアント スコープ、トークン管理、および DPoP

  • クライアント スコープ: デフォルトとオプション、同意設定

  • レルムのデフォルトのクライアント スコープ、スコープの評価

  • アクセストークン、IDトークン、リフレッシュトークンのライフサイクル

  • セッションとトークンのタイムアウト構成

  • オフラインアクセス、トークン取り消し

  • DPoP (所有証明の実証)

レッスン 9: クライアント ポリシーと高度なクライアント構成

  • クライアントポリシーのアーキテクチャ: ポリシー、プロファイル、条件、エグゼキュータ

  • FAPI 2.0 セキュリティ プロファイルとメッセージ署名

  • クライアント シークレットのローテーション

  • サービスアカウントと対象ユーザーのサポート

  • トークン交換 (標準、JWT 認可付与 RFC 7523)

  • MCPサーバーの認可サーバーとしてのKeycloak

パート 3: 認証、MFA、および ID ブローカリング

レッスン 10: 認証フロー - 認証フローのカスタマイズ

  • 組み込みフロー: ブラウザ、直接付与、登録、認証情報のリセット

  • カスタム認証フローの作成

  • 条件付きオーセンティケーター (実行されるサブフロー、クライアント スコープ)

  • ステップアップ認証とACR/LoAマッピング

  • セッション制限 (レルムレベル、クライアントレベル)

  • クライアントポリシーによる動的な認証フローの選択

レッスン 11: 多要素認証 - OTP、WebAuthn、およびパスキー

  • Google Authenticator、FreeOTP による TOTP/HOTP 設定

  • OTP ポリシーの構成と回復コード

  • WebAuthn (FIDO2 セキュリティ キー) のセットアップ

  • パスキーの統合 (条件付き UI、モーダル UI)

  • ケルベロス認証

  • X.509 クライアント証明書認証

レッスン 12: ID ブローカリングとソーシャル ログイン

  • ソーシャルログイン: Google、Facebook、GitHub、Apple、Microsoft

  • OpenID Connect および SAML ID プロバイダー

  • OAuth v2 および Kubernetes ID プロバイダー

  • 初回ログインフローとアカウントリンク

  • ID プロバイダー マッパーと同期モード

  • クライアント提案の IdP と IdP ログアウト

パート 4: ユーザー フェデレーション、組織、および認可

レッスン 13: ユーザー フェデレーション - LDAP と Active Directory

  • LDAP/AD フェデレーションの構成 (ストレージ モード、編集モード)

  • 接続設定: SSL、接続プール、紹介

  • LDAP マッパー: ユーザー属性、フルネーム、グループ、ロール

  • MSAD ユーザー アカウント制御マッパー

  • SSSD/FreeIPAの統合とKerberosブリッジ

  • カスタム ユーザー ストレージ SPI

レッスン 14: 組織 - マルチテナンシーと CIAM

  • Keycloakの組織機能をオンにする

  • 組織、ドメイン、属性の作成/管理

  • メンバー管理: 管理対象、非管理対象、招待

  • ID プロバイダーを組織に関連付ける

  • ID ファーストのログイン フロー

  • 組織のクレームをトークンにマッピングする

レッスン 15: 認可サービス - 詳細な認可

  • リソースサーバー、リソース、スコープ、権限、ポリシー

  • ポリシーの種類: ロール、ユーザー、グループ、クライアント、時間、JS、集約

  • UMA 2.0 と許可 API

  • ポリシー執行者と請求情報ポイント

  • 認可を Spring Boot / Node.js に統合する

  • 評価 API とトラブルシューティング権限

レッスン 16: ワークフロー - IGA による管理の自動化

  • Keycloakワークフローエンジン(プレビュー)

  • ワークフロー定義と表現言語

  • 条件とステップの定義

  • Joiner-Mover-Leaver (JML) プロセス

  • 自動化されたオンボーディング/オフボーディング

  • レビューと一般的な使用例にアクセスする

パート 5: テーマ、イベント、セキュリティ、および Vault

レッスン 17: カスタム テーマ - ログイン、アカウント、管理者、電子メール

  • テーマ システム: ログイン、アカウント、管理コンソール、電子メールのテーマ

  • カスタム テーマ、Freemark テンプレートを作成する

  • ダークモードのサポート、国際化

  • PatternFly 5 コンポーネント

  • ホットデプロイテーマ、テーマリソース

  • アカウントコンソールv3のカスタマイズ

レッスン 18: イベントの監査とログ記録

  • ユーザーイベントと管理者イベントの構成

  • イベントタイプとイベントリスナー

  • カスタム イベント リスナー SPI

  • 監視用のイベントメトリクス

  • ロギング: コンソール、ファイル、JSON、ECS 形式、syslog

  • ELK スタック/Loki との統合

レッスン 19: セキュリティ強化とブルート フォース保護

  • SSL/HTTPS および管理エンドポイント保護

  • ブルート フォース保護 (永続的、一時的、複合ロックアウト)

  • パスワードポリシー

  • セキュリティヘッダー: CSP、X-Frame-Options、HSTS

  • reCAPTCHA セットアップ (v2 および Enterprise)

  • Vault の統合 (ファイルベース、Kubernetes Secret)

パート 6: 実際のアプリケーションの統合

レッスン 20: Keycloak と Spring Boot の統合

  • Spring Security OAuth2 リソースサーバー

  • Spring Security OAuth2 クライアント

  • 認可クライアントライブラリ

  • @PreAuthorize によるロールベースの承認

  • トークンリレーとサービス間通信

  • マルチテナンシーとテスト戦略

レッスン 21: Keycloak と React/Angular および Node.js の統合

  • Keycloak JavaScript アダプター (スタンドアロン ライブラリ)

  • React の統合 (keycloak-js、react-oidc-context)

  • Angular の統合 (angular-auth-oidc-client)

  • Node.js バックエンド (Passport.js、express-openid-connect)

  • トークン管理、サイレント SSO、保護されたルート

  • SPA 認証のベスト プラクティス

レッスン 22: Nginx、API ゲートウェイ、マイクロサービスを使用した Keycloak

  • auth_request / OAuth2 プロキシを使用した Nginx リバース プロキシ

  • API ゲートウェイ: Kong、Traefik、Keycloak OIDC を使用した APISIX

  • マイクロサービスの認証パターン

  • トークンイントロスペクションエンドポイント

  • Docker レジストリ v2 認証

  • 検証可能な資格情報 (OID4VCI) - 実験的

パート 7: 実稼働、高可用性、および Kubernetes

レッスン 23: Keycloak 本番環境のデプロイとデータベースのチューニング

  • 本番準備チェックリスト

  • ビルドの最適化 (kc.sh ビルド)

  • データベースのチューニング: PostgreSQL、接続プール、追加のデータソース

  • ホスト名 v2、リバース プロキシ、HTTP/HTTPS 設定

  • JVMチューニング、Argon2ハッシュ、キャッシュ構成

  • レルムデータのインポート/エクスポート

レッスン 24: 高可用性、クラスタリング、およびマルチサイト展開

  • Infinispan、jdbc-ping トランスポートを使用した Keycloak クラスタリング

  • 構成不要のセキュアなクラスター通信

  • セッションレプリケーションと永続的なユーザーセッション

  • マルチサイトのアクティブ/パッシブ展開

  • ローリングアップデートとノンブロッキングヘルスチェック

  • CPU/メモリサイジングガイド

レッスン 25: Kubernetes オペレーター、モニタリング、および管理 CLI

  • Keycloak オペレーター: Keycloak CR、KeycloakRealmImport CR

  • オペレーターの詳細構成 (スケジュール、リソース、ネットワークポリシー)

  • OpenTelemetry: トレース、メトリクス、ロギング

  • Prometheus メトリクスと Grafana ダッシュボード

  • 管理者 CLI (kcadm.sh) の習得

  • バックアップ/復元戦略とトラブルシューティング

パート 1: Keycloak プラットフォーム

パート 2: SSO プロトコル - OpenID Connect と SAML

パート 3: 認証、MFA、および ID ブローカリング

パート 4: ユーザー フェデレーション、組織、および認可

パート 5: テーマ、イベント、セキュリティ、および Vault

パート 6: 実際のアプリケーションの統合

パート 7: 本番環境、HA、および Kubernetes