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
標準技術と独自システムで作る「つらくない」SaaS アカウント管理 / Effortless ...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yuya Takeyama
June 25, 2025
Technology
3
1.7k
標準技術と独自システムで作る「つらくない」SaaS アカウント管理 / Effortless SaaS Account Management with Standard Technologies & Custom Systems
2025/06/25 情シス・コーポレートITのSaaSアカウント管理 効率化の取り組み
https://findy.connpass.com/event/358280/
#情シス_findy
Yuya Takeyama
June 25, 2025
Tweet
Share
More Decks by Yuya Takeyama
See All by Yuya Takeyama
それぞれのペースでやっていく Bet AI / Bet AI at Your Own Pace
yuyatakeyama
1
760
プロダクト開発、インフラ、コーポレート、そしてAIとの共通言語としての Terraform / Terraform as a Common Language for Product Development, Infrastructure, Corporate Engineering, and AI
yuyatakeyama
7
2.4k
Terraformで実現するHR Driven Provisioningとアクセス制御の自動化 / HR Driven Provisioning and automation of access control using Terraform
yuyatakeyama
1
1.5k
GitHub Actions/Docker/Terraform/Renovate で最小限の Monorepo CD パイプラインを作る / Minimalistic Monorepo CD Pipeline with GitHub Actions, Docker, Terraform and Renovate
yuyatakeyama
5
690
コンパウンドスタートアップのためのスケーラブルでセキュアなInfrastructure as Codeパイプラインを考える / Scalable and Secure Infrastructure as Code Pipeline for a Compound Startup
yuyatakeyama
5
6.8k
スタディサプリ小中高のオブザーバビリティ / Observability in StudySapuri
yuyatakeyama
1
3k
スタートアップは Rails を使うべきか / Should Startups Ride on Rails?
yuyatakeyama
7
2.7k
How Quipper Works with CircleCI
yuyatakeyama
4
3.2k
Quipper のマイクロサービス化への道のり / Quipper's Road to Microservices
yuyatakeyama
5
2.3k
Other Decks in Technology
See All in Technology
「Blue Team Labs Online」入門 - みんなで挑むログ解析バトル
v_avenger
0
150
AIエージェント時代に備える AWS Organizations とアカウント設計
kossykinto
3
700
AWS DevOps Agent vs SRE俺 / AWS DevOps Agent vs me, the SRE
sms_tech
3
530
20260305_【白金鉱業】分析者が地理情報を武器にするための軽量なアドホック分析環境
yucho147
3
220
OCI技術資料 : コンピュート・サービス 概要
ocise
4
54k
僕、S3 シンプルって名前だけど全然シンプルじゃありません よろしくお願いします
yama3133
1
190
脳内メモリ、思ったより揮発性だった
koutorino
0
120
A Gentle Introduction to Transformers
keio_smilab
PRO
2
1k
ランサムウエア対策してますか?やられた時の対策は本当にできてますか?AWSでのリスク分析と対応フローの泥臭いお話。
hootaki
0
100
DX Improvement at Scale
ntk1000
3
460
トップマネジメントとコンピテンシーから考えるエンジニアリングマネジメント
zigorou
4
830
8万デプロイ
iwamot
PRO
2
230
Featured
See All Featured
The Curse of the Amulet
leimatthew05
1
9.8k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
130
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
310
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Design in an AI World
tapps
0
170
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
140
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
Mobile First: as difficult as doing things right
swwweet
225
10k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
190
Transcript
標準技術と独自システムで作る 「つらくない」SaaS アカウント管理 2025/06/25 情シス・コーポレート IT の SaaS アカウント管理 効率化の取り組み 竹山
雄也 (@yuya-takeyama) 株式会社 LayerX コーポレートエンジニアリング室 アプリケーションチーム
自己紹介 © LayerX Inc. 竹山 雄也 (@yuya-takeyama) 福岡出身・浅草在住 株式会社 LayerX
コーポレートエンジニアリング室 社内で利用するシステムや、それを構築するためのプラットフォームを作るのが仕事 すべての経済活動をデジタル化するために、すべての業務活動をデジタル化したいコー ポレートエンジニア 2
アジェンダ © LayerX Inc. LayerX における SaaS アカウント管理の課題 標準技術を活用した基盤整備 (SSO/SCIM)
独自システムによる自動化 ABAC Generator: 属性ベースのグループ管理自動化 Synthetix: 組織情報データ連携フレームワーク まとめ 3
1. LayerX における SaaS アカウント管理 の課題
組織の成長に伴う課題 手動でのアカウント・グループ管理が限界に © LayerX Inc. 全社で 400 名を超える規模に成長 毎月のように入社・異動が発生 利用する
SaaS の増加 Google Workspace, Slack, Notion, GitHub, AWS, 1Password, SmartHR, バクラク... 5
なぜアカウント・グループ管理が重要なのか? 生産性への影響 © LayerX Inc. メーリングリスト、カレンダー、ドライブでの情報共有 適切な権限がないと業務が滞る 毎回マネージャー等があらゆるサービスの権限を申請するのは生産的ではない 申請側も作業側も 複数サービス間で一貫したグループでのメンション
6
なぜアカウント・グループ管理が重要なのか? セキュリティ・ガバナンス システム化による統制の実現が急務 © LayerX Inc. 各種サービスでの権限管理 退職者のアカウント削除の徹底 内部統制の観点からも重要 (SOC1
Type2 への対応) 財務報告に係る内部統制の保証が必要 適切な権限管理プロセスの実装 監査証跡(ログ)の確保 7
参考: 統制とセキュリティの全体像 https://speakerdeck.com/kanny/effortless-governance-and-security-enabled-by-the-cloud CISO の星 (kanny) による「開発も運用もビジネス部門も! クラウドで実現する「つらくない」統制とセキュリティ」より © LayerX
Inc. 8
2. 標準技術を活用した基盤整備
SSO (Single Sign-On) の利用 Microsoft Entra ID を ID 基盤として採用
© LayerX Inc. 全社員のアカウントを一元管理 強力な認証機能 (MFA、Passwordless、条件付きアクセス) 原則として、ここでアカウントを止めればアクセスが止まることを目指す 10
SSO のメリット © LayerX Inc. パスワード管理の負担軽減 セキュリティポリシーの統一適用 アカウントのライフサイクル管理の簡素化 監査対応の効率化 11
SCIM による自動プロビジョニング SCIM (System for Cross-domain Identity Management) © LayerX
Inc. ユーザー・グループ情報の自動同期プロトコル Microsoft Entra ID → 各種 SaaS への自動連携 各サービス (Application) への割り当てによって、どのグループがどのサービスにアクセスできるかを管理できる 各種サービスにおける、手動でのアカウント作成・削除、グループの管理が原則不要に 12
SCIM 対応サービス でも、Microsoft Entra ID 上のグループ管理が大変... © LayerX Inc. Google
Workspace, Slack, Notion, GitHub, AWS, 1Password... まだまだ対応していないサービスも多い 13
3. 独自システムによる自動化
Microsoft Entra ID のグループ管理の課題 手動管理の限界 属性に基づいた自動化が必要 © LayerX Inc. 毎月の入社・異動に伴うグループメンバーの更新
「〜〜〜事業部の Biz マネージャー」のような複雑な条件のグループ 新任マネージャーは追加 退職者は削除 別事業部のマネージャーになる場合は削除 などなど 15
RBAC vs ABAC RBAC (Role-Based Access Control) ABAC (Attribute-Based Access
Control) © LayerX Inc. 役割ベースのアクセス制御 「管理者」 「一般」 「閲覧」などのロール 属性ベースのアクセス制御 部署、役職、雇用形態、職種などの属性で判断 16
課題: 多くの SaaS は RBAC しかサポートしない ABAC Generator というツールを実装 ©
LayerX Inc. SmartHR の属性情報を基に、自動的に Microsoft Entra ID のグループメンバーを更新 RBAC のシステム上で、擬似的に ABAC を実現 17
ABAC Generator によるグループ管理の流れ © LayerX Inc. 毎日定時で実行 任意のタイミングでの手動実行も可能 ABAC Generator
が実際にやるのは Terraform でのグループ定義ファイルの出力まで GitHub Actions で Pull Request を自動作成 人間がそれを approve してマージすると、CI/CD パイプラインによって適用される さらに自動プロビジョニングによって必要なサービスに同期される 18
ABAC Generator: グループの設定 ※かなり端折ってます © LayerX Inc. 19
ABAC Generator: Terraform ファイルの出力 SCIM が使えるサービスであれば、ABAC Generator で大体いい感じになった © LayerX
Inc. 20
新たな課題: バクラクの組織情報の同期 © LayerX Inc. バクラクは SCIM には未対応 開発チームにはめっちゃお願いしています!!! よくあるサービスとは違い、フラットな「グループ」
「ロール」ではなく、階層を持っ た組織図で管理されている 21
組織図の同期 © LayerX Inc. 当初、「組織図」を管理するサービスが 3 つ存在 SmartHR 勤怠打刻サービス バクラク
勤怠打刻サービスをバクラク勤怠に置き換えることに SmartHR から自動同期すれば、1 つだけの管理で良くなる! 22
Synthetix: データ連携フレームワーク 想定される将来の課題 © LayerX Inc. サービス間同期の組み合わせは今後も増える アドホックな実装では管理が困難に 拡張性のあるアーキテクチャが必要 23
2 つのアプローチ アプローチ 1: 組織情報マスタ (Single Source of Truth) アプローチ
2: 各所からデータを集約 © LayerX Inc. 理想的だが構築が大変 全業務・システムの改修が必要 既存システムはそのまま 段階的な改善が可能 24
Synthetix のアーキテクチャ © LayerX Inc. 25
Synthetix の特徴 © LayerX Inc. 中央に共通スキーマを持つ TypeScript のスキーマライブラリ zod を使用
データソースから Loader でスキーマに適合するデータを生成 スキーマに従ったデータを Processor で処理 今回はバクラクの組織情報の同期処理 要は TypeScript による組織情報の ETL パイプライン 26
共通の設計原則: 純粋関数をベースとした設計 © LayerX Inc. 事前に必要なデータを全部集める SmartHR、Microsoft Entra ID などから必要なデータを集約
データを元にあるべき状態を決める ABAC Generator: SmartHR の属性情報・設定 → Microsoft Entra ID のグループメンバー Synthetix: SmartHR の組織情報 → バクラクの組織図 あるべき状態に収束させる処理を行う 途中でエラーが起きても、収束するまでリトライすれば良い Terraform、Kubernetes 等のアイディアを参考に 27
それぞれのツールの成果 ABAC Generator Synthetix © LayerX Inc. 月次のグループ管理に関する手作業がほぼ不要に 元々は月の最終営業日に数時間かかけて行ったりしていた 特に問題なければ自動で作られた
Pull Request をチェックしてマージするだけに バクラク上の組織情報についても手作業がほぼ不要に バッチ処理を実行して、変更内容を確認し、適用するのみ ミスもほぼなくなった (あったとしたらバグなので修正することで対応可能) 28
4. まとめ
まとめ 標準技術の活用 独自システムの構築 © LayerX Inc. SSO: 全ての基本はこれ。原則として SSO が使えるサービスを選定する
SCIM: まだまだ使えないサービスも多いが、使えるサービスは使う IdP のグループ自体も属性ベースで自動化すると入退社・異動時の管理が楽になる SCIM が使えないケースはデータ連携の仕組みごと作ってしまっても良いかも 純粋関数をベースとした設計にすることで、安定したデータ連携が可能になる 30
ご清聴ありがとうございました @yuya-takeyama © LayerX Inc. 31