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.2k
trocco® にチーム機能を作った話
yosoka
June 06, 2023
Tweet
Share
Other Decks in Programming
See All in Programming
すべてのコンテキストを、 ユーザー価値に変える
applism118
2
490
WindowInsetsだってテストしたい
ryunen344
1
190
レガシーシステムの機能調査・開発におけるAI利活用
takuya_ohtonari
0
610
社内での開発コミュニティ活動とモジュラーモノリス標準化事例のご紹介/xPalette and Introduction of Modular monolith standardization
m4maruyama
1
130
Is Xcode slowly dying out in 2025?
uetyo
1
180
童醫院敏捷轉型的實踐經驗
cclai999
0
130
統一感のある Go コードを生成 AI の力で手にいれる
otakakot
1
3k
CursorはMCPを使った方が良いぞ
taigakono
0
150
GraphRAGの仕組みまるわかり
tosuri13
7
470
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
250
エンジニア向け採用ピッチ資料
inusan
0
150
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
1
380
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
94
14k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Side Projects
sachag
455
42k
Why Our Code Smells
bkeepers
PRO
337
57k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Into the Great Unknown - MozCon
thekraken
39
1.9k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
Fireside Chat
paigeccino
37
3.5k
It's Worth the Effort
3n
184
28k
Automating Front-end Workflow
addyosmani
1370
200k
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 まとめ • グループ機能をグレードアップしてチーム機能としてリニューアルした • ある程度の要望を満たせたのでここからブラッシュアップしたい 💪 •
天才になった
ご清聴ありがとうございました