実践 Keycloak
ジッセンキークローク
OpenID Connect、OAuth 2.0 を利用したモダンアプリケーションのセキュリティー保護
- 著者:
- Stian Thorgersen / Pedro Igor Silva / 和田 広之 / 田村 広平 / 乗松 隆志 / 田畑 義之(スティアン トルゲルセン / ペドロ イゴール シルバ / ワダ ヒロユキ / タムラ コウヘイ / ノリマツ タカシ / タバタ ヨシユキ)
- 出版社:
- オライリー・ジャパン
- 出版日:
- 2022年10月15日頃
- ISBN:
- 9784814400096
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
IAM 分野で注目が高まる Keycloak の包括的な解説書!
Web ベースのシステムにアクセス管理機能を提供するオープンソースソフトウェア「Keycloak」の解説書。シングルサインオン (SSO) や API アクセスの認証と認可を実現するもので、開発コミュニティの主要人物が著した教科書的な 1 冊。インストール、管理コンソールの基本から、詳細なコンフィギュレーション、SPI による拡張、セキュリティ上考慮すべき設定ポイントなど実践で役立つ情報までを丁寧に解説。標準仕様 OpenID Connect (OIDC) や OAuth 2.0 についてもカバーする。
技書の森解説
Keycloak は、シングルページアプリケーション (SPA)、モバイルアプリケーション、REST API などのアプリケーションに認証と認可を提供するオープンソースの IAM ツールです。『実践 Keycloak』 (Stian Thorgersen、Pedro Igor Silva 著、和田 広之、田村 広平、乗松 隆志、田畑 義之 訳、オライリー・ジャパン、2022 年 10 月 15 日発行) は、その Keycloak を導入から本番運用、拡張、セキュリティー対策まで扱う包括的な解説書です。原書は Keycloak で、版元は開発コミュニティーのプロジェクトリーダーとコアディベロッパーが著した本と案内しています。副題は「OpenID Connect、OAuth 2.0 を利用したモダンアプリケーションのセキュリティー保護」です。
全 4 部 14 章と補章の構成、導入から本番運用まで
本文は 4 部に分かれています。第 1 部「Keycloak を始めよう」では Docker と OpenJDK でのインストール、管理コンソールとアカウントコンソールの使い方、サンプルアプリケーションへのログインとバックエンドの REST API の安全な呼び出しまでを試します。第 2 部「Keycloak によるアプリケーションのセキュリティー保護」は 3 章から 8 章で、標準仕様の紹介、OpenID Connect による認証、OAuth 2.0 による認可、アプリケーションの種類ごとの保護、Go、Java (Quarkus と Spring Boot)、JavaScript、Node.js、Python のアプリケーションとの統合、RBAC や ABAC などの認可の戦略を扱います。第 3 部「Keycloak の設定と管理」の 9 章から 13 章は、ホスト名、TLS、データベース、クラスタリング、リバースプロキシーの設定、ユーザーの管理と LDAP や Active Directory との連携、パスワードと OTP と WebAuthn による認証、トークンとセッションの管理、SPI による拡張とテーマの変更です。第 4 部の 14 章で Keycloak 自体、データベース、クラスター通信、ユーザーアカウント、アプリケーションのセキュリティー保護をまとめ、最後に日本語版補章「クライアントポリシーによるセキュリティー保護」が置かれています。多くの章の末尾には質問の節があり、巻末に解答が付きます。
OAuth 2.0 と OIDC の役割の違いを押さえる技術背景
認証基盤を学ぶうえで最初につまずきやすいのが、OAuth 2.0 と OpenID Connect の役割の違いです。OAuth 2.0 は、アプリケーションが利用者に代わって API を呼び出す権限を、アクセストークンという形で受け取るための認可の仕組みです。それだけでは、いまログインしているのが誰なのかをアプリケーションが確かめる手段が決まっていないため、その上に ID トークンで利用者の身元を伝える層を足したのが OpenID Connect です。トークンには有効期間があり、短い期間のアクセストークンを リフレッシュトークン で取り直す設計にすると、漏れた時の被害を抑えつつ利用者に何度もログインさせずに済みます。本書は 3 章でこうした標準仕様を簡単に紹介してから、4 章と 5 章でプレイグラウンドアプリケーションを動かして実際のやり取りを確かめる流れなので、仕様を初めて学ぶ段階でも Keycloak の操作と結び付けて理解を進められます。
自前で作らず、IAM を 1 か所に集める理由
アプリケーションごとにログイン画面とパスワードの保存を作ると、パスワードの方針、多要素認証、ログアウト、退職者のアカウント停止といった対策を、すべてのアプリケーションで個別に正しく作り込む必要が生じます。Identity and Access Management を Keycloak のような専用の基盤に集めれば、アプリケーションは標準仕様に沿ってトークンを受け取るだけになり、認証の強化や連携先の追加を 1 か所の設定で済ませられます。7 章に「独自の統合を行わないようにする」という節があることも、その考え方を示しています。一方で、基盤の設定を誤ると全アプリケーションに影響が及ぶため、9 章の本番環境用の設定と 14 章のセキュリティー対策は、構築を担当する人にとって読み飛ばせない部分です。
Keycloak で認証基盤を組む担当者に向く一冊
この本が最も役に立つのは、自社のアプリケーション群に Keycloak でシングルサインオンを導入する担当者や、既存の LDAP や Active Directory と連携しながら認証を一元化したい人です。サンプルを動かす段階から、認可の戦略の選び方、本番構成、SPI による拡張までを 1 冊で追えるため、導入の検討から運用設計までの判断材料をまとめて得られます。Keycloak は版を重ねるソフトウェアなので、画面や設定項目は 2022 年 10 月の刊行時点の内容として、公式ドキュメントと照らし合わせながら読み進めてください。
言及した記事 (5 件)
この本は技書デッキのカードです (備え 4 / 敵に弱体 2) 図鑑でこの本を見る
この本に興味がある方におすすめ
関連する本
関連記事
セキュリティ本ガイド - Web 開発者が読むべき技術書の選び方
Web セキュリティの基礎から実践まで学べる技術書の選び方マトリクスと、読了後にやるべき 3 つのアクションを紹介します。
AWS 本の選び方 - 全体像 / 構築 / 設計 / 運用 / セキュリティの 5 視点
AWS を学ぶ技術書の選び方を「全体像 / 構築 / 設計 / 運用 / セキュリティ」の 5 視点で整理。公式ドキュメントと本の役割分担、資格対策書の位置づけまで、2026 年 8 月時点の定番書で AWS 独学のルートを解説します。
体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版は初版と何が違うか - 買い直し判断ガイド
通称「徳丸本」こと体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版 (2018 年) と初版 (2011 年) の違いを出版社公表の改訂内容から整理。章の削除 / 新設 / 追加点の一覧と、初版所有者が買い直すべきかの判断基準を解説します。
関連用語
多要素認証
パスワードに加えて追加の認証要素を要求し、アカウントの不正アクセスを防ぐセキュリティ手法
Passkey
パスワード不要の認証技術で、FIDO2/WebAuthn 標準に基づく
SAML
企業の ID プロバイダーとサービスプロバイダー間でシングルサインオンを実現する XML ベースの認証プロトコル
Amazon Cognito
Web / モバイルアプリに認証 / 認可機能を追加する AWS マネージドサービス
Security
情報やシステムを脅威から守り、機密性 / 完全性 / 可用性を維持する取り組み
IAM (概念)
Identity and Access Management の一般概念で、認証と認可を管理する仕組み