Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
オープンソースKeycloakのハンズオンで理解する認証と認可の基本
Search
raedion
October 27, 2024
Programming
550
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
オープンソースKeycloakのハンズオンで理解する認証と認可の基本
raedion
October 27, 2024
More Decks by raedion
See All by raedion
JJUGナイトセミナー「Java 26 リリース記念イベント」 - JEP525
raedion
0
26
生成AIを活用したリファクタリング実践 ~コードスメルをなくすためのアプローチ
raedion
1
3.3k
Other Decks in Programming
See All in Programming
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
170
OSINT for SRE: 学術論文とポストモーテムから探る システム障害の共通パターン / SRE NEXT 2026
tomoyk
1
3.6k
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
220
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
2.4k
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
act1-costs.pdf
sumedhbala
0
210
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
490
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
150
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
140
霧の中の代数的エフェクト
funnyycat
1
360
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
170
act2-costs.pdf
sumedhbala
0
110
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Docker and Python
trallard
47
3.9k
Building Adaptive Systems
keathley
44
3.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
320
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
AI: The stuff that nobody shows you
jnunemaker
PRO
8
830
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
250
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
410
Transcript
オープンソースKeycloakのハンズオンで理解する 認証と認可の基本 JJUG CCC 2024 Fall 2024年10月27日 raedion
1 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
本セッションの対象者と目標 ◼対象者 ⚫ セキュリティ、特に認証関連に何となく興味がある人 ◼目標 ⚫ 「認証と認可とは何か?」を理解してもらうこと • 前半は概念をざっくりと理解 • 後半はKeycloakで動きを見ながらイメージアップ ◼始める前に ⚫ 本発表では時間が限られているため、ハンズオンは発表者の手元で実施させていただきます汗 ⚫ ハンズオンの実施手順は後日GitHubページにて公開するため、こちらご参照ください。 はじめに
2 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
自己紹介 ◼raedion ◼株式会社野村総合研究所 ◼業務では認証認可サービスの構築・維持保守に従事 ⚫ をメインに扱っています ◼今後の目標:何かしらのOSSにコントリビューションしたい! はじめに サムネ:大学時代に食べていた天津麻婆丼
3 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
不正アクセスのセキュリティリスクへの関心度が高まっている イントロダクション (出所) https://www.ipa.go.jp/security/10threats/10threats2024.html 情報セキュリティ10大脅威 2024
4 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
攻撃者の主な侵入経路 ◼認証情報の侵害手法:クレデンシャルスタッフィング、ブルートフォース攻撃、etc イントロダクション 認証情報 フィッシング 脆弱性の悪用 (出所) ベライゾン「2024年度 データ漏洩/侵害調査報告書(DBIR)」 20% 40% 60% 80% 100% 0%
5 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
アクセス制御が重要 認証と認可について 理解しましょう
認証と認可とは?
7 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
認証と認可 ◼認証と認可はセットで語られることが多いが別の概念である。 認証と認可とは? アクセスした人が 本当にその人か確認する 権限を持つ人のみが リソースを利用できるよう制御する 買い物する ログインする 認証 認可 Amazonのログイン画面* Amazonサイト* * (出所) https://www.amazon.co.jp/
8 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
認証とは。。。 認証:あなたは誰?本当に◦◦さん? アクセスした人が本当にその人か確認すること 認証と認可とは? 必要な情報を 入力 確認結果を 返す ユーザ 認証サービス (パスワード認証の例) 入力された 情報を確認 ID ・・・・ Password
9 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
認証には色々な方法があり、組合せることでセキュリティが向上 ◼認証の種類 ⚫ 知識情報ベース • パスワードなど ⚫ 生体情報ベース • 指紋や顔判別など ⚫ 所持情報ベース • スマホのワンタイムパスワードなど ◼認証を多要素にすることでセキュリティが向上する 認証と認可とは? パスワード認証 サービス 指紋認証 〇 パスワードが漏れても指紋認証があるので不正アクセスを防ぐことが可能 ex. パスワードと指紋認証の多要素認証 ID・パスワードなどの知識情報および、所持 情報や生体情報という認証の3要素から、 2つ以上の異なる認証要素を用いて 認証する方法。 多要素認証
10 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
認可とは。。。 認証と認可とは? 一般ユーザ 管理者 ECサイト - 商品参照 〇 - 商品削除 - 商品参照 〇 - 商品削除 〇 削除コマンド実行 実行不可 削除コマンド実行 実行成功 認可:◦◦さんはこのシステムで何ができる? 権限を持つ人だけがリソースを利用できるよう制御すること
11 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
認可の代表的な規格としてOAuth2.0がある。 ◼アクセストークン(チケットみたいなもの)をクライアントに対して発行する。 =リソースオーナはクライアントに対してリソースアクセスを認可する。 認証と認可とは? クライアント ユーザーエージェント (ブラウザなど) 認可サーバ リソースオーナ (権限を持つ人) 認可リクエストを送信 リダイレクトURIを発行 ユーザを認証+許可 認可コードを発行 認可コードを渡す 認可コード検証 アクセストークン発行 OAuth2.0の実行フロー(認可コードフローの場合) リソースオーナに代わり、リソース要求 を行うアプリケーション。 クライアント 認証が成功した後に アクセストークンを発行するサーバ 認可サーバ
12 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
認可の代表的な規格としてOAuth2.0がある。 ◼アクセストークンを受け取ったクライアントはリソースサーバにアクセス ◼アクセスされたリソースサーバでアクセストークンを検証してクライアントを許可する。 認証と認可とは? クライアントとリソースサーバ間のやり取り クライアント リソースサーバ 結果を返す アクセストークン連携
Keycloakについて
14 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
認証認可を実現するサービスの中でもKeycloakは柔軟性や安定性に優れている ◼認証と認可を実現するサービスの中でもKeycloakをハンズオンで採用する。 ⚫ 理由1:オープンソース(Apache Licence 2.0)であるため、カスタマイズ性が高い ⚫ 理由2:長くメンテされているため安定している Keycloakについて Authorization Server 有償製品 オープンソース 代表的な認証認可プロダクトの例 理由1 理由2 * * 元はオープンソースだったが、ForgeRock社の方針で現在は有償
15 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
Keycloak:認証認可の機能を提供するオープンソースソフトウェア ◼Keycloakは、ID連携やアクセス制御などの機能を実現できるJavaベースの オープンソースソフトウェア。 Keycloakについて ユーザ サービス1 サービス2 サービス3 パスワード1 パスワード2 パスワード3 ユーザ サービス1 サービス2 サービス3 パスワード パスキー OTP … Keycloak導入
16 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
Keycloakのいいところ ◼ID連携によるシングルサインオンが可能 ◼オープンソースソフトウェアでカスタマイズ性が高い ⚫ SPI(Service Provider Interface)の仕組みを利用 ◼様々な認証方式に対応 ⚫ パスワード認証、WebAuthn認証など。。 ◼マルチプラットフォーム対応 ◼CNCF傘下=ベンダー中立なプロジェクト ◼OAuth2.0やOpenID Connect、SAMLに対応 Keycloakについて
Keycloakのハンズオン
18 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
ハンズオンの流れ ◼Keycloakのインストール ◼Keycloakの管理者コンソール上で設定 ⚫ レルム作成、クライアント追加、ユーザ追加 ⚫ 認証フロー設定(多要素認証) ◼OAuth2.0の挙動を確認してみる Keycloakのハンズオン
19 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
ハンズオン Keycloakのハンズオン 実演します
20 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
ハンズオンの全体感 Keycloakのハンズオン レルム: myrealm ユーザ: jjug Apache mod_auth_openidc クライアント myclient