Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
SQL SECURITY特性の扱いと作ったパッチ
Search
tom--bo
August 27, 2024
110
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SQL SECURITY特性の扱いと作ったパッチ
tom--bo
August 27, 2024
More Decks by tom--bo
See All by tom--bo
DDLが取得するMDLの調査(私的)まとめ
tombo
3
190
安全なDDLの実行を目指して 〜(その1)取得するMDLの把握〜
tombo
0
200
MyRaft論文紹介
tombo
3
1k
2PC between Binlog and InnoDB
tombo
1
390
WIP: 2PC between binlog and InnoDB
tombo
1
280
Dive into InnoDB from redo logs
tombo
3
2k
MySQLアンカンファレンス01_mysqlredo
tombo
1
1.2k
MySQLアンカンファレンス 開催概要
tombo
0
350
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
590
My Coaching Mixtape
mlcsv
0
350
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The Cost Of JavaScript in 2023
addyosmani
55
10k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Speed Design
sergeychernyshev
33
2.2k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
710
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
ラッコキーワード サービス紹介資料
rakko
1
5.3M
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
790
Transcript
SQL SECURITY特性の扱い と 作ったパッチ MySQLアンカンファレンス 第6回 @tom__bo
SQL SECURITY句とは • VIEW, STORED FUNCTION/PROCEDUREなどを作成するときに 設定できるセキュリティコンテキスト • ex) CREATE
SQL SECURITY INVOKER VIEW V1 AS SELECT * FROM t1; • 設定できる値 • “DEFINER “ : オブジェクトの定義者のアカウント権限で実行 • “INVOKER “ : オブジェクトの呼び出し元のアカウント権限で実行 • デフォルトは”DEFINER”
ありがちなオペレーションミス • ユーザu1でVIEW作成 • 管理者ユーザでu1の削除 (SUPER or SET_USER_ID権限を持つ)
ありがちなオペレーションミス • VIEWを参照するとエラー • (補足: SET_USER_ID権限がないユーザからは消せない(8.0.22以降))
考えられる対策例 1. SET_USER_ID権限を適切に管理する • ユーザ削除にSUPER or SET_USER_ID権限をもつユーザを使わない 2. ユーザの削除前にDEFINERに指定されていないか確認 3.
DEFINERを絶対削除しない固定ユーザにする 4. 常にSQL SECURITY INVOKER で定義する SQL SECURITYのデフォルトを INVOKERにする設定とか作れない? 見てみますー (変数追加と数行の追加でできた)
作ったパッチ • default_sql_security_invoker = ONにするとデフォルトでSQL SECURITY INVOKERでオブジェクトが作成される
DEFAULTをINVOKERにするパッチ(プロトタイプ) • システム変数の定義(set sessionも可能な定義方法)
DEFAULTをINVOKERにするパッチ(プロトタイプ) • 作成時の条件分岐追加
疑問と感想 • 運用上SQL SECURITY 特性をどう管理されてます? • 1変数を追加するほどのことではない? • ちゃんと権限管理してないのが悪い気が... •
trigger, eventにはsql security特性がない DEFINER相当になるので、同じ方法は取れない
None