- Notifications
You must be signed in to change notification settings - Fork4.9k
Commit7faa5fc
committed
Add support for security invoker views.
A security invoker view checks permissions for accessing itsunderlying base relations using the privileges of the user of theview, rather than the privileges of the view owner. Additionally, ifany of the base relations are tables with RLS enabled, the policies ofthe user of the view are applied, rather than those of the view owner.This allows views to be defined without giving away additionalprivileges on the underlying base relations, and matches a similarfeature available in other database systems.It also allows views to operate more naturally with RLS, withoutaffecting the assignments of policies to users.Christoph Heiss, with some additional hacking by me. Reviewed byLaurenz Albe and Wolfgang Walther.Discussion:https://postgr.es/m/b66dd6d6-ad3e-c6f2-8b90-47be773da240%40cybertec.at1 parentf5576a2 commit7faa5fc
File tree
20 files changed
+1239
-75
lines changed- doc/src/sgml
- ref
- src
- backend
- access/common
- commands
- rewrite
- utils/cache
- include/utils
- test/regress
- expected
- sql
20 files changed
+1239
-75
lines changedLines changed: 11 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
156 | 156 |
| |
157 | 157 |
| |
158 | 158 |
| |
159 |
| - | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
160 | 170 |
| |
161 | 171 |
| |
162 | 172 |
| |
|
Lines changed: 3 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
608 | 608 |
| |
609 | 609 |
| |
610 | 610 |
| |
611 |
| - | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
612 | 614 |
| |
613 | 615 |
| |
614 | 616 |
| |
|
Lines changed: 89 additions & 16 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
137 | 137 |
| |
138 | 138 |
| |
139 | 139 |
| |
140 |
| - | |
141 |
| - | |
142 | 140 |
| |
143 | 141 |
| |
144 | 142 |
| |
| |||
152 | 150 |
| |
153 | 151 |
| |
154 | 152 |
| |
155 |
| - | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
156 | 169 |
| |
157 | 170 |
| |
158 | 171 |
| |
| |||
265 | 278 |
| |
266 | 279 |
| |
267 | 280 |
| |
268 |
| - | |
269 |
| - | |
270 |
| - | |
271 |
| - | |
272 |
| - | |
273 |
| - | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
274 | 320 |
| |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
275 | 342 |
| |
276 | 343 |
| |
277 | 344 |
| |
278 |
| - | |
279 |
| - | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
280 | 349 |
| |
281 | 350 |
| |
282 | 351 |
| |
| |||
387 | 456 |
| |
388 | 457 |
| |
389 | 458 |
| |
390 |
| - | |
391 |
| - | |
392 |
| - | |
393 |
| - | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
394 | 466 |
| |
395 | 467 |
| |
396 | 468 |
| |
| |||
486 | 558 |
| |
487 | 559 |
| |
488 | 560 |
| |
489 |
| - | |
| 561 | + | |
| 562 | + | |
490 | 563 |
| |
491 | 564 |
| |
492 | 565 |
| |
|
Lines changed: 9 additions & 4 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
174 | 174 |
| |
175 | 175 |
| |
176 | 176 |
| |
177 |
| - | |
178 |
| - | |
179 |
| - | |
180 |
| - | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
181 | 186 |
| |
182 | 187 |
| |
183 | 188 |
| |
|
Lines changed: 7 additions & 4 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2007 | 2007 |
| |
2008 | 2008 |
| |
2009 | 2009 |
| |
2010 |
| - | |
2011 |
| - | |
| 2010 | + | |
| 2011 | + | |
| 2012 | + | |
| 2013 | + | |
2012 | 2014 |
| |
2013 |
| - | |
2014 |
| - | |
| 2015 | + | |
| 2016 | + | |
| 2017 | + | |
2015 | 2018 |
| |
2016 | 2019 |
| |
2017 | 2020 |
| |
|
Lines changed: 11 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
140 | 140 |
| |
141 | 141 |
| |
142 | 142 |
| |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
143 | 152 |
| |
144 | 153 |
| |
145 | 154 |
| |
| |||
1996 | 2005 |
| |
1997 | 2006 |
| |
1998 | 2007 |
| |
| 2008 | + | |
| 2009 | + | |
1999 | 2010 |
| |
2000 | 2011 |
| |
2001 | 2012 |
| |
|
Lines changed: 15 additions & 4 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
169 | 169 |
| |
170 | 170 |
| |
171 | 171 |
| |
172 |
| - | |
| 172 | + | |
173 | 173 |
| |
174 | 174 |
| |
175 | 175 |
| |
| |||
215 | 215 |
| |
216 | 216 |
| |
217 | 217 |
| |
218 |
| - | |
219 |
| - | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
220 | 224 |
| |
221 | 225 |
| |
222 | 226 |
| |
| |||
259 | 263 |
| |
260 | 264 |
| |
261 | 265 |
| |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
262 | 270 |
| |
263 | 271 |
| |
264 |
| - | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
265 | 276 |
| |
266 | 277 |
| |
267 | 278 |
| |
|
Lines changed: 12 additions & 6 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
3242 | 3242 |
| |
3243 | 3243 |
| |
3244 | 3244 |
| |
3245 |
| - | |
3246 |
| - | |
3247 |
| - | |
3248 |
| - | |
3249 |
| - | |
| 3245 | + | |
| 3246 | + | |
| 3247 | + | |
| 3248 | + | |
| 3249 | + | |
| 3250 | + | |
| 3251 | + | |
3250 | 3252 |
| |
3251 | 3253 |
| |
3252 | 3254 |
| |
3253 | 3255 |
| |
3254 | 3256 |
| |
3255 | 3257 |
| |
3256 |
| - | |
| 3258 | + | |
| 3259 | + | |
| 3260 | + | |
| 3261 | + | |
| 3262 | + | |
3257 | 3263 |
| |
3258 | 3264 |
| |
3259 | 3265 |
| |
|
0 commit comments
Comments
(0)