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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Satoshi Kaneyasu
December 13, 2024
Programming
850
1
Share
今年一番支援させていただいたのは認証系サービスでした
Satoshi Kaneyasu
December 13, 2024
More Decks by Satoshi Kaneyasu
See All by Satoshi Kaneyasu
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
2
150
Amazon_Cognito_で構築する_スケーラブルな_Web_アプリケーション__シングルページ_Web_アプリケーションに認証を組み込む_.pdf
satoshi256kbyte
0
20
人間とAI、どちらが書いたコードもCI/CDでチェックしてみよう
satoshi256kbyte
0
23
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
230
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎
satoshi256kbyte
1
37
人間とAI、どちらが書いたコードもCICDでチェックしてみよう
satoshi256kbyte
1
36
はじめてのカスタムエージェント【GitHub Copilot Agent Mode編】
satoshi256kbyte
0
490
お客様とSIerではじめたスクラム開発(で得た学び)
satoshi256kbyte
0
110
From Pipenv to UV: Migrating to a Monorepoto Tame a Complex Repository
satoshi256kbyte
0
62
Other Decks in Programming
See All in Programming
10年分の技術的負債、完済へ ― Claude Code主導のAI駆動開発でスポーツブルを丸ごとリプレイスした話
takuya_houshima
0
1.8k
Don't Prompt Harder, Structure Better
kitasuke
0
400
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
860
Radical Imagining - LIFT 2025-2027 Policy Agenda
lift1998
0
250
年間50登壇、単著出版、雑誌寄稿、Podcast出演、YouTube、CM、カンファレンス主催……全部やってみたので面白さ等を比較してみよう / I’ve tried them all, so let’s compare how interesting they are.
nrslib
4
720
Vibe하게 만드는 Flutter GenUI App With ADK , 박제창, BWAI Incheon 2026
itsmedreamwalker
0
540
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
230
KagglerがMixSeekを触ってみた
morim
0
370
Strategy for Finding a Problem for OSS: With Real Examples
kibitan
0
140
煩雑なSkills管理をSoC(関心の分離)により解決する――関心を分離し、プロンプトを部品として育てるためのOSSを作った話 / Solving Complex Skills Management Through SoC (Separation of Concerns)
nrslib
3
710
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
4
2.8k
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
550
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
The untapped power of vector embeddings
frankvandijk
2
1.7k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
170
Building Flexible Design Systems
yeseniaperezcruz
330
40k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.1k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
53k
Accessibility Awareness
sabderemane
0
94
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
Thoughts on Productivity
jonyablonski
76
5.1k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
790
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