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
20250326_管理ツールの権限管理で改善したこと
Search
Tatsuya Sasaki
March 26, 2025
Technology
1
1.1k
20250326_管理ツールの権限管理で改善したこと
https://mixi.connpass.com/event/348533/
で発表した資料です。 #cre_meetup
Tatsuya Sasaki
March 26, 2025
Tweet
Share
More Decks by Tatsuya Sasaki
See All by Tatsuya Sasaki
20180912_小さな成功体験を積み重ねてチームで負債に立ち向かう_medbeer.pdf
sasata299
3
12k
Classi - Real Tech Night
sasata299
1
4.4k
20151129_Mroongaをとある教育サービスで導入してみた話
sasata299
0
4.9k
20150625_SpeeeTeckParty
sasata299
9
8.8k
前回のMF Geeks Nightに参加してから実践したこと
sasata299
0
990
20141125_エンジニアドリブンな改善の進め方
sasata299
0
2.2k
20140926_VagrantとDockerと普段思ってること
sasata299
2
5.3k
20140219_4社合同技術勉強会
sasata299
2
4.2k
AngularJSを使ったらこんなことが出来るよ
sasata299
40
71k
Other Decks in Technology
See All in Technology
AI駆動PjMの理想像 と現在地 -実践例を添えて-
masahiro_okamura
1
110
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
550
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
150
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
630
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
170
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
540
配列に見る bash と zsh の違い
kazzpapa3
1
130
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
150
2026年、サーバーレスの現在地 -「制約と戦う技術」から「当たり前の実行基盤」へ- /serverless2026
slsops
2
230
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.4k
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
230
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
180
Featured
See All Featured
BBQ
matthewcrist
89
10k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
120
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
120
Information Architects: The Missing Link in Design Systems
soysaucechin
0
770
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
120
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
We Are The Robots
honzajavorek
0
160
[SF Ruby Conf 2025] Rails X
palkan
1
750
Fireside Chat
paigeccino
41
3.8k
Ethics towards AI in product and experience design
skipperchong
2
190
Transcript
管理ツールの 権限管理で改善したこと 株式会社MIXI みてねプラットフォーム部 CREグループ 佐々木
達也
©MIXI 自己紹介 - ささたつ / @sasata299 - 男子3兄弟の父 - 騒がしい毎日・・
- みてねのCREとして頑張っています
家族アルバム みてねはスマホで撮った子どもの写真や動画を家族と共有 し、コミュニケーションして楽しむ家族アルバムサービスです。
©MIXI みてねのミッション 世界中の家族のこころのインフラをつくる
©MIXI みてねのCRE - 一般的なCREよりもスコープが広い - もともと CXE (Customer eXperience
Engineering) チームだった - カスタマーサポート向け、マーケティング向け、それ以外 - ユーザの信頼性向上に繋がることをやっていく! CS向け マーケ向け それ以外
©MIXI みてねのCRE - 一般的なCREよりもスコープが広い - もともと CXE (Customer eXperience
Engineering) チームだった - カスタマーサポート向け、マーケティング向け、それ以外 - ユーザの信頼性向上に繋がることをやっていく! ここの話をします! CS向け マーケ向け それ以外
©MIXI 前提)みてねの管理ツール - Ruby - ActiveAdmin + 自作のコントローラ -
複雑な処理を ActiveAdmin でやるの大変なので.. - CanCanCan で権限管理 - モデル単位で権限を指定する - 個人ではなく Role に対して権限を付与する 権限設定のイメージ
©MIXI セキュリティ面での漠然とした不安 - 管理ツールでは様々な情報を扱っている - 機能改修や権限追加は、各チームが進めている - 日々、機能や権限が増えていく
チームA チームB チームC 管理ツール
©MIXI 「何が課題なのか?」を具体化する - セキュリティチームとあるべき姿を検討 - 特に守るべき重要な情報は何か? - 権限は、必要な人に、必要なものだけにしたい
- 後から追跡可能に、など - 現状とのギャップ(=解決すべき課題)が見えてきた
©MIXI 解決すべき課題 - 必要以上の権限付与 - 重要情報への適切なアクセス - みてねでは、アップロードされた写真や動画
最小権限の原則 アクセスされる 情報の最小化 ✖
©MIXI 課題① 必要以上の権限付与 - 権限の棚卸し + 不要な権限の剥奪 - 権限付与に気付ける仕組み
- パスごとのアクセス制御の見える化
©MIXI 課題① 必要以上の権限付与 - 権限の棚卸し + 不要な権限の剥奪 - 直近1ヶ月のアクセス数を洗い出して、アクセスの少ない機能から段階的に棚卸しを依頼
- 業務に支障が出ないよう徐々に権限を絞っていった - 権限付与に気付ける仕組み - パスごとのアクセス制御の見える化
©MIXI 課題① 必要以上の権限付与 - 権限の棚卸し + 不要な権限の剥奪 - 権限付与に気付ける仕組み
- GitHubのコードオーナーを指定 - PR時に開発マネージャーに通知が飛ぶようにした - パスごとのアクセス制御の見える化
©MIXI 課題① 必要以上の権限付与 - 権限の棚卸し + 不要な権限の剥奪 - 権限付与に気付ける仕組み
- パスごとのアクセス制御の見える化 - 権限を追加/削除したときに、どのパスがアクセス可/不可になったのか?がわかりにくい - 実際に確認できると安心なのでは? - 各 Role で実際にアクセスして、そのときの status code をチェックするテストを作った - テストが今後も追加されるように管理ツールに機能追加されたらPRでコメントを残す
©MIXI この部分を見れば、どの Role がア クセスできるのか一目瞭然 (生きたドキュメントにもなる )
©MIXI このテストで気付いたこと - 誰も権限の無いパス - 権限管理が効いていないパス - ActiveAdmin で
member_action や collection_action を使って RESTful ではないカスタムメソッドを 定義することもできるが、権限チェックされない(!) - 公式にも書かれている けど明示的に authorize! を呼ぶ必要がある - 権限の不整合状態 - 読み取り権限がないのに書き込み権限だけ持っていた、など
©MIXI - リクエストしたユーザの情報だけが一時的に閲覧可能な仕組み - リクエストはDBに残るので後から検証可能 - アクセスする必要のない情報には(うっかり)アクセスできないようにする 参考:
内部不正の理由の約6割は故意が認められない“うっかり” 課題② 重要情報への適切なアクセス 閲覧制御 事前のリクエストあり 事前のリクエストなし ❌ ⭕
©MIXI まとめ - 権限を必要なものに絞り、アクセスされる情報を最小化した - 継続的な見直しや改善は必要 - 不要な権限を検知する仕組み -
重要情報が表示される機能が増えた際の対応、など - あるべき姿に向かって、引き続き一歩ずつ改善を進めていく