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
trocco® にチーム機能を作った話
Search
yosoka
June 06, 2023
Programming
2
1.3k
trocco® にチーム機能を作った話
yosoka
June 06, 2023
Tweet
Share
Other Decks in Programming
See All in Programming
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
320
Catch Up: Go Style Guide Update
andpad
0
130
Reduxモダナイズ 〜コードのモダン化を通して、将来のライブラリ移行に備える〜
pvcresin
2
680
育てるアーキテクチャ:戦い抜くPythonマイクロサービスの設計と進化戦略
fujidomoe
1
150
iOS 17で追加されたSubscriptionStoreView を利用して5分でサブスク実装チャレンジ
natmark
0
510
CSC305 Lecture 01
javiergs
PRO
1
400
株式会社 Sun terras カンパニーデック
sunterras
0
210
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
3
370
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
7
1.5k
プログラミングどうやる? ~テスト駆動開発から学ぶ達人の型~
a_okui
0
190
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で
koxya
1
1k
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
490
Featured
See All Featured
Designing for humans not robots
tammielis
254
25k
Building Adaptive Systems
keathley
43
2.8k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Speed Design
sergeychernyshev
32
1.1k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Code Review Best Practice
trishagee
72
19k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Transcript
trocco®にチーム機能を作った話 2023.6 primeNumber Inc.
©primeNumber Inc. 2 yosoka WHO AM I? 株式会社primeNumber リードエンジニア 2022/03
入社 1 2
©primeNumber Inc. 3 • チーム単位でのロールベースアクセス制御を可能とする機能(有償オプション ◦ アカウント内でETL設定などのリソースをユーザー間で共有する機能 • チーム機能を利用していない場合、各設定は作成者のみ閲覧可能 •
契約オプション No.1 チーム機能とは?
©primeNumber Inc. 4 チーム機能ができる前 「グループ機能」という名でユーザー間共有のための機能は存在していた 1. ユーザーをグループに所属させる 2. 設定をグループに共有する 3.
設定をみんなで使える!
©primeNumber Inc. 5 チーム機能ができる前 ユーザーに2種類の権限を設定できる • admin:共有されたリソースに何でもできる • member:閲覧・実行のみ(編集不可)
©primeNumber Inc. 6 シンプルなのは良いことだが… 権限がざっくりしすぎていて細やかな制御ができない お客様の要望 • 参照はできるが実行・編集ができないように共有したい • 接続情報などセキュアなものは別グループで管理したい
• 複数グループで共有できるようにしたい グループ機能の問題
©primeNumber Inc. 7 2022年4月某日 ???「岡さんも入社1ヶ月経ったし、そろそろ大きめのタスクやりますか?」 岡「よくわからんけどやります」 そこで… グループ機能 リニューアルPRJ
©primeNumber Inc. 8 • AWSのようなポリシーJSONを作れるようにするか…? → 流石にユーザーも開発もたいへんだからボツ • グループのロールを増やすか…? →
複数グループへの共有などができず要望を満たせないのでボツ 考えたこと
©primeNumber Inc. 9 ロールベースの制御が必要かつ、複数グループで共有したい Google Drive の共有設定が似てるかも? → いい感じにいけそう! 考えたこと
©primeNumber Inc. 10 グループ機能では人とリソースが1つの箱に入っているイメージ 人だけの箱とリソースだけの箱に分けて、間をロールで繋げばよさそう 人とリソースをそれぞれまとめる チーム = 人だけの箱 リソースグループ
= リソースだけの箱
©primeNumber Inc. 11 チーム
©primeNumber Inc. 12 リソースグループ
©primeNumber Inc. 13 4種類の権限をサポート • 管理者:なんでもできる • 編集者:リソースの編集・実行ができる (リソースグループ自体に対する変更は不可) •
運用者:リソースの使用・実行のみできる • 閲覧者:リソースの閲覧のみできる ロール
©primeNumber Inc. 14 グループ機能からチーム機能への変換 お客様の使用状況をそのまま再現する必要がある 変換するためのスクリプトを作り、個社別にメンテナンス時間を頂いた
©primeNumber Inc. 15 • 正社員はなんでもできる、業務委託の方は実行権限のみにしたい • 他事業部は参考のため閲覧だけしたい ユースケース1 正社員チーム Aさん
業務委託チーム Bさん Cさん リソースグループ ETL設定1 ETL設定2 閲覧者 他事業部 Dさん 運用者 管理者
©primeNumber Inc. 16 • セキュア情報は使用のみで編集してほしくない • 転送設定などは編集してほしい ユースケース2 管理者チーム Aさん
メンバーチーム Aさん Bさん Cさん 機密リソースグループ セキュア情報1 セキュア情報2 リソースグループ ETL設定1 ETL設定2 管理者 管理者 運用者 編集者
©primeNumber Inc. 17 利用状況 管理者 運用者 編集者 閲覧者 とりあえず管理者にする人は多そう? 予想以上に運用者が利用されている
©primeNumber Inc. 18 • 影響範囲が広すぎる ◦ 入社1ヶ月で受けるタスクじゃない • お客様のマイグレーション ◦
全社同時に対応はできず、切り替えフラグを使いながら実施 ◦ ミスが許されないのでしっかり検算しながらやった ◦ 営業さん・CSさんありがとう🥰 大変だったこと
©primeNumber Inc. 19 • ワークフローの権限問題 ◦ ワークフロー中のタスクの権限が変わったら保存できなくなる ◦ 現状「リソースの作成者に問い合わせください」と表示するしかない イケてないところ1
©primeNumber Inc. 20 • 計算量が増大 ◦ グループ機能では計算量は線形だった (ユーザーがリソースと同じグループかどうか) ◦ ロール
* チームの計算量になった (各ロールのチームにユーザーが含まれるか) ▪ これにチェックしたいリソース数が掛けられる イケてないところ2
©primeNumber Inc. 21 • カスタムロールの対応 ◦ お客様が自由なロールを作れる • スーパー管理者の要望 ◦
すべてのリソースを管理したい ◦ 権限を付け替えたい • Google Driveのようなフォルダ管理 やれなかったこと(のびしろ)
©primeNumber Inc. 22 まとめ • グループ機能をグレードアップしてチーム機能としてリニューアルした • ある程度の要望を満たせたのでここからブラッシュアップしたい 💪 •
天才になった
ご清聴ありがとうございました