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
cybozu.comの認証 / cybozu.com authentication
Search
mwatanabe
December 14, 2016
Technology
0
1.4k
cybozu.comの認証 / cybozu.com authentication
cybozu tech conference 2016 (
https://cybozutech2016.qloba.com/
) での発表資料です。
mwatanabe
December 14, 2016
Tweet
Share
More Decks by mwatanabe
See All by mwatanabe
Elasticsearch5.0.0で再インデクシングの高速化を探究した話
mwatanabe
2
900
Other Decks in Technology
See All in Technology
Why Governance Matters: The Key to Reducing Risk Without Slowing Down
sarahjwells
0
120
スタートアップにおけるこれからの「データ整備」
shomaekawa
1
280
10年の共創が示す、これからの開発者と企業の関係 ~ Crossroad
soracom
PRO
1
610
PLaMo2シリーズのvLLM実装 / PFN LLM セミナー
pfn
PRO
2
1k
Azure SynapseからAzure Databricksへ 移行してわかった新時代のコスト問題!?
databricksjapan
0
150
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
11
78k
空間を設計する力を考える / 20251004 Naoki Takahashi
shift_evolve
PRO
4
430
How to achieve interoperable digital identity across Asian countries
fujie
0
130
実装で解き明かす並行処理の歴史
zozotech
PRO
1
580
Access-what? why and how, A11Y for All - Nordic.js 2025
gdomiciano
1
120
社内お問い合わせBotの仕組みと学び
nish01
1
480
関係性が駆動するアジャイル──GPTに人格を与えたら、対話を通してふりかえりを習慣化できた話
mhlyc
0
130
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Code Review Best Practice
trishagee
72
19k
Navigating Team Friction
lara
189
15k
Become a Pro
speakerdeck
PRO
29
5.5k
Faster Mobile Websites
deanohume
310
31k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Balancing Empowerment & Direction
lara
4
680
Done Done
chrislema
185
16k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Transcript
cybozu.comͷೝূ աڈɺݱࡏɺະདྷ ΞϓϦέʔγϣϯج൫νʔϜɹล ٛ Cybozu Tech Conference 2016
ࣗݾհ • ล ٛʢΘͨͳ·͞Α͠ʣ • ΞϓϦέʔγϣϯج൫νʔϜ ϛυϧΣΞ͔ΒϑϩϯτΤϯυ·Ͱ • 2010ೖࣾ •
ʹΘ͔ւ֎αοΧʔϑΝϯͰ͢
ࠓ͢͜ͱ • cybozu.comͷϩάΠϯػೳ • ෳϓϩμΫτؒͰͷೝূใͷڞ༗ • cybozu.comͷγϯάϧαΠϯΦϯ • ࠓޙͷ՝ͱເͷ͋Δະདྷͷ
cybozu.com • B2BΫϥυαʔϏε • ̍ςφϯτ̍αϒυϝΠϯʢςφϯτ㲈ձࣾʣ • ̍ςφϯτʹෳͷϓϩμΫτ • ϩάΠϯը໘̍ςφϯτʹ͚̍ͭͩ
αϒυϝΠϯͰςφϯτΛ͚Δ
̍ςφϯτෳϓϩμΫτ corpA.cybozu.com
cybozu.comڞ௨ཧ corpA.cybozu.com
cybozu.comͷϩάΠϯ
None
cybozu.comͷϩάΠϯ • Α͋͘Δύεϫʔυೝূ • αϒυϝΠϯදࣔͰςφϯτΛࣝผՄೳ • ಛʹ͍͜͠ͱͯ͠ͳ͍ • ͨͩ͠ϩάΠϯͷηΩϡϦςΟઃఆෳࡶ
ෳࡶͳϩάΠϯͷઃఆ • ೖྗิॿ • ύεϫʔυϙϦγʔ • ΞΧϯτϩοΫΞτ • ηογϣϯ༗ޮظݶ •
SAML • ϩάΠϯࣦഊ࣌ͷϝοηʔδ
ͳͥෳࡶͳͷ͔ • ΦϯϓϨϛεϓϩμΫτͷػೳΛ࠶ݱ • ͍Ζ͍ΖͳاۀͷηΩϡϦςΟཁ݅ʹରԠ ྫ)ཧऀͱҰൠϢʔβʔͰҟͳΔύεϫʔυͷ࠷খจࣈ • ϒϥβͷਐԽʹ͍ෆཁʹͳΓͭͭ͋Δ߲ ͍ͬͯΔ =>
ఆظతͳ͓আ͕ඞཁ ྫ)ϒϥβͷύεϫʔυϚωʔδϟΛ੍ޚ͢Δઃఆ
ෳϓϩμΫτؒͷ ೝূใͷڞ༗
ೝূใͷڞ༗ʁ • ڞ௨ཧͷϩάΠϯը໘ͰϩάΠϯͨ͠Β ͯ͢ͷϓϩμΫτʹΞΫηεՄೳʹ͢Δ͜ͱ • ڞ௨ཧ͔ΒϩάΞτͨ͠Β ͯ͢ͷϓϩμΫτ͔ΒϩάΞτ͞ΕΔ͜ͱ
ݹͷ࣌
ݹͷ࣌
ݹͷ࣌ • ϒϥβͰͷϩάΠϯը໘ڞ௨ཧͷͷ͚ͩ • ΦϯϓϨϛε࣌ΛҾ͖ͣΓɺϓϩμΫτຖʹηογϣϯ ཧʢෳͷηογϣϯΫοΩʔʣ • ΦϨΦϨೝূ࿈ܞΫοΩʔͰϓϩμΫτؒSSO • ϓϩμΫτͷಠࣗΫϥΠΞϯτʢϞόΠϧͳͲʣͦΕͧΕ
Ͱೝূ • ϩάΞτϩάΞτ༻ͷ࿈ܞΫοΩʔΛు͘
ͭΒ͍ɻɻ • ΫοΩʔͰϩάΞτ͢Δʹɺͯ͢ͷϓϩμΫτʹϦΫΤε τඈ͞ͳ͍ͱ͍͚ͳ͍ • ϦΫΤετඈͳ͔ͬͨϓϩμΫτϩάΠϯঢ়ଶ͕ҡ࣋͞ΕΔ • ΦϨΦϨΫοΩʔϫϯλΠϜͰͳ͍ͷͰԿճͰ͑Δ ʢ༗ޮظݶ͋Δʣ •
ೝূܦ࿏͕ͨ͘͞Μ͋ΔͷͰηογϣϯཧ͕Ή͍ͣ ʢϢʔβʔʹඥͮ͘શηογϣϯআͱ͔ʣ
ݱ
ݱ
ݱ • ηογϣϯΫοΩʔΛ̍ͭʹ౷Ұʢڞ௨ηογϣϯʣ • ೝূใΛJSONͰKVSʹอଘͯ͠ϓϩμΫτͱڞ༗ • ڞ௨ηογϣϯͷσʔλΛมߋͰ͖Δͷڞ௨ཧ͚ͩ • ϓϩμΫτڞ௨ηογϣϯʹඥ͍ͮͨಠࣗηογϣϯͷσʔ λΛཧ͢Δ
• ϓϩμΫτͷΤϯυϙΠϯτͰϩάΠϯ͕ඞཁͳ߹ʢϞό ΠϧΞϓϦͳͲʣɺڞ௨ཧͷϩάΠϯAPIʹసૹ͢Δ
ϩάΠϯॲཧͷ౷ҰʹΑΓηογϣϯ ཧՄೳʹ
cybozu.comͷSSO
γϯάϧαΠϯΦϯ • ҰճͷϩάΠϯ͚ͩͰෳͷαʔϏεΛ͑Δ • ϩάΠϯ໊ͱύεϫʔυҰ͚֮ͭͩ͑Εྑ͍ • ଞͷαʔϏεͱcybozu.com͕SSOͰ͖Εخ͍͠ • ଞͷαʔϏεͱܨ͕ΔSSOͷͨΊʹඪ४༷ (SAML)Λcybozu.comʹ࣮ͨ͠
͍Ζ͍Ζܨ͕Δ • New Relic • Jenkins • Artifactory • Redash
ʢྡͷ੮ͷਓ͕SAMLपΓͷPR͛ͯͨʣ • etc…
SAML
SAML • OASIS͕ࡦఆͨ͠ೝূ࿈ܞͷͨΊͷ༷ • ϢʔβʔೝূαʔόʔʢIdentity Provider = IdPʣʹϩάΠϯ͢Δ͚ͩͰOK • Active
Directory Federation Services(ADFS)ΛSAML IdPͱͯ͑͠Δ • ϒϥβΛܦ༝͢Δʢϓϩτίϧ͋ΔʣͷͰcybozu.comͱADFS௨ ৴Ͱ͖ͳͯ͘ྑ͍ • ڵຯ͕͋Δํͪ͜ΒͲ͏ͧ ʮSAMLೝূ͕Ͱ͖Δ·Ͱʯhttp://blog.cybozu.io/entry/4224
SAML ϑϩʔ 1.Ϣʔβ͕cybozu.comʹΞΫηε͢Δ 2.cybozu.com͕SAMLϦΫΤετΛੜ͢Δ 3.Ϣʔβ͕cybozu.com͔ΒSAMLϦΫΤετΛ ड͚औΔ 4.IdP͕ϢʔβΛೝূ͢Δ 5.IdP͕SAMLϨεϙϯεΛੜ͢Δ 6.Ϣʔβ͕IdP͔ΒSAMLϨεϙϯεΛड͚औΔ 7.cybozu.com͕SAMLϨεϙϯεΛड͚औΓݕ
ূ͢Δ 8.SAMLϨεϙϯεͷ༰ʹ͕ͳ͍߹ Ϣʔβʔ͕cybozu.comʹϩάΠϯͨ͠ঢ়ଶʹ ͳΔ https://help.cybozu.com/ja/general/admin/saml_settings.html ΑΓҾ༻
ೝূαʔόʔ(IdP)͕ඞཁ • େ͖ͳاۀͰ͋ΕADFS͕͋Δ߹͋Δ͕ɺ SAMLͷͨΊʹADFSΛಋೖ͢Δͷॏ͍ɻ • ͓खܰʹΔͳΒIDaaSΛ͏ͷ͕ྑͦ͞͏ɻ (Okta, OneLogin, Azure ADͳͲ)
SAML·ͱΊ • SSOʹ͑Δඪ४༷ • ϒϥβΛܦ༝͢ΔͷͰɺೝূαʔόʔͱαʔϏ ε௨৴Ͱ͖ͳͯ͘ྑ͍ • ೝূαʔόʔΛཱͯΔͷେมͳͷͰɺIDaaS͔Β ࢝ΊΔͷ͕ྑ͛͞ •
ΤϯδχΞ͕͖ͳπʔϧ͍Ζ͍Ζܨ͕Δ
ࠓޙͷ՝ ※࣮ͷ༧ఆະఆͰ͢ʂ
ࠓޙͷ՝ • REST APIͷೝূํ͕ࣜಠ༷ࣗͳͷͰ࿈ܞ͕ ͍͠ • ೋཁૉೝূͷબࢶ͕গͳ͍
REST APIͷೝূํࣜ • cybozu.comʹREST API͕͋Δ • ೝূಠࣗͷHTTPϔομʔ • Ϣʔβʔ໊ͱύεϫʔυΛΤϯίʔυ͠ͳ͍ ͱ͍͚ͳ͍
• OAuthͳͲͷඪ४తͳ༷ΛऔΓೖΕ͍ͨ
ೋཁૉೝূ • cybozu.comͰೋཁૉೝূͱͯ͠ΫϥΠΞϯτূ໌ॻ͕͋Δ ͕ɺIPΞυϨε੍ݶΛಥഁ͢ΔͨΊͷཁૉͱͯ͠͏ • ΫϥΠΞϯτূ໌ॻΛWebView͔Β͏ͷΉ͍ͣ ʢϞόΠϧΤϯδχΞஊʣ • TOTPʢGoogle AuthenticatorతͳͭʣͳͲͷɺΑ͋͘Δೋ
ཁૉೝূͷબࢶ͋ͬͯྑ͍ͷͰ • FIDO U2F(ޙड़)ରԠͷυϯάϧ(yubikeyͳͲ)໘നͦ͏
ເͷ͋Δະདྷͷ
ເͷ͋Δະདྷͷ • ਓྨύεϫʔυೝূʹർฐ͍ͯ͠Δ • ύεϫʔυແ͠Ͱೝূͯ͘͠Ε·ͤΜ͔ • FIDO͕͋Δͳ͍͔ʂ
FIDO
FIDO Alliance • ύεϫʔυҎ֎ͷೝূͷ༷Λࡦఆ͍ͯ͠Δ • UAFʢύεϫʔυϨεೝূʣͱU2Fʢೋཁૉೝ ূʣͷ༷Λެ։ • ̎ͭͷ༷Λ·ͱΊͯFIDO2.0ͱ͠ɺͦΕΛجʹ ʮWeb
Authenticationʯͱͯ͠W3CͰ༷ࡦఆத https://www.w3.org/TR/webauthn/
Web Authentication • W3Cͷυϥϑτ • ϒϥβͷରԠঢ়گ·ͩ·ͩͰϓϩμΫτಋೖະདྷͷ͕ͩɻɻ • Windows HelloʢWindowsͷੜମೝূʣରԠͷEdge͔Β͓ࢼ͠ Ͱ͖Δʂ
• ͭ·ΓEdge͔ΒੜମೝূͷػೳΛࢼͤΔͱ͍͏͜ͱ • Web authentication and Windows Hello https://developer.microsoft.com/en-us/microsoft-edge/platform/documentation/dev-guide/device/web-authentication/
Windows Hello
Χοͱͳͬͯϓϩτ࣮ͨ͠ • Surface Pro4 • إೝূͰWindows HelloΛ͑Δ • cybozu.comʹإೝূͰϩάΠϯͩʂ •
σϞ͠·͢ 1. windows helloͷإೝূઃఆ 2. cybozu.comʹೝূσόΠεΛొ 3. cybozu.comʹإೝূͰϩάΠϯ
·ͱΊ • cybozu.comͷೝূपΓΛͬ͘͟Γͨ͠ • B2BͰ͍Ζ͍ΖͳηΩϡϦςΟཁ͕݅͋Δ • ΦϯϓϨϛεͷ༷ΛҾ͖ͣΓ͗͢Δͱ௧͍ΛݟΔ • ϩάΠϯॲཧҰՕॴʹ·ͱΊΔͱ֦ு͕༰қ •
Ϋϥυͷ͓खܰͳSSOʹIDaaS͕ྑͦ͞͏ • FIDOະདྷײ͋Δ • Զͨͪͷઓ͍͜Ε͔Βͩ
͓͠·͍