More Related Content
PPTX
PPTX
PDF
PPTX
PPTX
Azure API Management 俺的マニュアル PDF
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online PPTX
NGINXをBFF (Backend for Frontend)として利用した話 PPTX
BuildKitによる高速でセキュアなイメージビルド What's hot
PDF
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014 PDF
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料) PPTX
Amazon EKS によるスマホゲームのバックエンド運用事例 PPTX
Azure Api Management 俺的マニュアル 2020年3月版 PDF
PDF
今だからこそ知りたい Docker Compose/Swarm 入門 PDF
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜 PPTX
世界一わかりやすいClean Architecture PPTX
KeycloakでFAPIに対応した高セキュリティなAPIを公開する PDF
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料) PPTX
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料) PDF
実装して理解するLINE LoginとOpenID Connect入門 PDF
PDF
PDF
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside PPTX
PDF
PDF
3分でわかるAzureでのService Principal PDF
PDF
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック Similar to 最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~
PPTX
PPTX
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 PPTX
CSS2020 Client Policies on keycloak PDF
PPTX
Keycloak入門-OpenID ConnectによるAPIセキュリティ PDF
KeycloakのCNCF incubating project入りまでのアップストリーム活動の歩み PDF
PPTX
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可 PDF
PDF
PPTX
FIWARE アーキテクチャの保護 - FIWARE WednesdayWebinars PDF
PDF
KubeCon NA 2023 Recap: Challenge to Implementing “Scalable” Authorization wit... PDF
Authentication and Authorization of The Latest Keycloak PDF
PPTX
PPTX
マイクロソフトのITコンシューマライゼーション2 - フレキシブルワークスタイルを支えるテクノロジー 第2版 PPTX
【日商USA】webinar 2023.5.12 RSAカンファレンス2023 フィードバック PDF
PPTX
More from Hitachi, Ltd. OSS Solution Center.
PDF
Secure Authorization for Agentic AI in Multi-Domain Environments PDF
Securing AI Agent Infrastructure: AuthN/AuthZ Patterns for MCP and A2A PPTX
Securing Model Context Protocol with Keycloak: AuthN/AuthZ for MCP Servers PDF
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~ PPTX
Hitachi’s Keycloak Journey - Evolution of Business and Community PPTX
Mastering Authorization: Integrating Authentication and Authorization Data in... PDF
KubeCon + CloudNativeCon North America セキュリティ周りrecap PDF
Let’s Join Cloud Native Computing Foundation TAG Security APAC! PDF
Exploring Best Practice for Implementing Authn and Authz in a Cloud-Native En... PPTX
Exploring Best Practices for Implementing Authn and Authz in a Cloud-Native E... PPTX
CloudNativeSecurityCon North America 2024 Overview PPTX
How Does a Workload Authenticate an API Request?: Implementing Transaction To... PDF
Guide of authentication and authorization for cloud native applications with ... PPTX
Challenge to Implementing "Scalable" Authorization with Keycloak PDF
KubeConRecap_nakamura.pdf PPTX
PPTX
Security Considerations for API Gateway Aggregation PPTX
Why Assertion-based Access Token is preferred to Handle-based one? PPTX
What API Specifications and Tools Help Engineers to Construct a High-Security... PPTX
Implementing security and availability requirements for banking API system us... 最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~
- 1.
© Hitachi, Ltd.2021. All rights reserved.
最近のKeycloakのご紹介
~クライアントポリシーとFAPI~
OSSセキュリティ技術の会
株式会社 日立製作所
Software CoE
OSSソリューションセンタ
田畑 義之
- 2.
1
© Hitachi, Ltd.2021. All rights reserved.
自己紹介
田畑 義之 (たばた よしゆき)
株式会社 日立製作所 Software CoE OSSソリューションセンタ
ソフトウェアエンジニア
GitHub: @y-tabata, Qiita: @yo-tabata
• 認証認可スペシャリストとしてのAPI/SSO関連案件の支援
銀行用などの高セキュリティAPIシステムのコンサル/サポート
• 認証認可・API管理関連のOSSへのコントリビュート
Keycloak(アイデンティティ管理のOSS)における、OAuth/OIDC/FAPI関連機能の開発
3scale(API管理のOSS)における、セキュリティ/アクセス制御関連機能の開発
• OSSの活用事例や検証結果の情報発信
Qiita/ThinkITでのWeb記事投稿
Apidays/API Specifications Conference/CloudNative Daysなど、国内外のイベントでの情報発信
- 3.
© Hitachi, Ltd.2021. All rights reserved.
Contents
2
1. 最近のKeycloakリリース状況
2. 注目機能1: クライアントポリシーのご紹介
3. 注目機能2: FAPIのご紹介
4. クライアントポリシー&FAPIのデモ
- 4.
© Hitachi, Ltd.2021. All rights reserved.
Contents
3
1. 最近のKeycloakリリース状況
2. 注目機能1: クライアントポリシーのご紹介
3. 注目機能2: FAPIのご紹介
4. クライアントポリシー&FAPIのデモ
- 5.
4
© Hitachi, Ltd.2021. All rights reserved.
v15 FAPI、CIBAに完全対応
v14 FAPIに正式対応
v13 Device Flow対応
CIBA対応開始
v12 FAPIがpreview
v11 署名・クライアント認証強化
最近のKeycloakリリース状況(前回の勉強会以降): 標準対応強化
https://www.keycloak.org/docs/latest/release_notes/index.html より抜粋
乗松さん大活躍!
- 6.
5
© Hitachi, Ltd.2021. All rights reserved.
最近のKeycloakリリース状況(前回の勉強会以降): 他トピック
• オフラインセッションの扱い改善
• オフラインセッション(DBに永続化されるセッション)は、Keycloak起動時にDBから全部ロードされるた
め、大量にオフラインセッションがあるとKeycloakの起動が遅くなる問題があった。
→ v14より、インデックスのチューニングなどで読み込みが早くなった。
v14より、previewとして、オンデマンドでオフラインセッションを読み込む機能がサポートされた。
• Keycloak Gatekeeper (Louketo Proxy)のEOL
• v12で、Keycloak Gatekeeperとその後継のLouketo ProxyがEOLになると突然発表。
使っている人は注意!
• Keycloak.X
• v12から、previewとして、Quarkus版のKeycloak.Xの配布が開始。
それなりに動く模様。
• [参考] Keycloak.Xをクラスタ構成で動かしてみる
https://qiita.com/yo-tabata/items/6d29795fc3afa72d1b08
- 7.
© Hitachi, Ltd.2021. All rights reserved.
Contents
6
1. 最近のKeycloakリリース状況
2. 注目機能1: クライアントポリシーのご紹介
3. 注目機能2: FAPIのご紹介
4. クライアントポリシー&FAPIのデモ
- 8.
7
© Hitachi, Ltd.2021. All rights reserved.
クライアントポリシーとは (1/6) ~セキュリティプロファイル~
クライアントポリシーとは、Keycloakにおいて、セキュリティプロファイルをクライアントに適用する際の課題を解決するためのコンセプト。
セキュリティプロファイルとは、OAuth 2.0の具体的な使い方の規定(プロファイル)のうち、特にセキュリティを重視したもの。
たとえば、
- FAPI Security Profile …OpenID Foundationによるセキュリティプロファイル。高いセキュリティを要求される金融セクタで
の利用などを想定。
https://openid.net/specs/openid-financial-api-part-2-1_0-final.html
- Open Banking Security Profile …英国のOpen Bankingによるセキュリティプロファイル。
https://standards.openbanking.org.uk/security-profiles/
- Consumer Data Security Profile …オーストラリアのConsumer Data Rightによるセキュリティプロファイル。
https://consumerdatastandardsaustralia.github.io/standards/#security-profile
- Open Banking Brasil Financial-grade API Security Profile …ブラジルの中央銀行によるセキュリティプロファイル。
https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-financial-api-1_ID2.html
以下なども、広義ではセキュリティプロファイルとみなすことができる。
- RFC 8252 OAuth 2.0 for Native Apps …ネイティブアプリでOAuth 2.0を安全に使用するための標準仕様。
https://datatracker.ietf.org/doc/html/rfc8252
- OAuth 2.0 for Browser-Based Apps …SPAでOAuth 2.0を安全に使用するための標準仕様。
https://datatracker.ietf.org/doc/html/draft-ietf-oauth-browser-based-apps-08
- 9.
8
© Hitachi, Ltd.2021. All rights reserved.
クライアントポリシーとは (2/6) ~プロファイル適用時の課題~
セキュリティプロファイルをクライアントに適用する際の課題とは、
1. 新規のセキュリティプロファイルのサポートや改変コストが高い。
- 不足機能があればKeycloak本体の改造が必要となり、タイムリーに追従できない。
- 本番環境適用の際にVUPが必要となり、ユーザビリティが損なわれる。
2. セキュリティプロファイルの多数のクライアントへの適用が煩雑。
- セキュリティプロファイルに関する設定項目が40以上あるので、それを多数のクライアントに適用するのは大変、かつerror
proneである。
3. 複数のセキュリティプロファイルを適用することができない。
- 基本的に1つのクライアントの1つの設定項目に対して、適用できる設定は1つなので、複数のセキュリティプロファイルを1つのク
ライアントに適用するユースケースを実現できない。
- 無理やり実現するには、同一クライアントを複数のレルム(名前空間)に別クライアントとして定義する必要があるが、管理が煩
雑になる。
この3つの課題を解決するコンセプトが、クライアントポリシーである。
- 10.
9
© Hitachi, Ltd.2021. All rights reserved.
クライアントポリシーとは (3/6) ~クライアントポリシーによる課題解決~
セキュリティプロファイルをクライアントに適用する際の課題とは、
1. 新規のセキュリティプロファイルのサポートや改変コストが高い。
[原因] セキュリティプロファイルを構成する設定の処理をKeycloak本体のコードで実装しているから。
→ これらの処理を動的にロード・アンロードするための機構(Framework)を設ける。
その上にComponentsという形でセキュリティプロファイルに関する処理を実装する。
2. セキュリティプロファイルの多数のクライアントへの適用が煩雑。
3. 複数のセキュリティプロファイルを適用することができない。
[原因] クライアントとその設定が一体化しているから。
→ Framework上のComponentsで、これらを分離する。
これが、クライアントポリシーの基本方針である。
- 11.
10
© Hitachi, Ltd.2021. All rights reserved.
クライアントポリシーとは (4/6) ~コンポーネント構成~
クライアントポリシーは、大きく以下の2つから成り立つ。
1.Framework …Componentsのロード・アンロード
を管理し、Componentsを実装するためのインタフェー
スであるフレームワークを提供する。
2.Components …セキュリティプロファイルに関する処
理。Componentsにて、セキュリティプロファイルをクライ
アントに適用する。
Componentsは、以下の2つから構成される。
1.Condition/Policy …セキュリティプロファイルの適
用対象クライアントを決めるコンポーネント。クライアント
のメタデータ(静的な特性)とクライアントからのリクエスト
(動的な特性)をもとに、セキュリティプロファイルを適用
するかどうかを決める。
2.Executor/Profile …セキュリティプロファイルの適
用内容を規定し、クライアントに対してセキュリティプロ
ファイルを実現するための処理を行うコンポーネント。
- 12.
11
© Hitachi, Ltd.2021. All rights reserved.
クライアントポリシーとは (5/6) ~クライアントポリシーの実行ポイント~
クライアントポリシーは、各種エンドポイントにクラ
イアントの要求が来たときに実行される。
具体的には、各Endpointにて、クライアントか
らのRequestをもとに、Conditionを評価し、
セキュリティプロファイルを適用する場合は、
Executorを実行する。
- 13.
12
© Hitachi, Ltd.2021. All rights reserved.
クライアントポリシーとは (6/6) ~クライアントポリシーのクラス構成~
Condition、Executorは、ともに
Frameworkのインタフェースを実装したプロバ
イダである。
これによるメリットは2点。
- Frameworkのコードと、Conditionや
Executorのコードが分離されるため、セキュ
リティプロファイルのVUP時や新しいセキュリ
ティプロファイルのサポート時にKeycloak本
体のコードを修正する必要がない。
- ConditionやExecutorのコードがプロバイダ
として実装されているため、Keycloak稼働
中にロード・アンロードすることができる。
- 14.
© Hitachi, Ltd.2021. All rights reserved.
Contents
13
1. 最近のKeycloakリリース状況
2. 注目機能1: クライアントポリシーのご紹介
3. 注目機能2: FAPIのご紹介
4. クライアントポリシー&FAPIのデモ
- 15.
14
© Hitachi, Ltd.2021. All rights reserved.
FAPIとは (1/3) ~FAPIの概要~
FAPI (Financial-grade API Security Profile)とは、OpenID Foundationによるセキュリティプロファイルで、高
いセキュリティを要求される金融セクタでの利用などを想定している。
OAuth 2.0
OpenID
Connect
(OIDC)
FAPI
APIセキュリティのデファクトスタンダード。
さまざまな標準仕様のベースとして参照されている。
OAuth 2.0の使い方を限定し、ハードニングしたもの。
SSOのプロトコルとしてもよく使用される。
FAPI (Financial-grade API)は、OAuth 2.0と
OIDCの使い方をさらに限定し、ハードニングしたもの。
金融分野での使用を想定している。
- 16.
- 17.
16
© Hitachi, Ltd.2021. All rights reserved.
FAPIとは (3/3) ~FAPIの注目度~
FAPIの注目度は国内外で年々上昇中。
EUでPSD2が成立 (2015/11)
改正銀行法が施行 (2017/6)
Open Banking Implementation Entityが
FAPI WGとのコラボレーションを発表 (2017/5)
全国銀行協会がFAPIへの準拠を推奨 (2017/7)
グローバルでのオープンAPIの
急速な普及につながった
各銀行にオープンAPI導入の
努力義務が課せられた
イギリスがOpen BankingStandardを公表 (2016/2)
国内
グローバル
2015
2016
2017
そんな中、Keycloakがv15でFAPIに完全対応した!
- 18.
© Hitachi, Ltd.2021. All rights reserved.
Contents
17
1. 最近のKeycloakリリース状況
2. 注目機能1: クライアントポリシーのご紹介
3. 注目機能2: FAPIのご紹介
4. クライアントポリシー&FAPIのデモ
- 19.
- 20.
19
© Hitachi, Ltd.2021. All rights reserved.
まとめ
- FAPIとクライアントポリシーについて、デモなどを通じてご紹介しました。
- クライアントポリシーは、セキュリティプロファイル適用時の課題を解決するためのコンセプトとして登
場しましたが、カスタマイズの自由度は計り知れません(もしかしたらSPI以上かも)。
興味のある方は是非触ってみてください。
- 21.
20
© Hitachi, Ltd.2021. All rights reserved.
Trademarks
• OpenID is a trademark or registered trademark of OpenID Foundation in the United States and other
countries.
• GitHub is a trademark or registered trademark of GitHub, Inc. in the United States and other
countries.
• Other brand names and product names used in this material are trademarks, registered trademarks,
or trade names of their respective holders.