Postgres Data Maskering med PostgreSql Anonymizer

Postgres Data Maskering med PostgreSql Anonymizer
Mens vi bruker PostgreSQL -databasestyringssystemet, må vi skjule hele eller en del av dataene fra brukerne for å holde sensitive data beskyttet og ubrukt. Dette kan gjøres gjennom forskjellige tilnærminger, men her vil vi forklare en av de ofte brukte prosessene med datamasking.

Data maskering

Det er metoden som brukes for å beskytte viktige sensitive data ved å erstatte verdiene med noen alternative verdier som er realistisk likeverdige. Data maskering er også kjent som en paraply for dataene som skjuler delen i den og beskytter dataene mot uønskede brukere.

PostgreSQL Anonymizer

Det er en postgreSQL -utvidelse som er opprettet for å skjule eller erstatte personlige detaljer eller bruke en maske på informasjonen. Denne teknikken brukes med maskeringsprosedyren ved å lage roller.

Funksjonaliteten til datamaskering

Ved å bruke datamasking blir våre juridiske krav bekreftet for å holde dataene private, som PCI-DSS og andre forskrifter for å sikre at data vil holde seg private. Det beskytter informasjonshemmelighetene ettersom mange organisasjoner jobber med kritiske poster på høyt tid, som bør beskyttes mot konkurrenter.

Arbeid av prosessen:

  • Vi konfigurerer PostgreSQL -systemet for å konfigurere datamaskingen.
  • Vi oppretter en bruker for sikre sikkerhetskopier.
  • Da opprettes også en maskert sikkerhetskopi.
  • De sikre sikkerhetskopiene blir gitt til utviklerne.

Rolle

En rolle kan være en enkelt bruker eller kanskje en gruppe brukere. En rolle er den enheten i PostgreSQL -databasen som gir PostgreSQL -eierskap og gir databaseprivilegiene. For eksempel er en påloggingsbruker en rolle som gjør at den nye brukeren blir logget inn på PostgreSQL -databasen. Gjennom kommandoene og PGADmin -panelalternativene opprettes en rolle.

Gjennomføring

Gå til administratorpanelet til PostgreSQL. Oppgi passordet for tilkoblingen til databasen med serveren når den er etablert. Åpne nå spørringsverktøyet og bruk kommandoen til å lage en rolle. I PostgreSQL opprettes det en rolle for brukeren ved å bruke enhver tilstand eller logikk separat på alle kommandoene. Hver gang vi bruker den rollen i våre kommandoer, blir logikken eller tilstanden automatisk brukt på den kommandoen. Så her opprettes en rolle som heter rolle1. Som kommando bruker vi spørringen gitt nedenfor.

>> skape rolle rolle1; Kommentar til rolle Rollen1 er 'maskert';

Dette vil føre til en kommentar maskert på kommandoen der vi vil bruke rollen. Dette er den første kommentaren som brukes som vil maskere eller skjule varene. Hver gang vi ønsker å maskere ethvert element eller kolonne, vil vi bruke den spesifiserte rollen i den kolonnen. Etter å ha opprettet rollen, vil vi nå bruke effektene på en bestemt kolonne i en tabell. Så velg et bord du vil bruke en maske. Vi har valgt en tabell som heter 'pasient' med tre attributter: ID, navn og telefon av en pasient.

>> Velg * fra pasienter;

Denne kommandoen vil vise dataene i hver rad. Nå vil vi bruke kommentaren til maskert på kolonnen 'Navn'. 'Anon' er navnet på utvidelsen i PostgreSQL -mappen. Her kalles Random_name () -funksjonen, som vil returnere et anonymt tilfeldig navn. Og det navnet vil bli erstattet med det opprinnelige navnet. Slik brukes en maske for sikkerhetsmetoder.

>> Kommentar til kolonnepasient.Navnet er 'maskert med funksjon anon.random_name () ';

Dette vil få tilgang til tabellen og deretter den spesifiserte kolonnen, som du kan se at en "prikk" -metode brukes her. Denne masken vil skjule de opprinnelige navnene på kolonnen; Når rollen blir brukt, vil du se resultatene.

Neste trinn er å bruke kommentaren til en maske på kolonnen 'Telefoner' til tabellen 'pasient'. En del er synlig, mens andre vil være skjult. Dollarskiltet indikerer at her vil det opprinnelige nummeret vises. Mens '*' viser at tallet ikke er synlig. I stedet for tallet vil en stjerne blir plassert akkurat som i passordet; Brevene er skjult.

>> Kommentar til kolonnepasient.Telefoner er 'maskert med funksjon anon.delvis (telefoner, 2, $$*-***-** $$, 2) ';

Parameteren '2' betyr at bare to tall kan være synlige i begge ender. Nå vil vi bruke en enkel Select -setning for å se resultatene fra en bestemt rad. Denne visningen vil være det en normal bruker vil se, som vi ikke har brukt noen maske.

>> velg * fra pasient der id = '3';

Du kan se at hele dataene er synlige. En normal bruker kan oppdatere, se, slette og utføre nesten alle operasjoner på forholdet til PostgreSQL -databasen. Men for å begrense noen data, bruker vi masken som kommentar som brukes på rollen. Ved å bruke denne masken kan en bruker ikke utføre noen oppdatering angående noen kommando på tabellen som å slette, oppdatere eller til og med ikke kan se resultatene riktig. Som vi har sett den normale brukerens visning, vil vi nå se hva den maskerte brukeren vil se på utførelsen av samme spørsmål. For dette formålet må vi bruke og sette den rollen vi har skapt maske -kommentarer til den. Ellers vil ikke masken bli brukt, og utsikten vil være den samme som ovenfor.

>> sett rollen rolle1; Velg * FRPM -pasient der ID = '3';

Husk nå kommentarene vi har brukt; To masker ble opprettet. En på kolonnen 'Navn' for å bruke et tilfeldig navn, og en på kolonnen 'Telefoner' for å skjule delvise data. Nå ved utførelse kan du se at navnet 'Robert James' på rad 3 erstattes med et tilfeldig navn 'Sheetle', og på samme måte er nummeret i kolonnen 'Telefoner også skjult. Bare de første og de to siste tallene er synlige i henhold til tilstanden vi har brukt.

Disse 'maskerte' kommentarene er viktige for å holde privatlivet. Og for å holde dataene dine intakte og synlige bare for menneskene du ønsker.

Ved å bruke rolle1, ønsker brukeren å hente posten til en bestemt person ved å bruke et annet spørsmål.

>> sett rollen rolle1; Velg * fra pasienten der navnet ilike 'sushi azaar';

Det 'ilike' nøkkelordet fungerer som det samme som en lik uttalelse. Ved utførelse av kommandoen vil du se at 0 rader vises på grunn av rollen som er lagt til kommandoen; Hvis du fjerner rollen fra spørringen, vises resultatene fra tabellen.

Tilsvarende bruker nå en sletterklæring ved å søke om rollen.

>> sett rollen rolle1 slett fra pasient der id = '3';

Den vil ikke slette noen rad fra tabellen ettersom rollen blir brukt, og derfor er privilegiene begrenset. Og hvis brukeren prøver å oppdatere tabellen ved å bruke en spørring, vil han/hun ikke kunne gjøre det som rollen er nevnt i kommandoen.

Konklusjon

Denne artikkelen inneholder informasjon om dataintegritet fra hackerne eller personen du vil skjule dataene. Prosessen innebærer datamasking, som gjøres ved å skape en rolle i PostgreSQL. Data kan erstattes eller delvis skjult. Begge typene er forklart med eksempler som er implementert på en kolonne i tabellen.