Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
CASAREAL, Inc.
151 views
株式会社カサレアル 山本による講演「認証・認可におけるKeycloakの活用」の資料
2024年7月24日開催 テクマトリックス株式会社主催セミナー 『セキュアなWebアプリケーション きほんのき -OAuth/OIDCによる認証・認可、セキュリティ強化の方法-』 での講演資料です。
Technology
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 51
2
/ 51
3
/ 51
4
/ 51
5
/ 51
6
/ 51
7
/ 51
8
/ 51
9
/ 51
10
/ 51
11
/ 51
12
/ 51
13
/ 51
14
/ 51
15
/ 51
16
/ 51
17
/ 51
18
/ 51
19
/ 51
20
/ 51
21
/ 51
22
/ 51
23
/ 51
24
/ 51
25
/ 51
26
/ 51
27
/ 51
28
/ 51
29
/ 51
30
/ 51
31
/ 51
32
/ 51
33
/ 51
34
/ 51
35
/ 51
36
/ 51
37
/ 51
38
/ 51
39
/ 51
40
/ 51
41
/ 51
42
/ 51
43
/ 51
44
/ 51
45
/ 51
46
/ 51
47
/ 51
48
/ 51
49
/ 51
50
/ 51
51
/ 51
More Related Content
PDF
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
by
Hitachi, Ltd. OSS Solution Center.
PDF
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
by
Tatsuo Kudo
PPTX
KeycloakでAPI認可に入門する
by
Hitachi, Ltd. OSS Solution Center.
PPTX
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
by
Hitachi, Ltd. OSS Solution Center.
PPTX
Keycloakのステップアップ認証について
by
Hitachi, Ltd. OSS Solution Center.
PDF
OAuth2.0によるWeb APIの保護
by
Naohiro Fujie
PDF
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
by
Tatsuo Kudo
PDF
API提供におけるOAuthの役割 #apijp
by
Tatsuo Kudo
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
by
Hitachi, Ltd. OSS Solution Center.
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
by
Tatsuo Kudo
KeycloakでAPI認可に入門する
by
Hitachi, Ltd. OSS Solution Center.
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
by
Hitachi, Ltd. OSS Solution Center.
Keycloakのステップアップ認証について
by
Hitachi, Ltd. OSS Solution Center.
OAuth2.0によるWeb APIの保護
by
Naohiro Fujie
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
by
Tatsuo Kudo
API提供におけるOAuthの役割 #apijp
by
Tatsuo Kudo
Similar to 株式会社カサレアル 山本による講演「認証・認可におけるKeycloakの活用」の資料
PDF
Authentication and Authorization of The Latest Keycloak
by
Hitachi, Ltd. OSS Solution Center.
PDF
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
by
Tatsuo Kudo
PDF
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
by
Tatsuo Kudo
PDF
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)
by
Yoko TAMADA
PDF
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
by
Tatsuo Kudo
PDF
金融向けoへの認証の導入
by
FIDO Alliance
PPTX
Keycloak入門
by
Hiroyuki Wada
PPTX
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
by
Hitachi, Ltd. OSS Solution Center.
PPTX
NGINXでの認可について考える
by
Hitachi, Ltd. OSS Solution Center.
PDF
Keycloakの最近のトピック
by
Hitachi, Ltd. OSS Solution Center.
PDF
Financial-grade API Hands-on with Authlete
by
Tatsuo Kudo
PPTX
Keycloak入門-OpenID ConnectによるAPIセキュリティ
by
Yuichi Nakamura
PPTX
FAPI and beyond - よりよいセキュリティのために
by
Nat Sakimura
PDF
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
by
FinTechLabs.io
PPTX
Keycloakの紹介と最新開発動向
by
Yuichi Nakamura
PDF
OAuth 2.0の概要とセキュリティ
by
Hiroshi Hayakawa
PDF
Keycloakの動向
by
Yuichi Nakamura
PDF
利用者本位のAPI提供に向けたアイデンティティ (ID) 標準仕様の動向
by
Tatsuo Kudo
PDF
認証の課題とID連携の実装 〜ハンズオン〜
by
Masaru Kurahayashi
PDF
OpenID Connect, December 2011
by
Tatsuo Kudo
Authentication and Authorization of The Latest Keycloak
by
Hitachi, Ltd. OSS Solution Center.
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
by
Tatsuo Kudo
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
by
Tatsuo Kudo
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)
by
Yoko TAMADA
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
by
Tatsuo Kudo
金融向けoへの認証の導入
by
FIDO Alliance
Keycloak入門
by
Hiroyuki Wada
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
by
Hitachi, Ltd. OSS Solution Center.
NGINXでの認可について考える
by
Hitachi, Ltd. OSS Solution Center.
Keycloakの最近のトピック
by
Hitachi, Ltd. OSS Solution Center.
Financial-grade API Hands-on with Authlete
by
Tatsuo Kudo
Keycloak入門-OpenID ConnectによるAPIセキュリティ
by
Yuichi Nakamura
FAPI and beyond - よりよいセキュリティのために
by
Nat Sakimura
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
by
FinTechLabs.io
Keycloakの紹介と最新開発動向
by
Yuichi Nakamura
OAuth 2.0の概要とセキュリティ
by
Hiroshi Hayakawa
Keycloakの動向
by
Yuichi Nakamura
利用者本位のAPI提供に向けたアイデンティティ (ID) 標準仕様の動向
by
Tatsuo Kudo
認証の課題とID連携の実装 〜ハンズオン〜
by
Masaru Kurahayashi
OpenID Connect, December 2011
by
Tatsuo Kudo
More from CASAREAL, Inc.
PDF
Platform Engineeringをビジネスとして立ち上げて、そこから見えてきたもの
by
CASAREAL, Inc.
PDF
マイクロサービスアーキテクチャへのモチベーション整理とその複雑性に対する落としどころ
by
CASAREAL, Inc.
PDF
vClusterを活用したKubernetes環境の最適化とバージョンアップ検証
by
CASAREAL, Inc.
PDF
クラスターを分割するという運用の現実解
by
CASAREAL, Inc.
PDF
とある研修講師から見たJavaScript動向
by
CASAREAL, Inc.
PDF
211117 microserviceswebinar
by
CASAREAL, Inc.
PDF
Cndt2021 casareal
by
CASAREAL, Inc.
PDF
DevOpsの3.5次元的解釈に基づくCI/CDパイプライン設計
by
CASAREAL, Inc.
PDF
これやったの誰?
by
CASAREAL, Inc.
PDF
DevOpsに求められる様々な技術とその連携の学習方法
by
CASAREAL, Inc.
PDF
これからの時代に求められるエンジニアの育成とは
by
CASAREAL, Inc.
PDF
IT人材ラボ Day 2019 Summer 新人から変える!イマドキの顧客ニーズに適用する新人研修
by
CASAREAL, Inc.
PDF
JJUG会長と一緒に考えたSpring Boot x JavaScript x IntelliJ x アジャイルというモダンな新人研修を今まさにやっている話
by
CASAREAL, Inc.
PDF
DevRelConTokyo2019_CasarealLT
by
CASAREAL, Inc.
PPTX
Pivotal Cloud Foundry 2.3: A First Look
by
CASAREAL, Inc.
PDF
SpringOneでの3⽇間とSpring 5.1最新情報
by
CASAREAL, Inc.
PDF
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
by
CASAREAL, Inc.
PPTX
SpringOne Platform Replay -Pivotal Cloud Foundry-
by
CASAREAL, Inc.
PDF
SpringOne Platform について
by
CASAREAL, Inc.
PDF
開発現場から考えるプロジェクトで活躍する新入社員の育て方とは?
by
CASAREAL, Inc.
Platform Engineeringをビジネスとして立ち上げて、そこから見えてきたもの
by
CASAREAL, Inc.
マイクロサービスアーキテクチャへのモチベーション整理とその複雑性に対する落としどころ
by
CASAREAL, Inc.
vClusterを活用したKubernetes環境の最適化とバージョンアップ検証
by
CASAREAL, Inc.
クラスターを分割するという運用の現実解
by
CASAREAL, Inc.
とある研修講師から見たJavaScript動向
by
CASAREAL, Inc.
211117 microserviceswebinar
by
CASAREAL, Inc.
Cndt2021 casareal
by
CASAREAL, Inc.
DevOpsの3.5次元的解釈に基づくCI/CDパイプライン設計
by
CASAREAL, Inc.
これやったの誰?
by
CASAREAL, Inc.
DevOpsに求められる様々な技術とその連携の学習方法
by
CASAREAL, Inc.
これからの時代に求められるエンジニアの育成とは
by
CASAREAL, Inc.
IT人材ラボ Day 2019 Summer 新人から変える!イマドキの顧客ニーズに適用する新人研修
by
CASAREAL, Inc.
JJUG会長と一緒に考えたSpring Boot x JavaScript x IntelliJ x アジャイルというモダンな新人研修を今まさにやっている話
by
CASAREAL, Inc.
DevRelConTokyo2019_CasarealLT
by
CASAREAL, Inc.
Pivotal Cloud Foundry 2.3: A First Look
by
CASAREAL, Inc.
SpringOneでの3⽇間とSpring 5.1最新情報
by
CASAREAL, Inc.
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
by
CASAREAL, Inc.
SpringOne Platform Replay -Pivotal Cloud Foundry-
by
CASAREAL, Inc.
SpringOne Platform について
by
CASAREAL, Inc.
開発現場から考えるプロジェクトで活躍する新入社員の育て方とは?
by
CASAREAL, Inc.
Recently uploaded
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
PDF
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
PDF
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
PDF
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
PDF
Drupal Recipes 解説 .
by
iPride Co., Ltd.
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
PPTX
ddevについて .
by
iPride Co., Ltd.
PDF
さくらインターネットの今 法林リージョン:さくらのAIとか GPUとかイベントとか 〜2026年もバク進します!〜
by
法林浩之
PDF
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版
by
sorabatake
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
Drupal Recipes 解説 .
by
iPride Co., Ltd.
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
ddevについて .
by
iPride Co., Ltd.
さくらインターネットの今 法林リージョン:さくらのAIとか GPUとかイベントとか 〜2026年もバク進します!〜
by
法林浩之
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版
by
sorabatake
株式会社カサレアル 山本による講演「認証・認可におけるKeycloakの活用」の資料
1.
認証・認可における Keycloakの活用 株式会社カサレアル プロフェッショナルソリューション第1技術部 山本 薫 © CASAREAL,
Inc. All rights reserved.
2.
アジェンダ • カサレアルについて • 認証・認可とその課題 •
OAuth/OpenID Connectについて • 認証・認可の流れ • Keyclaokの利用 • 動作確認(デモ) • まとめ © CASAREAL, Inc. All rights reserved.
3.
カサレアルについて © CASAREAL, Inc.
All rights reserved.
4.
株式会社カサレアル © CASAREAL, Inc.
All rights reserved. ラーニングサービス 技術者育成 オープン研修 カスタムメイド研修 新入社員研修 技術定着化ワークショップ オリジナル教材販売 プロフェッショナル サービス クラウドネイティブ推進支援 GitLabソリューション 導入トレーニング クラウドネイティブ 推進支援サービス ビジネスソリューション サービス 受託開発・SES システム構築サービス 開発支援サービス パッケージサービス
5.
認証・認可とその課題 © CASAREAL, Inc.
All rights reserved.
6.
認証と認可について • 認証(Authentication) • システムを利用する対象を特定し本物であることを検証すること •
認可(Authorization) • リソースに対するアクセス権があるか判断し許可/拒否すること © CASAREAL, Inc. All rights reserved. アプリケーションにおけるセキュリティー確保の もっとも基本的な機能
7.
これまでのアプリケーション © CASAREAL, Inc.
All rights reserved. アプリケーション データベース 1つのアプリケーションだけで認証・認可を実現 良くも悪くもすべてコントロール可能 認証・認可 認証情報
8.
しかし、最近のアプリケーションは… © CASAREAL, Inc.
All rights reserved. サービス 3rd Party サービス サービス サービス SPA(Single Page Application)や マイクロサービス・アーキテクチャーの普及により 高度な分散システムへ SPA
9.
認証・認可の課題(その1) © CASAREAL, Inc.
All rights reserved. すべてのサービスに直接アクセスさせるのは危険! それぞれのサービスでアカウント管理するのも無駄! 集中管理するサービスが必要 どこに配置して 誰が管理する? 認証情報
10.
認証・認可の課題(その2) © CASAREAL, Inc.
All rights reserved. サービス 3rd Party ユーザーのクレデンシャルを渡すのは論外! 認証・認可されたことを表現する情報が必要 どのようにして 第三者にアクセスを 許可する?
11.
認証・認可の課題(その3) © CASAREAL, Inc.
All rights reserved. サービス 3rd Party サービス サービス サービス 平文での受け渡しは危険! 偽装・漏洩・改ざんされない仕組みが必要 SPA どのようにして 認証・認可の情報 を安全に受け渡す?
12.
課題を解決するために • シングル・サイン・オン(SSO) • 1回の認証で複数のシステムを利用可能にするソリューション •
標準規格としてSAMLとOAuth/OpenID Connectが存在 • SAML(Security Assertion Markup Language) • XMLをベースとした認証・認可方式を提供 • 長い歴史があり社内システムを中心に多くのシステムで採用 • しかし、現在のWebシステムには重厚すぎると感じている人が多い © CASAREAL, Inc. All rights reserved. ⇨ OAuth/OpenID Connectの採用が広まる
13.
OAuth/OpenID Connect について © CASAREAL,
Inc. All rights reserved.
14.
OAuthとは? • 3rd Partyアプリケーションに対する認可の標準規格 •
RFC6749: The OAuth 2.0 Authorization Framework、etc. • 特徴 • アクセス・トークン(認可情報)の発行・受け渡しについて規定 • 認可コード・フローなど、目的に応じた複数のフローを定義 • 注意すべき点 • 認証については扱っていない • 現在、OAuth 2.1の仕様策定が進行中(非推奨・削除項目あり) © CASAREAL, Inc. All rights reserved.
15.
一目でわかるOAuth © CASAREAL, Inc.
All rights reserved. SNS Z 次のアプリケーションが連携を求めています。 許可しますか? チャット・ボットα • プロフィールの読み取り • 連絡先の読み取り • メッセージの投稿 はい いいえ
16.
OpenID Connectとは? • 複数サービスにまたがる認証・認可に関する標準規格 •
OpenID Connect Core 1.0 • OpenID Connect Discovery 1.0 • OpenID Connect Session Management 1.0 • etc. • 特徴 • OAuth 2.0を拡張 • 認証フローやIDトークン(認証情報)の発行・受け渡しについて定義 • IDトークンの形式にJWTを採用 © CASAREAL, Inc. All rights reserved.
17.
一目でわかるOpenID Connect © CASAREAL,
Inc. All rights reserved. SNS Z サイン・イン ユーザーID パスワード または次でサイン・インします Google GitLab
18.
JWTとは? • JSONをベースとしたトークン形式の標準規格 • RFC7519:
JSON Web Token (JWT) • RFC7515: JSON Web Signature (JWS) • RFC7516: JSON Web Encryption (JWE) • RFC7517: JSON Web Key (JWK) • RFC7518: JSON Web Algorithms (JWA) • 特徴 • 様々な情報を含むトークンをコンパクトな文字列表現として扱える • 暗号化や署名により偽装や改ざんが困難 © CASAREAL, Inc. All rights reserved.
19.
一目でわかるJWT © CASAREAL, Inc.
All rights reserved. https://jwt.io/
20.
認証・認可の流れ © CASAREAL, Inc.
All rights reserved.
21.
OAuth 2.0で定義されているフロー • 認可コード・フロー •
インプリシット・フロー • リソース・オーナー ・パスワード・クレデンシャル・フロー • クライアント・クレデンシャル・フロー • デバイス・フロー © CASAREAL, Inc. All rights reserved. 非推奨
22.
OpenID Connectで定義されているフロー • 認可コード・フロー •
インプリシット・フロー • ハイブリッド・フロー • CIBA(Client-Initiated Backchannel Authentication)フロー © CASAREAL, Inc. All rights reserved. 今回はOIDC認可コード・フローを利用して SPAがWeb APIを呼び出す流れを説明します 非推奨
23.
まずは用語について • 登場人物 • エンド・ユーザー •
システムを利用する人 • OpenIDプロバイダー • 認証を行い各種トークンを発行す るサーバー • クライアント(Relying Party) • 認証やトークンを要求するアプリ ケーション • リソース・サーバー • リソースを提供するサーバー • やり取りされる情報 • 認可コード • クライアントがエンド・ユーザー により認可されたことを示す情報 • IDトークン • 認証されたエンド・ユーザーに関 する情報 • アクセス・トークン • クライアントに与えられたアクセ ス権を示す情報 • リフレッシュ・トークン • 有効期限が切れたアクセス・トー クンを更新するために必要な情報 © CASAREAL, Inc. All rights reserved.
24.
認証・認可の流れ(アプリケーション実行) © CASAREAL, Inc.
All rights reserved. OpenID プロバイダー クライアント (Webサーバー) リソース ・サーバー (Web API) Webブラウザー クライアント (SPA) URL 認証情報
25.
認証・認可の流れ(ユーザー認証の要求) © CASAREAL, Inc.
All rights reserved. OpenID プロバイダー クライアント (Webサーバー) リソース ・サーバー (Web API) Webブラウザー クライアント (SPA) サイン・イン ・ページ An Req ※An Req = 認証リクエスト(クライアントID、リダイレクトURI、レスポンス・タイプ、スコープ、etc.) An Req 認証情報
26.
認証・認可の流れ(認証と認可コード発行) © CASAREAL, Inc.
All rights reserved. クライアント (Webサーバー) リソース ・サーバー (Web API) Webブラウザー クライアント (SPA) サイン・イン ・ページ OpenID プロバイダー Az Code Az Code ※Az Code = 認可コード An Req 認証情報
27.
認証・認可の流れ(各種トークンの取得) © CASAREAL, Inc.
All rights reserved. OpenID プロバイダー クライアント (Webサーバー) リソース ・サーバー (Web API) Webブラウザー クライアント (SPA) Az Code ID Token Ac Token Ref Token ※ID Token = IDトークン、Ac Token = アクセス・トークン、Ref Token = リフレッシュ・トークン ID Ac Ref 認証情報 Az Code
28.
認証・認可の流れ(リソースへのアクセス) © CASAREAL, Inc.
All rights reserved. OpenID プロバイダー リソース ・サーバー (Web API) Webブラウザー クライアント (SPA) Ac Token Ac Token ID Ac Ref 認証情報 リソース
29.
認証・認可の流れ(トークンの更新) © CASAREAL, Inc.
All rights reserved. OpenID プロバイダー クライアント (Webサーバー) リソース ・サーバー (Web API) Webブラウザー クライアント (SPA) Ref Token Ac Token Ref Token ※ID Token = IDトークン、Ac Token = アクセス・トークン、Ref Token = リフレッシュ・トークン ID Ac Ref New! 認証情報
30.
Keyclaokの利用 © CASAREAL, Inc.
All rights reserved.
31.
サンプル・アプリケーションの構成 © CASAREAL, Inc.
All rights reserved. OpenID プロバイダー クライアント (Webサーバー) リソース ・サーバー (Web API) Webブラウザー クライアント (SPA) 認証情報 サイン・イン ・ページ
32.
Keycloakとは? • オープン・ソースのOpenIDプロバイダー • CNCFインキュベーション・プロジェクトとして開発されている •
Red Hat社による強力なサポートにより人気が高い • OAuth/OpenID ConnectおよびSAMLをサポート • OpenID ConnectにおいてはFinancial-grade API (FAPI)認定 • クラウド・ネイティブに対応 • Java + Quarkusで実装 • コンテナ・イメージとして利用可能 © CASAREAL, Inc. All rights reserved.
33.
Keycloakの実行(Docker Compose) © CASAREAL,
Inc. All rights reserved. services: keycloak: image: quay.io/keycloak/keycloak:25.0.1 ports: - "8080:8080" restart: always environment: KEYCLOAK_ADMIN: admin KEYCLOAK_ADMIN_PASSWORD: P@ssw0rd command: start-dev /keycloak-sample/compose.yaml $ cd keycloak-sample keycloak-sample $ docker compose up -d Docker Compose を利用すれば 簡単に実行できる (※開発モード)
34.
レルムの作成 • レルムとは? • 同一の認証情報で 管理できる範囲のこと •
レルムの中にユーザーや ロール、クライアント などを登録する © CASAREAL, Inc. All rights reserved.
35.
クライアントの登録 • クライアントID • クライアント・タイプ •
コンフィデンシャル・アクセス • パブリック・アクセス • 認証フロー • 各種OAuth/OIDCのフロー • 各種URI • 有効なリダイレクトURI • Webオリジン • etc. © CASAREAL, Inc. All rights reserved.
36.
ロールの作成 • ロールの種類 • レルム・ロール •
クライアント・ロール © CASAREAL, Inc. All rights reserved.
37.
ユーザーとグループの作成 © CASAREAL, Inc.
All rights reserved.
38.
ロールの割り当て • 割り当て対象 • グループ •
ユーザー • 他のロール © CASAREAL, Inc. All rights reserved.
39.
クライアント・スコープの作成 • リソースのアクセス範囲を表現 • OIDC:プロフィール、メール・アドレス、住所、etc. •
OAuth:例)項目の参照、項目の編集、etc. • 目的に応じて権限の付与方法が異なる • ユーザーの権限:ロール(およびクライアント)に関連づける • クライアントの権限:クライアントに関連づける • マッパーを利用してトークンにその他の情報を追加 © CASAREAL, Inc. All rights reserved.
40.
Spring Bootの実装(リソース・サーバー) © CASAREAL,
Inc. All rights reserved. 依存関係に OAuth2 Resource Serverを追加
41.
Spring Bootの実装(リソース・サーバー) © CASAREAL,
Inc. All rights reserved. spring: security: oauth2: resourceserver: jwt: issuer-uri: http://localhost:8080/realms/todo application.yaml アプリケーション設定ファイルに レルムのベースURIを記述
42.
Spring Bootの実装(リソース・サーバー) © CASAREAL,
Inc. All rights reserved. @Configuration @EnableWebSecurity @EnableMethodSecurity public class SecurityConfig { @Bean public SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws Exception { httpSecurity .authorizeHttpRequests(authorize -> authorize .anyRequest().authenticated()) .oauth2ResourceServer(oauth2 -> oauth2.jwt(Customizer.withDefaults())); return httpSecurity.build(); } } SecurityConfig.java JWT Bearerトークンを 検証するように構成
43.
Spring Bootの実装(リソース・サーバー) © CASAREAL,
Inc. All rights reserved. @RestController @RequestMapping("/todos") public class TodoController { @GetMapping @PreAuthorize("hasAuthority('SCOPE_todo:view')") public List<Todo> getAll() { return todos; } } TodoController.java コントローラーのメソッドに アノテーションを付与して JWTのスコープを検証
44.
JavaScriptの実装(SPAクライアント) © CASAREAL, Inc.
All rights reserved. "dependencies": { "keycloak-js": "^25.0.1", "vue": "^3.4.29" }, package.json 依存関係にkeycloak-js (Keycloak公式JavaScript アダプター)を追加
45.
JavaScriptの実装(SPAクライアント) © CASAREAL, Inc.
All rights reserved. const keycloak = new Keycloak({ url: ‘http://localhost:8080', realm: 'todo', clientId: 'todo-client', }); keycloak.init({ onLoad: 'check-sso’, checkLoginIframe: false, }).then(authenticated => { console.log(`User is ${authenticated ? 'authenticated' : 'not authenticated'}`); console.log(`Access Token is ${keycloak.token}`); }).catch(error => { console.error('Failed to initialize adapter:', error); }); OpenIDConnect.js OpenIDプロバイダーに 関する情報を指定して オブジェクトを生成 初期化と同時に ログイン・チェック
46.
JavaScriptの実装(SPAクライアント) • Keycloakオブジェクトの主要なプロパティ/メソッド • login()
: ログインを開始する • logout() : ログアウトする • updateToken() : 期限切れトークンを更新する • authenticated : 認証済み or 未認証 • token : アクセス・トークン • idToken : IDトークン • onTokenExpired : アクセス・トークン期限切れイベント・ハンド ラー • etc. © CASAREAL, Inc. All rights reserved.
47.
JavaScriptの実装(SPAクライアント) © CASAREAL, Inc.
All rights reserved. fetch(`${apiBaseUrl}/todos`, { headers: { 'Authorization': `Bearer ${keycloak.token}` } }).then(response => { if (response.ok) { return response.json(); } else { throw new Error(`API fetch failed.(status = ${response.status})`); } }).then(data => { items.value = data; }).catch(error => { console.error('Failed to initialize adapter:', error); }); OpenIDConnect.js Authorizationヘッダーに Bearerトークンとして アクセス・トークンを指定
48.
まとめ © CASAREAL, Inc.
All rights reserved.
49.
まとめ • OAuth/OpenID Connectは認証・認可の標準規格 •
分散Webシステムの認証・認可として広く普及 • Keycloakを利用すればOpenIDプロバイダーを簡単に利用可能 • 各種プログラミング言語のサポートも充実 © CASAREAL, Inc. All rights reserved.
50.
© CASAREAL, Inc.
All rights reserved. ご清聴ありがとうございました。
51.
© CASAREAL, Inc.
All rights reserved. 〒108-0075 東京都港区港南1-2-70品川シーズンテラス 24階 営業部 ソリューション営業課 03-4405-7866 (9:00~17:00) お問い合わせは下記へお気軽にご連絡ください。
Download