Slide 1

Slide 1 text

ಥવͷάϧʔϓҰ੪ࡏ୐ۈ຿։࢝!!1ʹ ͓͚Δಇ͖ํΛมֵ͢Δٕज़΍࢓૊Έ ʙ޿ౡݝ࢈ͷԴᥡΛ;ΜͩΜʹར༻ͨ͠ോαϒϨฤʙ

Slide 2

Slide 2 text

ࢁԼ࿨඙!QZBNB (.0ϖύϘٕज़ج൫νʔϜ γχΞɾϓϦϯγύϧ UFOTOBQPODPN QZBNBGVO TUOTKQ

Slide 3

Slide 3 text

45/4 -JOVY/444FSWFS TUOTKQ

Slide 4

Slide 4 text

45/4

Slide 5

Slide 5 text

झຯ: Ωϟϯϓ

Slide 6

Slide 6 text

ϗεςΟϯάࣄۀ &$ࢧԉࣄۀ ϋϯυϝΠυɾͦͷଞࣄۀ

Slide 7

Slide 7 text

೥ ϩϦϙοϓʂϨϯλϧαʔόαʔϏεఏڙ։࢝ ೥ ೥ ೥ ϔςϜϧαʔϏεఏڙ։࢝ ίʔυॻ͚Δͱӕ͍ͭͯϖύϘʹೖࣾ੒ޭʂʂ̍ ೥݄೔ ࣛࣇౡݝग़ਫࢢʹ͓͍ͯ1ࢁര஀ʂʂ̍ ೥ ݱࡏɾ૑ۀ೥໨ ϜʔϜʔυϝΠϯαʔϏεఏڙ։࢝ ೥ ౦ূҰ෦΁ࢦఆସ͑

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

GMOϖύϘ • શύʔτφʔʢैۀһʣ͕ςϨϫʔΫΛجຊͱ͢Δۈ຿ମ੍ • ίϩφ΢Πϧεͷײછ֦େঢ়گʹΑͬͯ͸ɺग़ࣾΛڐՄ੍ʹ͢ΔͳͲ
 ੍ݶ͕͋Δ • ೥ʹ਺ճ͋Δࣾ಺ΠϕϯτʹࢀՃͰ͖ΔͳΒ͹೔ຊશࠃͲ͜ʹॅΜͰ΋Մ • ςϨϫʔΫख౰ͱͯࣗ͠୐ͷޫ೤අ΍௨৴අΛิॿ ※GMOάϧʔϓͰ͸ैۀһͷ͜ͱΛύʔτφʔͱݺͼ·͢

Slide 12

Slide 12 text

๻ʹى͖ͨ͜ͱ

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

༧ΊͰ͖͍ͯͨ͜ͱ ౦ژɺ෱Ԭɺࣛࣇౡͱڌ఺͕཭Ε͍ͯΔͷͰɺڌ఺ؒͷ΍ΓऔΓΛߦ͏ͨΊͷ ࢓૊Έ͕੔උ͞Ε͍ͯͨ ఆظతʹࡏ୐ۈ຿܇࿅Λߦ͍ͬͯͨͷͰɺςϨϫʔΫͰ͖Δࣄલ४උ͕
 Ͱ͖͍ͯͨ ձࣾͷنఆͰ͢ΒGitHub EnterpriseʹPRͯ͠࡞੒͞ΕΔۀ຿ϑϩʔͰ͋ͬͨ ͜ͱ͔ΒςΩετͰͷίϛϡχέʔγϣϯʹ૊৫ͱͯ͠ద༻Ͱ͖͍ͯͨ G Suite΍OneLoginΛ࢝Ίͱ͢ΔSaaS΁ͷҠߦΛਪਐ͍ͯͨͨ͠Ίɺۀ຿Ͱར ༻͢Δେମͷιϑτ΢ΣΞ͕ࣾ֎͔Βར༻Ͱ͖ͨ

Slide 15

Slide 15 text

ςϨϫʔΫҠߦޙʹ΍ͬͨ͜ͱ Zoom΍Google MeetɺSlackͷ࢖͍ํͷάϥϯυϧʔϧΛఆΊͨ ر๬ऀΛର৅ʹΦϑΟεͰར༻͍ͯͨ͠όϩϯνΣΞΛैۀһͷՈʹແྉ ഑ૹɺି༩ PC༻σΟεϓϨΠ΍ిؾ୅ͷิॿ੍ۚ౓Խ ډॅ஍ͷࣗ༝Խɺ໘઀ͷશΦϯϥΠϯԽ

Slide 16

Slide 16 text

ಥવͷάϧʔϓҰ੪ࡏ୐ۈ຿։࢝!!1ʹ͓ ͚Δಇ͖ํΛมֵ͢Δٕज़΍࢓૊Έ

Slide 17

Slide 17 text

ڥքϞσϧ ϓϥΠϕʔτ Ϋϥ΢υ ౦ژΦϑΟε ෱ԬΦϑΟε ࣛࣇౡΦϑΟε VPN FW VPN ϖύϘʹ͓͍ͯ͸ओʹɺFromIPΛݩʹωοτϫʔΫͷ ΞΫηεΛڐՄ͍ͯͨ͠

Slide 18

Slide 18 text

ڥքϞσϧ ϓϥΠϕʔτ Ϋϥ΢υ ౦ژΦϑΟε ෱ԬΦϑΟε ࣛࣇౡΦϑΟε VPN FW VPN ίϩφՒʹ͓͍ͯ ഁ໓!!1 ӕͰ͢ɺ͜͜·Ͱ߽շʹഁ໓͓ͯ͠Βͣɺഁ໓͍͍͔͔ͬͯͨͬͨΒഁ໓ͬͯॻ͖·ͨ͠ɻ ഁ໓ɺϩυϦήε

Slide 19

Slide 19 text

ϩʔϚ͸1೔ʹͯ͠ͳΒͣ چདྷΑΓ௕Β͘FromIPͰͷ੍ݶΛߦ͍ͬͯͨͨΊɺଈ࠲ʹ΄͔ͷ
 ηΩϡϦςΟϞσϧ΁ͷҠߦ͸ࠔ೉ Կ͔͠Βͷٕज़తΞϓϩʔνΛߦ͏ͨΊʹ΋·ͣ͸ΞΫηεܦ࿏Λ֬อ
 ͢Δඞཁ͕͋Δ

Slide 20

Slide 20 text

kanmon-kaikyo https://github.com/pyama86/kanmon-kaikyo

Slide 21

Slide 21 text

ओͳΞΫηε੍ޚ͸Security Group ϖύϘͷຊ൪αʔό΁ͷΞΫηε͸ओʹOpenStackͷSecurity Group(SG) Λར༻੍ͯ͠ޚ͞Ε͍ͯΔ SGΛૢ࡞ͯ͠ಛఆͷIPΛFromIPʹ࣋ͭϗετ͔ΒͷSSHΛΞΫηε͢Δ CLIπʔϧͱͯ͠kanmonΛಉ྅ͷ @buty4649 ͕։ൃ͍ͯͨ͠

Slide 22

Slide 22 text

kanmon ࣗ෼ͷ*1Λ௥Ճ͍ͨ͠4(ͷ*%ΛઃఆϑΝΠϧʹهड़ DBULBONPOZNM TFDVSJUZ@HSPVQ ؀ڥม਺Λઃఆ FYQPSU04@64&3/".&VTFSOBNF FYQPSU04@1"44803%QBTTXPSE FYQPSU04@"65)@63-IUUQFYBNQMFDPNBVUIW ίϚϯυ࣮ߦ LBONPOPQFO kanmon open

Slide 23

Slide 23 text

kanmonͷ՝୊ ΋ͱ΋ͱΤϯδχΞ͕࢖͏͜ͱΛ૝ఆͨ͠πʔϧͳͷͰɺ࣮ߦ؀ڥߏங΍ɺ ؀ڥม਺ͷઃఆͳͲɺΤϯδχΞҎ֎Ͱͷར༻ͷෑډ͕ߴ͍ ίϩφՒʹ͓͍ͯɺϖύϘͰ͸σβΠφʔ΍ͦͷଞͷ৬छ͕SSHӽ͠ʹ
 σϓϩΠ͢Δഎܠ͔ΒɺΤϯδχΞҎ֎ͷ৬छ΋ΞΫηεखஈΛ֬อ͢Δ
 ඞཁ͕ੜ·Εͨ

Slide 24

Slide 24 text

kanmon-kaikyo kanmon- kaikyo 1. Slack͔ΒϘοτʹίϚϯυΛൃߦ 2. OAuthೝূ༻URL͕ฦ٫͞ΕΔ 3. ೝূΛύεͰ͖ͨͳΒ͹ɺ
 ೝূΛύεͨ͠ࡍͷIPΞυϨεΛ
 ࢦఆͨ͠αʔόʹSSHڐՄ͢Δ 1.ίϚϯυൃߦ 2.OAuthೝূ 3. ΞΫηεڐՄ

Slide 25

Slide 25 text

kanmon-kaikyo FTTHͷIP࠶ར༻ʹΑΔηΩϡϦςΟϦεΫΛݮΒͨ͢Ίɺఆظతʹkanmon- kaikyoͰ௥Ճͨ͠ϙϦγʔΛ࡟আ͍ͯ͠Δ ϖύϘͷSSH઀ଓ͸ݪଇSTNSΛར༻ͨ͠ެ։伴ೝূɺೝՄΛߦ͍ͬͯΔͨΊɺ IP + ެ։伴ͷଟཁૉͰೝূ͞Ε͍ͯΔ

Slide 26

Slide 26 text

kanmon-kaikyo

Slide 27

Slide 27 text

͕ɺ͔͠͠ɺ ಇ͘৔ॴෆ໰ͳͷʹ IPʹറΒΕͯΔԶͨͪ͸

Slide 28

Slide 28 text

IPʹΑΔ੍ޚΛ΍Ί͍͕ͨ ଟ૚๷ޚͷ૚͕Ұͭͳ͘ͳΔ

Slide 29

Slide 29 text

pam-google-web-oauth-rs https://github.com/pyama86/pam-google-web-oauth-rs

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

pam-google-web-oauth-rs SSHೝূΛެ։伴 + OAuthೝূͷଟཁૉೝূԽ͢ΔPAMϞδϡʔϧɻྨࣅʹ google/google-authenticator-libpam ͕͋Δ͕ɺͪ͜Β͸OTPํࣜɻϖύϘ͸G Suiteಋೖ͔ͭG Suiteࣗମ͕2FAඞਢͳͷͰ૊৫ʹϑΟοτ͢Διϑτ΢ΣΞΛ ॻ͍ͨ ݩʑ͸Go + CͰॻ͍͍͕ͯͨɺWEB + Linuxϓϩάϥϛϯάͷάϧʔݴޠͱ͠ ͯRustͰॻ͍ͨ΄͏͕εοΩϦॻ͚ͨͷͰษڧΛ݉Ͷͯॻ͖௚ͨ͠ ݱࡏϖύϘͰ͸ओʹ౿Έ୆αʔόʹΠϯετʔϧ͠ɺଟཁૉೝূΛར༻͍ͯ͠Δ

Slide 32

Slide 32 text

͜͜·Ͱ࿩ͨ͜͠ͱ ग़ࣾͰ͖ͳ͍ɺVPNαʔόͷ໰୊͕ൃੜ͠ɺ͜Ε·ͰͷIPΛར༻ͨ͠ΞΫ ηε੍ޚ͕ϑΟοτ͠ͳ͘ͳ͖ͬͯͨ Ұ࣌తͳΞΫηεܦ࿏ΛΤϯδχΞɺσβΠφʔ͕Slack͔Βར༻Ͱ͖Δ
 Α͏ʹͨ͠ SSH઀ଓʹଟཁૉೝূΛ༻͍Δ͜ͱͰɺੈքத͔Β҆શʹΞΫηεͰ͖Δ Α͏ʹͨ͠

Slide 33

Slide 33 text

ۀ຿γεςϜ΁ͷΞΫηεܦ࿏

Slide 34

Slide 34 text

঎ࡐ͝ͱͷސ٬؅ཧΞϓϦ ސ٬ɺܖ໿৘ใͷӾཡ σʔλϝϯςφϯε ཤྺ؅ཧ

Slide 35

Slide 35 text

ސ٬؅ཧΞϓϦ͋Δ͋Δૣ͘ݴ͍͍ͨ ͓٬༷ʹ௚઀઀͢ΔϑϩϯτΞϓϦͰ͸ͳ͍ͨΊɺOSɺϓϩάϥϛϯά ݴޠɺϥΠϒϥϦͷόʔδϣϯΞοϓͳͲ͕ޙճ͠ʹͳΓ͕ͪ ༏ઌ౓͕Լ͛ΒΕ͕ͪͰɺʮ͑ͬʂࠓͲ͖͜͏͍͏ڍಈ͋Δͷʁʁʁʯͬ ͍ͯ͏࣮૷͕࢒Γ͕ͪ

Slide 36

Slide 36 text

ͦΕͰ΋ࣾ֎͔Β҆શʹར༻͍ͨ͠ github.com/oauth2-proxy/oauth2-proxy oauth2-proxyΛ࠾༻͠ɺސ٬؅ཧΞϓϦͷલஈʹ
 OAuthೝূΛ௥Ճ͠ɺSSOग़དྷΔΑ͏ʹͨ͠

Slide 37

Slide 37 text

oauth2-proxyΛར༻ͨ͠SSO SG App DBʹొ࿥͞Εͨ ϢʔβʔIDͰೝূ&ೝՄ ڐՄ͞ΕͨIP͔Β ͷΈΞΫηεՄೳ oauth2-proxy App oaut2-proxy͔Β࿈ܞ͞Εͨ ϔομ৘ใͰೝূ Google΍GitHubͷ ΞΧ΢ϯτͰOAuthೝূ before after

Slide 38

Slide 38 text

oauth2-proxyΛར༻ͨ͠SSO nginx oauth2-proxy client server { location /oauth2/ { proxy_pass http://127.0.0.1:4180; ... } location = /oauth2/auth { proxy_pass http://127.0.0.1:4180; ... } location / { auth_request /oauth2/auth; error_page 401 = /oauth2/sign_in; ... } }

Slide 39

Slide 39 text

oauth2-proxyΛར༻ͨ͠SSO nginx oauth2-proxy proxy_set_header X-User $user; proxy_set_header X-Email $email; App nginx͔ΒϓϩΩγ͢Δ৔߹ʹϦΫΤετϔομʹ ϢʔβʔID΍ϝʔϧΞυϨεΛຒΊࠐΊΔ HTTPϔομΛݩʹSSO͢Δ৔߹ɺ ඞͣΞΫηεݩͷIPΛνΣοΫ͢Δඞ ཁ͕͋Δɻෆਖ਼ͳதܧʹΑͬͯΞΧ΢ ϯτ͕৐ͬऔΒΕΔՄೳੑ͕͋Δɻ

Slide 40

Slide 40 text

oauth2-proxy طଘͷΞϓϦͷલஈʹoauth2-proxyΛ഑ஔͯ͠࢖͏༻్ͷͨΊɺ෯޿͍
 ΞϓϦέʔγϣϯʹӨڹͳ͘OAuthೝূΛద༻Մೳ ೝূՄೳͳϝʔϧΞυϨευϝΠϯ΍GitHub Team౳΋ࢦఆՄೳͳͷͰɺ ਖ਼͘͠ઃఆ͢Ε͹҆શʹ׆༻Ͱ͖Δ υΩϡϝϯτ΍φϨοδ΋ॆ࣮͓ͯ͠Γɺಋೖָ͕

Slide 41

Slide 41 text

WEBϒϥ΢β͸ OAuthͰ͍͍͚Ͳɺ
 CLI͔Β࣮ߦ͞ΕΔΞϓϦ͸ʁ

Slide 42

Slide 42 text

Vault by Hashicorp ϖύϘͰ͸TLS҉߸Խ௨৴ʹར༻͢Δ伴ͷ؅ ཧΛVaultͷPublic Key Infrastructure(PKI) Secret EngineΛར༻͍ͯ͠Δɻ

Slide 43

Slide 43 text

Vault by Hashicorp vault server api.pepabo.com consul-template client consul-template TLS҉߸Խ௨৴ Vault͕෷͍ग़͢伴Λར༻ͯ͠ɺαʔό ʙ ΫϥΠΞϯτؒͷ ௨৴ΛTLSΫϥΠΞϯτೝূ&௨৴Ͱ҉߸Խ

Slide 44

Slide 44 text

Vault by Hashicorp WBVMUTFDSFUTFOBCMFEFTDSJQUJPOTFSWJDFDPOTVMQLJNBYMFBTFUUMIQLJ WBVMUXSJUFQLJSPMFTTFSWJDFDPOTVMBMMPXFE@EPNBJOTTFSWJDFDPOTVMa BMMPX@TVCEPNBJOTUSVFNBY@UUMI kanmon open Vault͸ൿಗ৘ใΛ҆શʹ؅ཧग़དྷΔιϑτ΢ΣΞ ͦͷػೳͷҰ͕ͭެ։伴ج൫ xxx.service.consul ͷެ։伴Λ؅ཧ͢Δઃఆ

Slide 45

Slide 45 text

consul-template UFNQMBUF\ DPOUFOUT\\XJUITFDSFUaQLJJTTVFTFSWJDFDPOTVMa aDPNNPO@OBNFWBVMUTFSWJDFDPOTVMa^^\\%BUBJTTVJOH@DB^^\\FOE^^ EFTUJOBUJPOVTSTIBSFDBDFSUJpDBUFTFYUSB7BVMU@3PPU@$"DSU DPNNBOETVEPVTSMPDBMTCJOVQEBUF@DB@DFSUT ^ kanmon open Hashicorpͷιϑτ΢ΣΞͱ࿈ܞͯ͠ɺϑΝΠϧΛग़ྗͨ͠Γɺ ίϚϯυΛ࣮ߦͨ͠Γग़དྷΔϛυϧ΢ΣΞ Vaultͷ pki/issue/service-consulͷΤϯυϙΠϯτ͔Βূ໌ॻΛऔಘ͢Δ

Slide 46

Slide 46 text

consul-template ূ໌ॻͷ༗ޮظݶΛ؂ࢹͯ͠ɺظݶ੾ΕલʹࣗಈͰߋ৽ͯ͘͠ΕΔͷͰূ ໌ॻ؅ཧͷख͕ؒͳ͍ ୹໋ͳূ໌ॻΛൃߦ͢Δ͜ͱͰɺैۀһͷୀ৬࣌ʹ͸ࣗಈͰࣦޮͤ͞Δͳ Ͳͷॲཧ͕༰қͰ͋Δ

Slide 47

Slide 47 text

Vault by Hashicorp vault server api.pepabo.com consul-template client consul-template TLS҉߸Խ௨৴ Vault͕෷͍ग़͢伴Λར༻ͯ͠ɺαʔό ʙ ΫϥΠΞϯτؒͷ ௨৴ΛTLSΫϥΠΞϯτೝূ&௨৴Ͱ҉߸Խ ΫϥΠΞϯτʹͲͷΑ͏ʹ伴Λ഑෍͢Δ ͷ͔͕େ͖ͳ՝୊ʹͳͬͨ

Slide 48

Slide 48 text

kagiana pyama86/kagiana

Slide 49

Slide 49 text

kagiana WEBϒϥ΢βͰkagianaͷUIʹΞΫηεͯ͠ೝূޙɺVaultʹTLS௨৴͢ΔͨΊͷ伴Λμ΢ϯϩʔυ •

Slide 50

Slide 50 text

๭ʮ͜Εϒϥ΢β։͘ͷ໘౗͔ͩΒCLIͰͰ͖ͳ͍͔͢Ͷʁʯ

Slide 51

Slide 51 text

STNSΛར༻ͨ͠ެ։伴ೝূ STNS kagiana client ެ։伴Ͱ νϟϨϯδίʔυΛ෮߸ νϟϨϯδίʔυ νϟϨϯδίʔυΛൿີ伴Ͱॺ໊ͯ͠ૹ৴ 7BVMUʹΞΫηε͢Δ伴ͷ഑෍ stns/libstns-goΛ։ൃ͠ɺSTNSΛར༻ͨ͠ೝূΛՄೳʹͨ͠ ೝূཁٻ

Slide 52

Slide 52 text

͜͜·Ͱ࿩ͨ͜͠ͱ ސ٬؅ཧγεςϜͳͲͷैۀһ͕ར༻͢ΔͨΊͷΞϓϦέʔγϣϯ͸มߋ಺༰Λ গͳ͘ɺ҆શʹར༻͢ΔͨΊʹɺoauth2-proxyͰೝূΛߦ͏Α͏ʹͨ͠ ։ൃऀ͕ར༻͢ΔAPI͸TLSΫϥΠΞϯτೝূΛߦ͏Α͏ʹͯ͠ɺ伴ͷ഑෍͸ Vault + kagianaΛར༻ͯ͠ߦ͍ͬͯΔ

Slide 53

Slide 53 text

୤ઢ OAuth2.0ೝূ

Slide 54

Slide 54 text

ೝূͱೝՄ ೝূ ೝՄ ୭Ͱ͋Δ͔Λಛఆ͢Δ Կ͕ग़དྷΔͷ͔ΛڐՄ͢Δ

Slide 55

Slide 55 text

OAuth(2.0)͸ݫີʹ͸ೝՄͷ࢓༷ RFC 6749ʹͯఆٛ ͍͔ͭ͘ͷ࣮૷ύλʔϯ͕༗Γɺࣗ਎ͰೝՄαʔό࣮૷͢Δ৔߹͸ɺ࣮૷ ύλʔϯʹΑͬͯ͸ೝূίʔυͷ࢖͍ճ͠ͳͲͷ੬ऑੑੜΜͰ͠·͏ ʮOAuth 2.0 શϑϩʔͷਤղͱಈը※ʯ͕͓͢͢Ί ※ https://qiita.com/TakahikoKawasaki/items/200951e5b5929f840a1f

Slide 56

Slide 56 text

ͳΜͱͳ͘ೝՄͪ͠Όͬͯ·ͤΜ͔ʁ TwitterͰΑ͘ݟΔGenerator ໺ྑṖWifi ೝՄ͸༻๏༻ྔΛकͬͯਖ਼͘͠

Slide 57

Slide 57 text

ܹ͘͠୤ઢ

Slide 58

Slide 58 text

ۭલͷ ΩϟϯϓϒʔϜ ౸དྷ

Slide 59

Slide 59 text

ࠓʂʂʂʂʂʂʂ Ωϟϯϓ͕ʂʂʂ དྷͯ·͢ʂʂʂʂ

Slide 60

Slide 60 text

શ͘༧໿͕औΕͳ͍ि຤ https://booking.montbell.jp/lodging/site.php?site_id=3 WEB༧໿ɺޮ཰త͙͗ͯ͢͢ຒ·Δ

Slide 61

Slide 61 text

ͦΕͰ΋Զ͸Ωϟϯϓʹߦ͖͍ͨ https://github.com/pyama86/camp 1. ৗࣝతͳස౓ͰαΠτΛΫϩʔϧ 2.αΠτʹۭ͖͕ग़ͨΒɺLINEʹଈ௨஌ 3. ͋ΒΏΔ࡞ۀΛࢭΊͯɺ ΩϟϯϓαΠτΛ༧໿

Slide 62

Slide 62 text

ؓ࿩ٳ୊

Slide 63

Slide 63 text

ಥવͷάϧʔϓҰ੪ࡏ୐ۈ຿։࢝!!1ʹ͓ ͚Δಇ͖ํΛมֵ͢Δٕज़΍࢓૊Έ

Slide 64

Slide 64 text

ςϨϫʔΫΛجຊͱͨ͠ ձ͔ࣾͩΒͦ͜ɺ ςϨϫʔΫ্͕ख͍ձࣾʹͳΓ͍ͨ

Slide 65

Slide 65 text

ςϨϫʔΫҠߦޙʹ΍ͬͨ͜ͱ Zoom΍Google MeetɺSlackͷ࢖͍ํͷάϥϯυϧʔϧΛఆΊͨ ر๬ऀΛର৅ʹΦϑΟεͰར༻͍ͯͨ͠όϩϯνΣΞΛैۀһͷՈʹແྉ ഑ૹɺି༩ PC༻σΟεϓϨΠ΍ిؾ୅ͷิॿ੍ۚ౓Խ ډॅ஍ͷࣗ༝Խɺ໘઀ͷશΦϯϥΠϯԽ

Slide 66

Slide 66 text

໘઀ͷΦϯϥΠϯԽ ໘઀͸Google MeetΛར༻࣮ͯ͠ࢪ Ϩδϡϝ΍໘઀ཤྺ؅ཧʹ࠾༻؅ཧγεςϜTalentioΛ࠾༻ ϦϞʔτͰ΋࠾༻ͷεϐʔυΛ্͛ΔͨΊ௨஌Λ޻෉

Slide 67

Slide 67 text

talentio-notifier pyama86/talentio-notifier

Slide 68

Slide 68 text

ϖύϘͷ໘઀ϑϩʔ ॻྨ৹ࠪ 1࣍໘઀ 2࣍໘઀ ໾һ໘઀ ɹ࠾༻ʂʂ̍ ෳ਺ճͷ໘઀Ͱٕೳ໘ɺΧϧνϟʔϚονͳͲΛ͓࿩͠·͢

Slide 69

Slide 69 text

pyama͕ղܾ͔ͨͬͨ͠՝୊ εϐʔυײͷͳ͍ձࣾͰಇ͖͍ͨͱࣗ෼ࣗ਎͕ࢥΘͳ͍ͷͰɺԠื͔Β
 ߹൱࿈བྷ·ͰͷϦʔυλΠϜΛ࡟ݮ͍ͨ͠ ໘઀ʹඞ༻ͳ৘ใ͕ඞ༻ͳͱ͖ʹಧ͘Α͏ʹ͍ͨ͠

Slide 70

Slide 70 text

TalentioͷAPIΛར༻͠ɺ௨஌ΛࣗಈԽ ॻྨબߟɺ໘઀ධఆͷهೖΛϦϚΠϯυ ໘઀10෼લʹ͸TalentioͷϨδϡϝϖʔδͷ ϦϯΫΛࣗಈͰ௨஌ ࠾༻νϟϯωϧʹ୭ʹɺͲ͏͍ͬͨґཔΛ ௨஌ͨ͠ͷ͔ΛೲظΛؚΊͯ౤ߘ͢Δ͜ͱ Ͱ࠾༻୲౰΋τϨʔγϯάՄೳ

Slide 71

Slide 71 text

ςϨϫʔΫʹ͓͍ͯ΋ Slack͸େ׆༂

Slide 72

Slide 72 text

શһϦϞʔτͰ͋Δ͕Ώ͑ʹɺ୭͕͍·੮ͷ લʹ͍Δͷ͔ɺ୭͕ࠓ͝൧Λ৯΂͍ͯΔͷ͔ Θ͔Βͳ͍ͷͰɺSlackͰͦΕͧΕใࠂ͠ ͍͋ͬͯͨ ۈଵͷใࠂ΍཭੮΋SlackΛ׆༻

Slide 73

Slide 73 text

୭͕͍Δ͔͍ͳ͍͔͸SlackͷྲྀΕͰ͸
 ௥͍͖Εͳ͍ ΦϑΟεͰ͸ͪΐͬͱ੮Λཱͯ͹ݟ͑ͨ
 ͋ͷਓ΋Πϯλʔωοτӽ͠Ͱ͸ݟ͑ͳ͍ ςϨϫʔΫ͸฻Β͠ͱີ઀Ͱ͋Δ͕
 Ώ͑ʹɺࣗ༝౓͕ߴ͘཭੮΋૿͕͑ͪ ܅ͱաͨ͝͠Ն͸ઈରʹ๨Εͳ͍ Slack͸ϑϩʔ৘ใͳͷͰෆ޲͖ͳ͜ͱ΋͋Δ

Slide 74

Slide 74 text

Away From Keybord ϝϯγϣϯͰݺ͹Εͨࡍʹ཭੮Λͭͨ͑ͨΓɺఆܗใࠂΛίϚϯυԽ

Slide 75

Slide 75 text

Away From Keybord ϝϯγϣϯΛ౤͛Δͱෆࡏ͕͙͢Θ͔Γɺ
 ͙͢ରԠ͕ग़དྷΔ ۈ຿։࢝ͳͲఆܗใࠂʹ൐͍ɺ͓·͚Λ ͚ͭΔ͜ͱͰɺศརʹར༻ଅਐ

Slide 76

Slide 76 text

࠷ۙSlackͰ޻෉͍ͯ͠Δ͜ͱ https://github.com/pyama86/issuer-bot ϑϩʔ৘ใΛετοΫ৘ใ΁ม׵͢Δ SlackͰϦΞΫγϣϯΛ͚ͭΔͱϘοτ͕ͦͷ಺༰Λసه͢ΔGitHub IssueͷURLΛൃߦ

Slide 77

Slide 77 text

ศར͗ͯ͢৭ʑॻ͍ͯ͠·͍͕ͪ ಉ྅΁ͷґཔΛSlackʹ௕ʑॻ͍ͯ͠·͏ɺͦͯ͠ྲྀΕΔ େࣄͳ͓஌ΒͤͳͷʹSlackʹ͔͠৘ใ͕ͳ͍ɺͦͯ͠ྲྀΕΔ αʔϏε͔ΒͷΞϥʔτɺେࣄ͚ͩͲSlackͷ௨஌͕ᷓΕͯɺྲྀΕΔ ͜Μͳ࣌୅͔ͩΒͦ͜ɺߟ͑Δ͜ͱ͕͋Δ

Slide 78

Slide 78 text

৘ใͷੜଘظؒΛҙࣝͨ͠ ίϛϡχέʔγϣϯ͕ٻΊΒΕΔ GibHub Issue΍NotionͳͲੜଘظ͕ؒ௕͘ɺݕࡧ͕͠΍͍͢ഔମΛ
 ར༻͢Δ SlackͰ΍ΓऔΓͨ͠಺༰΍ςϨϏ௨࿩ͨ͠಺༰Λจࣈىͯ͜͠͠ɺ
 ੜଘظ͕ؒ௕͍ഔମʹه࿥͢Δ͜ͱ͕কདྷͷ୭͔Λॿ͚Δ͜ͱʹͳΔ

Slide 79

Slide 79 text

ࠓ೔࿩ͨ͜͠ͱ

Slide 80

Slide 80 text

GMOϖύϘ • શύʔτφʔʢैۀһʣ͕ςϨϫʔΫΛجຊͱ͢Δۈ຿ମ੍ • ίϩφ΢Πϧεͷײછ֦େঢ়گʹΑͬͯ͸ɺग़ࣾΛڐՄ੍ʹ͢ΔͳͲ
 ੍ݶ͕͋Δ • ೥ʹ਺ճ͋Δࣾ಺ΠϕϯτʹࢀՃͰ͖ΔͳΒ͹೔ຊશࠃͲ͜ʹॅΜͰ΋Մ • ςϨϫʔΫख౰ͱͯࣗ͠୐ͷޫ೤අ΍௨৴අΛิॿ ※GMOάϧʔϓͰ͸ैۀһͷ͜ͱΛύʔτφʔͱݺͼ·͢

Slide 81

Slide 81 text

No content

Slide 82

Slide 82 text

ڥքϞσϧ ϓϥΠϕʔτ Ϋϥ΢υ ౦ژΦϑΟε ෱ԬΦϑΟε ࣛࣇౡΦϑΟε VPN FW VPN ίϩφՒʹ͓͍ͯ ഁ໓!!1 ӕͰ͢ɺ͜͜·Ͱ߽շʹഁ໓͓ͯ͠Βͣɺഁ໓͍͍͔͔ͬͯͨͬͨΒഁ໓ͬͯॻ͖·ͨ͠ɻ ഁ໓ɺϩυϦήε

Slide 83

Slide 83 text

՝୊Λղܾ͢ΔͨΊʹίʔυΛॻ͍ͨΓOSS׆༻ͨ͠ kanmon-kaikyo - SGͷ։ดΛSlackͰ࣮ߦ pam-google-web-oauth-rs - SSHΛଟཁૉೝূԽ oauth2-proxy - طଘͷίʔυʹӨڹΛগͳ͘OAuthೝূʹରԠ kagiana - VaultʹΞΫηε͢ΔͨΊͷ伴ΛOAuthೝূޙʹ഑෍

Slide 84

Slide 84 text

ςϨϫʔΫΛݪଇͱͨ͠ ձ͔ࣾͩΒͦ͜ɺ ςϨϫʔΫ্͕ख͍ձࣾʹͳΓ͍ͨ

Slide 85

Slide 85 text

ςϨϫʔΫҠߦޙʹ΍ͬͨ͜ͱ Zoom΍Google MeetɺSlackͷ࢖͍ํͷάϥϯυϧʔϧΛఆΊͨ ر๬ऀΛର৅ʹΦϑΟεͰར༻͍ͯͨ͠όϩϯνΣΞΛैۀһͷՈʹແྉ ഑ૹɺି༩ PC༻σΟεϓϨΠ΍ిؾ୅ͷิॿ੍ۚ౓Խ ډॅ஍ͷࣗ༝Խɺ໘઀ͷશΦϯϥΠϯԽ

Slide 86

Slide 86 text

TalentioͷAPIΛར༻͠ɺ௨஌ΛࣗಈԽ ॻྨબߟɺ໘઀ධఆͷهೖΛϦϚΠϯυ ໘઀10෼લʹ͸TalentioͷϨδϡϝϖʔδͷ ϦϯΫΛࣗಈͰ௨஌ ࠾༻νϟϯωϧʹ୭ʹɺͲ͏͍ͬͨґཔΛ ௨஌ͨ͠ͷ͔ΛೲظΛؚΊͯ౤ߘ͢Δ͜ͱ Ͱ࠾༻୲౰΋τϨʔγϯάՄೳ

Slide 87

Slide 87 text

୭͕͍Δ͔͍ͳ͍͔͸SlackͷྲྀΕͰ͸
 ௥͍͖Εͳ͍ ΦϑΟεͰ͸ͪΐͬͱ੮Λཱͯ͹ݟ͑ͨ
 ͋ͷਓ΋Πϯλʔωοτӽ͠Ͱ͸ݟ͑ͳ͍ ςϨϫʔΫ͸฻Β͠ͱີ઀Ͱ͋Δ͕
 Ώ͑ʹɺࣗ༝౓͕ߴ͘཭੮΋૿͕͑ͪ ܅ͱաͨ͝͠Ն͸ઈରʹ๨Εͳ͍ Slack͸ϑϩʔ৘ใͳͷͰෆ޲͖ͳ͜ͱ΋͋Δ

Slide 88

Slide 88 text

Away From Keybord ϝϯγϣϯͰݺ͹Εͨࡍʹ཭੮Λͭͨ͑ͨΓɺఆܗใࠂΛίϚϯυԽ

Slide 89

Slide 89 text

࠷ۙSlackͰ޻෉͍ͯ͠Δ͜ͱ https://github.com/pyama86/issuer-bot ϑϩʔ৘ใΛετοΫ৘ใ΁ม׵͢Δ SlackͰϦΞΫγϣϯΛ͚ͭΔͱϘοτ͕ͦͷ಺༰Λసػ͢ΔGitHub IssueͷURLΛൃߦ

Slide 90

Slide 90 text

࠷ޙʹ ίϩφՒͰ৭ʑͳ࢓૊ΈΛ࡞Δ্Ͱײͨ͜͡ͱ͸ɺ͜Ε·Ͱͱߟ͑ํΛ
 ม͑ͳ͍ͱߦ͚ͳ͍෦෼͕ଟ͍ ςϨϫʔΫ͸฻Β͠ͱີ઀Ͱ͋Δ͜ͱ ͜Ε·ͰՄࢹൣғʹ͋ͬͨ΋ͷ͕ݟ͑ͳ͍͜ͱ ಉ࣭Խͷఔ౓ʹΑΓΞϓϩʔν͕ҧ͏͜ͱ

Slide 91

Slide 91 text

͓͠·͍ ࠷৽ͷ࠾༻৘ใΛνΣοΫˠ !QC@SFDSVJU