Keycloak(キークローク)は、Webベースのシステムに認証と認可を組み込むOSS(オープンソースソフトウェア)です。
本書では、豊富な機能を備えるKeycloakについて、使いこなしの前提となる認証と認可の仕組みを基礎から解説し、典型的なユースケースの実現方法や本番システムへの実装方法まで詳しく解説しました。
「認証」と「認可」でお悩みの方は、必読の一冊です。
■入門編■基礎知識を習得しよう
第1章 Keycloakを理解するための第一歩
1.1 認証・認可とKeycloakの概要
1.2 Keycloak の動作要件とディレクトリー構成
1.3 Keycloak のセットアップと動作確認
1.4 本章のまとめ
第2章OAuthとOIDCの基礎知識
2.1 OAuthのフロー
2.2 トークンとKeycloakでの管理
2.3 トークンの無効化と認可判断
2.4 OIDCのフロー
2.5 本章のまとめ
第3章SSOの基礎知識
3.1 SSOを理解する
3.2 標準プロトコルによるSSO
3.3 本章のまとめ
第4章Keycloakの基礎を理解する
4.1 Keycloakの用語解説
4.2 セッションとトークンの有効期間の設定
4.3 公式ドキュメントとコミュニティー
4.4 本章のまとめ
■実践編■実際の3つのユースケースを題材に基本的な使い方・設定方法をマスターしよう
第5章OAuthに従ったAPI認可の実現
5.1 API認可を実現する環境の構築
5.2 認可コードフローによるアクセストークンの取得
5.3 API呼び出し時の認可判断とスコープの設定
5.4 トークンのリフレッシュと無効化
5.5 OAuth/OIDCのセキュリティー確保
5.6 API認可で重要なKeycloakの利用方法
5.7 本章のまとめ
第6章SSOを実現する
6.1 はじめに
6.2 Java アダプターを用いたSSO
6.3 リバースプロキシーを用いたSSO
6.4 JavaScriptアダプターを用いたSSO
6.5 標準プロトコル対応アプリケーションのSSO
6.6 SSOとSLOの動作確認
6.7 その他のSSOの動向と概略
6.8 本章のまとめ
第7章さまざまな認証方式を用いる
7.1 認証の強化
7.2 外部ユーザーストレージによる認証
7.3 外部アイデンティティープロバイダーによる認証
7.4 本章のまとめ
■応用編■実システム利用を見据えた使い方を知ろう
第8章Keycloakのカスタマイズ
8.1 カスタマイズの可能な箇所と仕組み
8.2 画面のカスタマイズ
8.3 SPIの既存プロバイダーの活用
8.4 SPIの新規プロバイダーの開発
8.5 Keycloakのビルド
8.6 本章のまとめ
第9章Keycloakの非機能面の考慮ポイント
9.1 HA構成
9.2 HTTPSの設定
9.3 管理コンソールのアクセス制御
9.4 ログとイベント
9.5 アップグレード
9.6 本章のまとめ