Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
オープンソースKeycloakのハンズオンで理解する認証と認可の基本
Search
raedion
October 27, 2024
Programming
580
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
40
生成AIを活用したリファクタリング実践 ~コードスメルをなくすためのアプローチ
raedion
1
3.8k
Other Decks in Programming
See All in Programming
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
4
1.1k
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
4.4k
AI × TiDD / 2026.09.05 Redmine 大阪
tokudiro
1
120
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
390
GKE で Pod の見方を変えたら、スケールアウト時の挙動を真に捉えられた話
stkk
0
110
[DroidKaigi 2026] Bring your own phones to Gradle Managed Devices
f2lk
0
110
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
440
Deep dive into the select statement (GopherCon UK)
jespino
0
170
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
3.9k
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
210
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
160
ソフトウェアラスタライザ
fadis
1
800
Featured
See All Featured
KATA
mclloyd
PRO
35
15k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
720
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.7k
Practical Orchestrator
shlominoach
191
12k
Optimising Largest Contentful Paint
csswizardry
37
3.9k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
510
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
600
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
230
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
450
Odyssey Design
rkendrick25
PRO
2
800
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