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
非ブラウザランタイムとWeb標準 / Non-Browser Runtimes and Web Standards
petamoriken
0
430
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
890
ATDDで素早く安定した デリバリを実現しよう!
tonnsama
1
1.9k
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
1.4k
テストコード書いてみませんか?
onopon
2
340
ゼロからの、レトロゲームエンジンの作り方
tokujiros
3
1.1k
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
400
カスタムエフェクトプラグインで Atom Craft をいい感じにする@ADX / ADX LE勉強会 vol.1
cox2
0
110
最近のVS Codeで気になるニュース 2025/01
74th
1
170
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
940
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
180
令和7年版 あなたが使ってよいフロントエンド機能とは
mugi_uno
11
5.4k
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Facilitating Awesome Meetings
lara
51
6.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.6k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
The Cost Of JavaScript in 2023
addyosmani
46
7.2k
How to Ace a Technical Interview
jacobian
276
23k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
240
The World Runs on Bad Software
bkeepers
PRO
66
11k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Writing Fast Ruby
sferik
628
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 まとめ • グループ機能をグレードアップしてチーム機能としてリニューアルした • ある程度の要望を満たせたのでここからブラッシュアップしたい 💪 •
天才になった
ご清聴ありがとうございました