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.1k
trocco® にチーム機能を作った話
yosoka
June 06, 2023
Tweet
Share
Other Decks in Programming
See All in Programming
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
250
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
100
イベント駆動で成長して委員会
happymana
1
340
EMになってからチームの成果を最大化するために取り組んだこと/ Maximize team performance as EM
nashiusagi
0
100
みんなでプロポーザルを書いてみた
yuriko1211
0
280
カンファレンスの「アレ」Webでなんとかしませんか? / Conference “thing” Why don't you do something about it on the Web?
dero1to
1
100
Figma Dev Modeで変わる!Flutterの開発体験
watanave
0
140
RubyLSPのマルチバイト文字対応
notfounds
0
120
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
250
ローコードSaaSのUXを向上させるためのTypeScript
taro28
1
630
Featured
See All Featured
A Philosophy of Restraint
colly
203
16k
KATA
mclloyd
29
14k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
100
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Scaling GitHub
holman
458
140k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Side Projects
sachag
452
42k
Statistics for Hackers
jakevdp
796
220k
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 まとめ • グループ機能をグレードアップしてチーム機能としてリニューアルした • ある程度の要望を満たせたのでここからブラッシュアップしたい 💪 •
天才になった
ご清聴ありがとうございました