SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
© Hitachi, Ltd. 2021. All rights reserved.
最近のKeycloakのご紹介
~クライアントポリシーとFAPI~
OSSセキュリティ技術の会
株式会社 日立製作所
Software CoE
OSSソリューションセンタ
田畑 義之
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など、国内外のイベントでの情報発信
© Hitachi, Ltd. 2021. All rights reserved.
Contents
2
1. 最近のKeycloakリリース状況
2. 注目機能1: クライアントポリシーのご紹介
3. 注目機能2: FAPIのご紹介
4. クライアントポリシー&FAPIのデモ
© Hitachi, Ltd. 2021. All rights reserved.
Contents
3
1. 最近のKeycloakリリース状況
2. 注目機能1: クライアントポリシーのご紹介
3. 注目機能2: FAPIのご紹介
4. クライアントポリシー&FAPIのデモ
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 より抜粋
乗松さん大活躍!
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
© Hitachi, Ltd. 2021. All rights reserved.
Contents
6
1. 最近のKeycloakリリース状況
2. 注目機能1: クライアントポリシーのご紹介
3. 注目機能2: FAPIのご紹介
4. クライアントポリシー&FAPIのデモ
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
8
© Hitachi, Ltd. 2021. All rights reserved.
クライアントポリシーとは (2/6) ~プロファイル適用時の課題~
セキュリティプロファイルをクライアントに適用する際の課題とは、
1. 新規のセキュリティプロファイルのサポートや改変コストが高い。
- 不足機能があればKeycloak本体の改造が必要となり、タイムリーに追従できない。
- 本番環境適用の際にVUPが必要となり、ユーザビリティが損なわれる。
2. セキュリティプロファイルの多数のクライアントへの適用が煩雑。
- セキュリティプロファイルに関する設定項目が40以上あるので、それを多数のクライアントに適用するのは大変、かつerror
proneである。
3. 複数のセキュリティプロファイルを適用することができない。
- 基本的に1つのクライアントの1つの設定項目に対して、適用できる設定は1つなので、複数のセキュリティプロファイルを1つのク
ライアントに適用するユースケースを実現できない。
- 無理やり実現するには、同一クライアントを複数のレルム(名前空間)に別クライアントとして定義する必要があるが、管理が煩
雑になる。
この3つの課題を解決するコンセプトが、クライアントポリシーである。
9
© Hitachi, Ltd. 2021. All rights reserved.
クライアントポリシーとは (3/6) ~クライアントポリシーによる課題解決~
セキュリティプロファイルをクライアントに適用する際の課題とは、
1. 新規のセキュリティプロファイルのサポートや改変コストが高い。
[原因] セキュリティプロファイルを構成する設定の処理をKeycloak本体のコードで実装しているから。
→ これらの処理を動的にロード・アンロードするための機構(Framework)を設ける。
その上にComponentsという形でセキュリティプロファイルに関する処理を実装する。
2. セキュリティプロファイルの多数のクライアントへの適用が煩雑。
3. 複数のセキュリティプロファイルを適用することができない。
[原因] クライアントとその設定が一体化しているから。
→ Framework上のComponentsで、これらを分離する。
これが、クライアントポリシーの基本方針である。
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 …セキュリティプロファイルの適
用内容を規定し、クライアントに対してセキュリティプロ
ファイルを実現するための処理を行うコンポーネント。
11
© Hitachi, Ltd. 2021. All rights reserved.
クライアントポリシーとは (5/6) ~クライアントポリシーの実行ポイント~
クライアントポリシーは、各種エンドポイントにクラ
イアントの要求が来たときに実行される。
具体的には、各Endpointにて、クライアントか
らのRequestをもとに、Conditionを評価し、
セキュリティプロファイルを適用する場合は、
Executorを実行する。
12
© Hitachi, Ltd. 2021. All rights reserved.
クライアントポリシーとは (6/6) ~クライアントポリシーのクラス構成~
Condition、Executorは、ともに
Frameworkのインタフェースを実装したプロバ
イダである。
これによるメリットは2点。
- Frameworkのコードと、Conditionや
Executorのコードが分離されるため、セキュ
リティプロファイルのVUP時や新しいセキュリ
ティプロファイルのサポート時にKeycloak本
体のコードを修正する必要がない。
- ConditionやExecutorのコードがプロバイダ
として実装されているため、Keycloak稼働
中にロード・アンロードすることができる。
© Hitachi, Ltd. 2021. All rights reserved.
Contents
13
1. 最近のKeycloakリリース状況
2. 注目機能1: クライアントポリシーのご紹介
3. 注目機能2: FAPIのご紹介
4. クライアントポリシー&FAPIのデモ
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の使い方をさらに限定し、ハードニングしたもの。
金融分野での使用を想定している。
15
© Hitachi, Ltd. 2021. All rights reserved.
FAPIとは (2/3) ~FAPIの歴史~
2021/3 2021/3 まだ まだ
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に完全対応した!
© Hitachi, Ltd. 2021. All rights reserved.
Contents
17
1. 最近のKeycloakリリース状況
2. 注目機能1: クライアントポリシーのご紹介
3. 注目機能2: FAPIのご紹介
4. クライアントポリシー&FAPIのデモ
18
© Hitachi, Ltd. 2021. All rights reserved.
(デモ)
19
© Hitachi, Ltd. 2021. All rights reserved.
まとめ
- FAPIとクライアントポリシーについて、デモなどを通じてご紹介しました。
- クライアントポリシーは、セキュリティプロファイル適用時の課題を解決するためのコンセプトとして登
場しましたが、カスタマイズの自由度は計り知れません(もしかしたらSPI以上かも)。
興味のある方は是非触ってみてください。
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.
最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~

Contenu connexe

Tendances

OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜Masaru Kurahayashi
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理NTT DATA Technology & Innovation
 
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)NTT DATA Technology & Innovation
 
Keycloak & midPoint の紹介
Keycloak & midPoint の紹介Keycloak & midPoint の紹介
Keycloak & midPoint の紹介Hiroyuki Wada
 
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Hiroyuki Wada
 
認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜Masaru Kurahayashi
 
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践日本マイクロソフト株式会社
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)Trainocate Japan, Ltd.
 
Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策Yurika Kakiuchi
 
Azure Blob Storageへの様々なアクセス方法を比べてみた JAZUG12周年イベント
Azure Blob Storageへの様々なアクセス方法を比べてみた JAZUG12周年イベントAzure Blob Storageへの様々なアクセス方法を比べてみた JAZUG12周年イベント
Azure Blob Storageへの様々なアクセス方法を比べてみた JAZUG12周年イベントShingo Kawahara
 
Azure App Service Overview
Azure App Service OverviewAzure App Service Overview
Azure App Service OverviewTakeshi Fukuhara
 
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話Daichi Koike
 
KeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについてKeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについてHiroyuki Wada
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAkihiro Kuwano
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021Hiroshi Tokumaru
 
Azure Cosmos DB のキホンと使いドコロ
Azure Cosmos DB のキホンと使いドコロAzure Cosmos DB のキホンと使いドコロ
Azure Cosmos DB のキホンと使いドコロKazuyuki Miyake
 

Tendances (20)

OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
 
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
 
Keycloakの最近のトピック
Keycloakの最近のトピックKeycloakの最近のトピック
Keycloakの最近のトピック
 
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
 
Keycloak & midPoint の紹介
Keycloak & midPoint の紹介Keycloak & midPoint の紹介
Keycloak & midPoint の紹介
 
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介
 
認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜
 
Helidon 概要
Helidon 概要Helidon 概要
Helidon 概要
 
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
 
Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策
 
Serverless時代のJavaについて
Serverless時代のJavaについてServerless時代のJavaについて
Serverless時代のJavaについて
 
Azure Blob Storageへの様々なアクセス方法を比べてみた JAZUG12周年イベント
Azure Blob Storageへの様々なアクセス方法を比べてみた JAZUG12周年イベントAzure Blob Storageへの様々なアクセス方法を比べてみた JAZUG12周年イベント
Azure Blob Storageへの様々なアクセス方法を比べてみた JAZUG12周年イベント
 
Azure App Service Overview
Azure App Service OverviewAzure App Service Overview
Azure App Service Overview
 
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
 
KeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについてKeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについて
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
Azure Cosmos DB のキホンと使いドコロ
Azure Cosmos DB のキホンと使いドコロAzure Cosmos DB のキホンと使いドコロ
Azure Cosmos DB のキホンと使いドコロ
 

Similaire à 最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~

パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可Hitachi, Ltd. OSS Solution Center.
 
社内認証基盤用のVault Pluginを作るメリット
社内認証基盤用のVault Pluginを作るメリット社内認証基盤用のVault Pluginを作るメリット
社内認証基盤用のVault Pluginを作るメリットKatsuya Yamaguchi
 
Microsoft MVP から見たクラウド サービスの現状と今後について
Microsoft MVP から見たクラウド サービスの現状と今後についてMicrosoft MVP から見たクラウド サービスの現状と今後について
Microsoft MVP から見たクラウド サービスの現状と今後についてIIJ
 
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬日本マイクロソフト株式会社
 
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Shinichiro Arai
 
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)オラクルエンジニア通信
 
Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402IO Architect Inc.
 
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20Ryusuke Kajiyama
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したことAmazon Web Services Japan
 
見せてもらおうか、新しい Microsoft Edge の性能とやらを
見せてもらおうか、新しい Microsoft Edge の性能とやらを見せてもらおうか、新しい Microsoft Edge の性能とやらを
見せてもらおうか、新しい Microsoft Edge の性能とやらを彰 村地
 
OCHaCafe2#5 変幻自在♪ 広がるKubernetesのエコシステム
OCHaCafe2#5 変幻自在♪ 広がるKubernetesのエコシステムOCHaCafe2#5 変幻自在♪ 広がるKubernetesのエコシステム
OCHaCafe2#5 変幻自在♪ 広がるKubernetesのエコシステムオラクルエンジニア通信
 
AIP改め、MIP_20230128_it.pdf
AIP改め、MIP_20230128_it.pdfAIP改め、MIP_20230128_it.pdf
AIP改め、MIP_20230128_it.pdftomokoitoda1
 
AIP改め、MIP_20230128_it.pdf
AIP改め、MIP_20230128_it.pdfAIP改め、MIP_20230128_it.pdf
AIP改め、MIP_20230128_it.pdftomokoitoda1
 
お客様からのセキュリティチェックを乗り越えるための SaaS のアプローチ.pptx
お客様からのセキュリティチェックを乗り越えるための SaaS のアプローチ.pptxお客様からのセキュリティチェックを乗り越えるための SaaS のアプローチ.pptx
お客様からのセキュリティチェックを乗り越えるための SaaS のアプローチ.pptxmkoda
 

Similaire à 最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~ (20)

パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
 
社内認証基盤用のVault Pluginを作るメリット
社内認証基盤用のVault Pluginを作るメリット社内認証基盤用のVault Pluginを作るメリット
社内認証基盤用のVault Pluginを作るメリット
 
Microsoft MVP から見たクラウド サービスの現状と今後について
Microsoft MVP から見たクラウド サービスの現状と今後についてMicrosoft MVP から見たクラウド サービスの現状と今後について
Microsoft MVP から見たクラウド サービスの現状と今後について
 
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
 
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
 
【2018年3月時点】Oracle BI 12c 新機能
【2018年3月時点】Oracle BI 12c 新機能【2018年3月時点】Oracle BI 12c 新機能
【2018年3月時点】Oracle BI 12c 新機能
 
「明日の認証会議 3」講演用スライド 20141002(配布用)
「明日の認証会議 3」講演用スライド 20141002(配布用)「明日の認証会議 3」講演用スライド 20141002(配布用)
「明日の認証会議 3」講演用スライド 20141002(配布用)
 
Innovation and Startups Today
Innovation and Startups TodayInnovation and Startups Today
Innovation and Startups Today
 
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
 
Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402
 
Nsx t api-automation_202103
Nsx t api-automation_202103Nsx t api-automation_202103
Nsx t api-automation_202103
 
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと
 
見せてもらおうか、新しい Microsoft Edge の性能とやらを
見せてもらおうか、新しい Microsoft Edge の性能とやらを見せてもらおうか、新しい Microsoft Edge の性能とやらを
見せてもらおうか、新しい Microsoft Edge の性能とやらを
 
Workspace ONE PoC Guide Chapter 3 Office365 Integration v1.1
Workspace ONE PoC Guide Chapter 3 Office365 Integration v1.1Workspace ONE PoC Guide Chapter 3 Office365 Integration v1.1
Workspace ONE PoC Guide Chapter 3 Office365 Integration v1.1
 
Oss事例紹介資料20141111 明日の認証会議 掲載用
Oss事例紹介資料20141111 明日の認証会議 掲載用Oss事例紹介資料20141111 明日の認証会議 掲載用
Oss事例紹介資料20141111 明日の認証会議 掲載用
 
OCHaCafe2#5 変幻自在♪ 広がるKubernetesのエコシステム
OCHaCafe2#5 変幻自在♪ 広がるKubernetesのエコシステムOCHaCafe2#5 変幻自在♪ 広がるKubernetesのエコシステム
OCHaCafe2#5 変幻自在♪ 広がるKubernetesのエコシステム
 
AIP改め、MIP_20230128_it.pdf
AIP改め、MIP_20230128_it.pdfAIP改め、MIP_20230128_it.pdf
AIP改め、MIP_20230128_it.pdf
 
AIP改め、MIP_20230128_it.pdf
AIP改め、MIP_20230128_it.pdfAIP改め、MIP_20230128_it.pdf
AIP改め、MIP_20230128_it.pdf
 
お客様からのセキュリティチェックを乗り越えるための SaaS のアプローチ.pptx
お客様からのセキュリティチェックを乗り越えるための SaaS のアプローチ.pptxお客様からのセキュリティチェックを乗り越えるための SaaS のアプローチ.pptx
お客様からのセキュリティチェックを乗り越えるための SaaS のアプローチ.pptx
 

Plus de Hitachi, Ltd. OSS Solution Center.

Guide of authentication and authorization for cloud native applications with ...
Guide of authentication and authorization for cloud native applications with ...Guide of authentication and authorization for cloud native applications with ...
Guide of authentication and authorization for cloud native applications with ...Hitachi, Ltd. OSS Solution Center.
 
KeycloakのCNCF incubating project入りまでのアップストリーム活動の歩み
KeycloakのCNCF incubating project入りまでのアップストリーム活動の歩みKeycloakのCNCF incubating project入りまでのアップストリーム活動の歩み
KeycloakのCNCF incubating project入りまでのアップストリーム活動の歩みHitachi, Ltd. OSS Solution Center.
 
KubeCon NA 2023 Recap: Challenge to Implementing “Scalable” Authorization wit...
KubeCon NA 2023 Recap: Challenge to Implementing “Scalable” Authorization wit...KubeCon NA 2023 Recap: Challenge to Implementing “Scalable” Authorization wit...
KubeCon NA 2023 Recap: Challenge to Implementing “Scalable” Authorization wit...Hitachi, Ltd. OSS Solution Center.
 
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
 
Challenge to Implementing "Scalable" Authorization with Keycloak
Challenge to Implementing "Scalable" Authorization with KeycloakChallenge to Implementing "Scalable" Authorization with Keycloak
Challenge to Implementing "Scalable" Authorization with KeycloakHitachi, Ltd. OSS Solution Center.
 
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開するKeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開するHitachi, Ltd. OSS Solution Center.
 
Why Assertion-based Access Token is preferred to Handle-based one?
Why Assertion-based Access Token is preferred to Handle-based one?Why Assertion-based Access Token is preferred to Handle-based one?
Why Assertion-based Access Token is preferred to Handle-based one?Hitachi, Ltd. OSS Solution Center.
 
What API Specifications and Tools Help Engineers to Construct a High-Security...
What API Specifications and Tools Help Engineers to Construct a High-Security...What API Specifications and Tools Help Engineers to Construct a High-Security...
What API Specifications and Tools Help Engineers to Construct a High-Security...Hitachi, Ltd. OSS Solution Center.
 
Implementing security and availability requirements for banking API system us...
Implementing security and availability requirements for banking API system us...Implementing security and availability requirements for banking API system us...
Implementing security and availability requirements for banking API system us...Hitachi, Ltd. OSS Solution Center.
 
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...Hitachi, Ltd. OSS Solution Center.
 
Overall pictures of Identity provider mix-up attack patterns and trade-offs b...
Overall pictures of Identity provider mix-up attack patterns and trade-offs b...Overall pictures of Identity provider mix-up attack patterns and trade-offs b...
Overall pictures of Identity provider mix-up attack patterns and trade-offs b...Hitachi, Ltd. OSS Solution Center.
 

Plus de Hitachi, Ltd. OSS Solution Center. (20)

Guide of authentication and authorization for cloud native applications with ...
Guide of authentication and authorization for cloud native applications with ...Guide of authentication and authorization for cloud native applications with ...
Guide of authentication and authorization for cloud native applications with ...
 
KeycloakのCNCF incubating project入りまでのアップストリーム活動の歩み
KeycloakのCNCF incubating project入りまでのアップストリーム活動の歩みKeycloakのCNCF incubating project入りまでのアップストリーム活動の歩み
KeycloakのCNCF incubating project入りまでのアップストリーム活動の歩み
 
KubeCon NA 2023 Recap: Challenge to Implementing “Scalable” Authorization wit...
KubeCon NA 2023 Recap: Challenge to Implementing “Scalable” Authorization wit...KubeCon NA 2023 Recap: Challenge to Implementing “Scalable” Authorization wit...
KubeCon NA 2023 Recap: Challenge to Implementing “Scalable” Authorization wit...
 
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
 
Challenge to Implementing "Scalable" Authorization with Keycloak
Challenge to Implementing "Scalable" Authorization with KeycloakChallenge to Implementing "Scalable" Authorization with Keycloak
Challenge to Implementing "Scalable" Authorization with Keycloak
 
KubeConRecap_nakamura.pdf
KubeConRecap_nakamura.pdfKubeConRecap_nakamura.pdf
KubeConRecap_nakamura.pdf
 
NGINXでの認可について考える
NGINXでの認可について考えるNGINXでの認可について考える
NGINXでの認可について考える
 
Security Considerations for API Gateway Aggregation
Security Considerations for API Gateway AggregationSecurity Considerations for API Gateway Aggregation
Security Considerations for API Gateway Aggregation
 
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開するKeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
 
IDガバナンス&管理の基礎
IDガバナンス&管理の基礎IDガバナンス&管理の基礎
IDガバナンス&管理の基礎
 
Why Assertion-based Access Token is preferred to Handle-based one?
Why Assertion-based Access Token is preferred to Handle-based one?Why Assertion-based Access Token is preferred to Handle-based one?
Why Assertion-based Access Token is preferred to Handle-based one?
 
What API Specifications and Tools Help Engineers to Construct a High-Security...
What API Specifications and Tools Help Engineers to Construct a High-Security...What API Specifications and Tools Help Engineers to Construct a High-Security...
What API Specifications and Tools Help Engineers to Construct a High-Security...
 
Implementing security and availability requirements for banking API system us...
Implementing security and availability requirements for banking API system us...Implementing security and availability requirements for banking API system us...
Implementing security and availability requirements for banking API system us...
 
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
 
Overall pictures of Identity provider mix-up attack patterns and trade-offs b...
Overall pictures of Identity provider mix-up attack patterns and trade-offs b...Overall pictures of Identity provider mix-up attack patterns and trade-offs b...
Overall pictures of Identity provider mix-up attack patterns and trade-offs b...
 
Apache con@home 2021_sha
Apache con@home 2021_shaApache con@home 2021_sha
Apache con@home 2021_sha
 
Node-RED Installer, Standalone Installer using Electron
Node-RED Installer, Standalone Installer using ElectronNode-RED Installer, Standalone Installer using Electron
Node-RED Installer, Standalone Installer using Electron
 
Hacktoberfest 概要、Node-REDプロジェクト貢献手順
Hacktoberfest 概要、Node-REDプロジェクト貢献手順Hacktoberfest 概要、Node-REDプロジェクト貢献手順
Hacktoberfest 概要、Node-REDプロジェクト貢献手順
 
Node-RED v2.0新機能紹介
Node-RED v2.0新機能紹介Node-RED v2.0新機能紹介
Node-RED v2.0新機能紹介
 
Node-REDからREST APIに接続
Node-REDからREST APIに接続Node-REDからREST APIに接続
Node-REDからREST APIに接続
 

最近の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. 15 © Hitachi, Ltd. 2021. All rights reserved. FAPIとは (2/3) ~FAPIの歴史~ 2021/3 2021/3 まだ まだ
  • 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. 18 © Hitachi, Ltd. 2021. All rights reserved. (デモ)
  • 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.