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
今年一番支援させていただいたのは認証系サービスでした
Search
Satoshi Kaneyasu
December 13, 2024
Programming
940
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
今年一番支援させていただいたのは認証系サービスでした
Satoshi Kaneyasu
December 13, 2024
More Decks by Satoshi Kaneyasu
See All by Satoshi Kaneyasu
運用ダッシュボードの設計を誰も教えてくれないのだけどみなさんどうしてるんですか? - チームに監視するという文化を根付かせるための第一歩を踏みたい -
satoshi256kbyte
0
27
AWS CDK ExpressモードとCI/CDの組み合わせ
satoshi256kbyte
1
38
AWS CDK ExpressモードとCI/CDの組み合わせ
satoshi256kbyte
0
16
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
3
220
Amazon_Cognito_で構築する_スケーラブルな_Web_アプリケーション__シングルページ_Web_アプリケーションに認証を組み込む
satoshi256kbyte
0
43
人間とAI、どちらが書いたコードもCI/CDでチェックしてみよう
satoshi256kbyte
0
45
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
290
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎
satoshi256kbyte
1
63
人間とAI、どちらが書いたコードもCICDでチェックしてみよう
satoshi256kbyte
1
93
Other Decks in Programming
See All in Programming
Lean は証明の正しさを確認するためだけのツールって思ってませんか?
inoueasei
1
110
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
730
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
540
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
670
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.6k
数百円から始めるRuby電子工作
tarosay
0
110
Go言語とトイモデルで学ぶTransformerの気持ち / fukuokago23-transformer
monochromegane
0
140
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
610
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
240
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
270
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
140
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
150
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
320
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
200
Designing Experiences People Love
moore
143
24k
Tell your own story through comics
letsgokoyo
1
1k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
390
The Mindset for Success: Future Career Progression
greggifford
PRO
0
430
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
GitHub's CSS Performance
jonrohan
1033
470k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
980
Transcript
今年一番支援させていただいたのは 認証系サービスでした 2024.12.14 SATOSHI KANEYASU
2 自己紹介 氏名:兼安 聡 所属:株式会社サーバーワークス(中途2年目) アプリケーションサービス部 在住:広島(フルリモート) 担当:DevOps、技術支援、PM、SM 2024 Japan
AWS Top Engineers (Database) 2024 Japan AWS All Certifications Engineers 認定スクラムマスター X:@satoshi256kbyte
3 今回のお話 ➢業務でPoC、サービス開発、アーキテクチャ見直しなどの技術支援をしています。 ➢今年はどの案件でも認証系サービスは必ず支援対象に入っていたので、その話をします。 ➢最初から最後までAWSの話しかしてないのでご容赦を
目次 1. サービス分割を進めるためのAmazon Cognitoの導入 2. AWS外にある認証プロバイダーとの連携 3.2025年はAWS IAM Identity Centerが肝になりそう
4. まとめ
サービス分割を進めるためのAmazon Cognitoの導入
6 サービス分割を進めるためのAmazon Cognitoの導入 ➢モノリシックなシステムのアーキテクチャの見直しで、認証周りに手を入れる ➢この時にAmazon Cognitoが出てくる
7 Amazon Cognitoとは ➢AWSのマネージドな認証認可サービス ➢ID管理 ➢Cognito側でユーザー情報を管理することが可能 ➢必ずしもシステム側でユーザー情報をDBに持つ必要はない ➢ユーザー認証 ➢すぐ使えるログイン画面、パスワード変更画面が提供されている ➢自前で作ることも可能
➢ソーシャルログイン(Google、Facebook、Amazon、Apple)に対応 ➢他の認証・認可サービスとしては、Auth0、OneLogin、Oktaなどがある ➢サービスではなくインストールするものなら、Keycloakもある
8 サービス分割(マイクロサービス)におけるAmazon Cognitoの役割 ➢サービスを分割する理由は、デザインを外部に 依頼したい、一部の機能に引っ張られて全体 が遅くなるのを防ぐ、拡張性を得る、などがある ➢サービスを分割する場合、認証に関する情報 は外出しにしないとサービスが繋がらない (都度ログインが必要になってしまう) ➢「認証も一個のサービスなんですよ」
という説明にAmazon Cognitoは都合がよい ➢この方式では以下の質問をよくいただく ➢ セッションに溜めていた情報をどこに持たせるのか ➢ ユーザーマスタの結合はどうするのか ログインしてるかどうか をここで管理する
9 【よくある質問】セッションに溜めていた情報をどこに持たせるのか ➢セッションに、ログインしてるかどうかだけでなく、 ショッピングサイトにおけるカートのような、 ユーザーごとの情報を格納しているケースがある ➢これらの情報はCognitoに持たせるのは難しい ので、Cognitoとはまた別の格納先を設けるよ う勧めている ➢Cognitoへの過剰アクセスを軽減する意味も ある
➢ Cognitoへの過剰アクセスはクォータ(上限)に引っ かかることがある ユーザーごとの キャッシュやカート情報な どはここへ
10 【よくある質問】ユーザーマスタとの結合はどうするのか ➢Amazon Cognitoにユーザー情報を作らな いと、Cognitoでログインできないが、ここに全 部持たせると他のデータとの結合に困るパター ンが多い ➢割り切ってフルのユーザーマスタはDBに持たせ て、Cognitoにはログインに必要な最低限の 情報だけ持たせるあえての二重管理方式を勧
めている ユーザーマスタは DBに持たせる アプリはDBと Cognito両方に更新をかける ログインに必要な 最低限の情報を持たせる
11 アプリケーションサーバーのリクエストごとの処理 ① Cognitoにログイン済かどうか問い合わせる ➢ 未ログインならCognitoのログイン画面に転 送 ② ログイン済みならインメモリデータベースからユー ザー情報取得
③ インメモリデータベースからデータが得られないな ら、RDBに問い合わせてユーザー情報取得 ④ RDBから得たユーザー情報などはインメモリデー タベースに格納、次回以降の高速化に繋げる ① ② ③
12 【余談】LINEログインの需要が高い ➢技術支援をして初めて分かったが、LINEログインの需要がかなり高い ➢LINEはCognitoでフォローしてないので独自実装になる ➢普段LINEログインを使わないので気にしていなかった、まだまだ顧客に聞かないとわからないこ とは多いなと感じた
AWS外にある認証プロバイダーとの連携
14 AWS外にある認証プロバイダーとの連携 ➢こちらは2024年の前半によく挙がっていたパターン ➢AWSにはAmazon API Gatewayというサービスがあり、これを使ってAPIを公開することが 可能 ➢この時、APIに認証をかけることができ、認証プロバイダーにはAmazon Cognitoや外部の認 証プロバイダーを使うことができる
15 認証プロバイダーからユーザーの権限を得て生成AIに渡す ➢このパターンは認証プロバイダーからユーザーの権限を得て生成AIに渡し、生成AIにユーザー の権限で見える範囲のデータから回答を作成・返却するために求められた ➢2024年の後半は、私の営業力のせいかあまり出会わなくなった
16 ディレクトリ・サービスの技術者不足 ➢私のところに話が回ってきたのは、外部認証プロバイダーがディレクトリ・サービスだったので、知 識を持ってる人、もしくはやり切れる人がいなかったという背景がある ➢ディレクトリ・サービスの知識がある技術は現在も不足している印象
2025年はAWS IAM Identity Centerが肝になりそう
18 AWSは2024年も多数の新サービスやアップデートをリリース ➢AWS App Studio ➢Amazon Q Developer ➢Amazon CodeCatalyst
これらは、AWS IAM Identity Centerを利用することが前提、もしくは推奨され るようになっいる。 AWS IAM Identity Centerは、AWSサービスの認証・認可を一元管理するサービ スで、Amazon Cognitoとは別のサービス。 AWS IAM Identity Centerを使わないとAWSの特にAIを使ったサービスの恩恵を 受けにくくなる状況が考えられる。
19 AWS IAM Identity Centerとは 画像引用:サーバーワークスエンジニアブログ ➢AWS IAM Identity CenterはAWSアカウ
ントやアプリケーションへのアクセス制御を一元 的に管理するサービス ➢マルチアカウント上で有益なサービス ➢現状、広くノウハウが知れ渡ってるとは言えな いサービス 2025年はこれの運用方法確立が肝になりそ う ➢個人的にはマルチアカウントをするほどでもない 事業者ほどAIの恩恵を受けるべきと思うので なんとかしたい
まとめ
21 まとめ ➢その昔、認証はそれだけでご飯食べれると聞いていたが、今も変わらないなと感じた一年だった ➢Amazon Cognitoを軸としたサービス分割の支援は、まだしばらく需要が続くと考えられる ➢生成AIのための認証系の需要は小休止かも ➢AWSの新サービスやアップデートを見る限り、AWS IAM Identity Centerを利用することが
前提のサービスが増加しているため、2025年はIAM Identity Centerについての深い理解 と運用方法の確立が重要となりそう
22 ありがとうございました
None