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
Slack Enterprise Grid with multiple IdP
Search
Isobe Kazuhiko
May 10, 2018
Technology
0
41
Slack Enterprise Grid with multiple IdP
Isobe Kazuhiko
May 10, 2018
Tweet
Share
More Decks by Isobe Kazuhiko
See All by Isobe Kazuhiko
今こそ遊ぼうパンデミック
muramasa64
0
20
My Keyboard Situation
muramasa64
0
13
cloudpackを支える認証技術
muramasa64
0
27
AWS Account Numberを取得するN個の方法
muramasa64
0
20
実践VPC
muramasa64
0
14
AWS Identity and Access Management
muramasa64
0
14
Introduction to AWS SDK for Ruby
muramasa64
0
20
Amazon VPCでVPN
muramasa64
0
27
Other Decks in Technology
See All in Technology
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
1
240
偶然 × 行動で人生の可能性を広げよう / Serendipity × Action: Discover Your Possibilities
ar_tama
1
1.1k
速くて安いWebサイトを作る
nishiharatsubasa
10
13k
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
18
7.3k
Amazon S3 Tablesと外部分析基盤連携について / Amazon S3 Tables and External Data Analytics Platform
nttcom
0
140
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
540
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
120
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
2
1.5k
開発組織のための セキュアコーディング研修の始め方
flatt_security
3
2.4k
自動テストの世界に、この5年間で起きたこと
autifyhq
10
8.6k
Swiftの “private” を テストする / Testing Swift "private"
yutailang0119
0
130
ビジネスモデリング道場 目的と背景
masuda220
PRO
9
530
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
550
The World Runs on Bad Software
bkeepers
PRO
67
11k
Fireside Chat
paigeccino
34
3.2k
Optimizing for Happiness
mojombo
376
70k
Producing Creativity
orderedlist
PRO
344
39k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Docker and Python
trallard
44
3.3k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Transcript
Slack Enterprise Grid with multiple IdP Slack Enterprise Grid with
multiple IdP ISOBE Kazuhiko CloudNative Inc. 第14回セキュリティ共有勉強会 2018-05-10
自己紹介 ISOBE Kazuhiko CloudNative Inc. 所属 Twitter: muramasa64 最近は認証関連を中心にやってます
今日のお題 Slack Enterprise Gridに対する認証 みんな大好きSlackのEnterprise版 企業内の色々な組織ごとにワークスペースが使える ワークスペース間でチャンネルを好きなだけ共有でき る 長いので、この資料ではGridと省略します。
Gridの導入要件 SAMLを使ったシングルサインオンが必須
SAMLとは何か? 知っている人✋
SAMLとは(ざっくりな説明) シングルサインオンを実現するためのプロトコル 認証はIdPで行う IdP: Identity Provider SPは認証結果だけ受け取る SP: Service Provider
認証は一回だけで複数のSPにサインインできる
SAMLのシーケンス図
SAML使ってますか? 使っている人✋
SAML便利ですよね ということでGridはSAML必須です
Gridを導入したい! グループ会社がいくつかある企業の例 それぞれSlackを利用中 Gridを使うと会社間連携ができて嬉しい
しかし、ここで立ちふさがる問題 Gridの認証に使えるIdPは1つだけ
Gridの認証に使えるIdPは1つだけ 一般的には、会社ごとにIdPを持っている 子会社やグループ会社は別組織 複数会社間ではGridは使えない? この制限で諦めてしまった会社は実在するらしい
何かが仲介すればいいのでは? Proxy? Delegate? Broker?
ということで Keycloakを使って実現してみました
Keycloakとは "Identity and Access Management solution" Red Hatが中心となって開発している Apache License
2.0 https://www.keycloak.org
Keycloakでできること Single-Sign On SAML, OpenID Connect, OAuth2.0, Kerberosに対 応 User
Federation LDAPやActive Directory、RDBMSと連携する Identity Brokering 外部のIdPとの連携 いわゆるSocial Loginに対応
Identity Brokering ID仲介 GoogleとかTwitter, FacebookのIDを使ってア プリにサインインできるようにするやつ SAMLも対応している この機能を使うことで、Gridに対して複数のIdP による認証を仲介する
連携設定1 GridとKeycloak Gridに対してKeycloakからSAMLでサインインでき るように連携する KeycloakにClientとしてGridを登録する この時点で、Keycloakに作成したローカルアカウントで Gridにサインインできるようになる
連携設定2 Keycloakと外部IdP Identity Providerとして各会社のIdPを登録する Keycloakは、複数のIdPに対応している ID/Passwordを入力するのではなく、IdPに対応した ボタンを押す 認証は各IdPで行いSAMLでサインインする
連携設定3 IdP Link Keycloakのユーザーと外部IdPで認証したユーザ ーのリンクを設定する Emailアドレス、ユーザーIDなど、ユニークなこ とが保証できる値を使う
DEMO 時間があればデモします
結論 Gridに複数IdPを使ってサインインできた これはGridに限らず他のサービスでも応用可能 OSSなIdPとしてKeycloakは使いやすい 今日紹介したのは機能のほんの一部 Keycloak便利 SSOしたい人は使ってみよう