sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvorfor er rækkeniveausikkerhed ikke aktiveret for Postgres-visninger?

Grundlæggende fordi det ikke var muligt med tilbagevirkende kraft at ændre, hvordan synspunkter fungerer. Jeg vil gerne være i stand til at understøtte SECURITY INVOKER (eller tilsvarende) for synspunkter, men så vidt jeg ved, findes der ikke en sådan funktion i øjeblikket.

Du kan normalt filtrere adgangen til visningen med rækkesikkerhed.

De tabeller, som visningen får adgang til, vil også have deres rækkesikkerhedsregler anvendt. De vil dog se current_user som visningsskaber fordi visninger får adgang til tabeller (og andre visninger) med rettighederne til den bruger, der har oprettet/ejer visningen.

Måske ville det være værd at rejse dette på pgsql-hackere, hvis du er villig til at træde ind og hjælpe med udviklingen af ​​den funktion, du har brug for, eller pgsql-generelt ellers?

Når det er sagt, mens du ser adgangstabeller som den oprettende bruger og ændrer current_user derfor forhindrer de dig ikke i at bruge tilpassede GUC'er, session_user , eller andre kontekstuelle oplysninger i rækkesikkerhedspolitikker. Du kan bruge rækkesikkerhed med visninger, bare ikke (nyttigt) til at filtrere baseret på current_user .



  1. Begrænsning af upload af dokumenter

  2. Standard rækkefølge i SELECT-forespørgsel - SQL Server 2008 vs SQL 2012

  3. SQLException:Ingen passende driver fundet

  4. Mysql dato advarselsdata afkortet