Masowanie danych Postgres za pomocą anonimizatora PostgreSQL

Masowanie danych Postgres za pomocą anonimizatora PostgreSQL
Korzystając z systemu zarządzania bazą danych PostgreSQL, musimy ukryć w całości lub część danych od użytkowników, aby chronić poufne dane i nieużywane. Można to zrobić poprzez różne podejścia, ale tutaj wyjaśnimy jeden z powszechnie używanych procesów maskowania danych.

Maskowanie danych

Jest to metoda stosowana do ochrony ważnych wrażliwych danych poprzez zastąpienie wartości niektórymi alternatywnymi wartościami, które są realistycznie równoważne. Maskowanie danych jest również znane jako parasol danych, które ukrywają w niej część i chroni dane przed niechcianymi użytkownikami.

PostgreSQL Anonmizer

Jest to rozszerzenie PostgreSQL, które jest tworzone w celu ukrycia lub zastąpienia danych osobowych lub zastosowania maski na informacjach. Ta technika jest stosowana z procedurą maskowania, tworząc role.

Funkcjonalność maskowania danych

Korzystając z maskowania danych, nasze wymagania prawne są potwierdzone, aby dane były prywatne, takie jak PCI-DSS i inne przepisy są tworzone w celu zapewnienia, że ​​dane pozostaną prywatne. Chroni tajemnice informacyjne, ponieważ wiele organizacji pracuje z krytycznymi rekordami, które powinny być chronione przed konkurentami.

Działanie procesu:

  • Konfigurujemy system PostgreSQL do konfigurowania maskowania danych.
  • Tworzymy użytkownika dla bezpiecznych kopii zapasowych.
  • Następnie powstaje również zamaskowana kopia zapasowa.
  • Bezpieczne kopie zapasowe są dostarczane deweloperom.

Rola

Rolą może być pojedynczy użytkownik lub grupa użytkowników. Rolą jest to, że jednostka bazy danych PostgreSQL, która zapewnia własność PostgreSQL i zapewnia uprawnienia do bazy danych. Na przykład użytkownik logowania to rola, która sprawia, że ​​nowy użytkownik zostanie zalogowany do bazy danych PostgreSQL. Za pośrednictwem poleceń i opcji panelu PGADMIN powstaje rola.

Realizacja

Przejdź do panelu administracyjnego PostgreSQL. Podaj hasło do połączenia bazy danych z serwerem po jej ustaleniu. Teraz otwórz narzędzie zapytania i użyj polecenia, aby utworzyć rolę. W PostgreSQL rola jest tworzona dla użytkownika poprzez zastosowanie dowolnego warunku lub logiki osobno do wszystkich poleceń. Ilekroć używamy tej roli w naszych poleceń, logika lub warunek są automatycznie stosowane do tego polecenia. Więc tutaj powstaje rola nazwana Rola1. Jako polecenie używamy zapytania podanego poniżej.

>> stwórz rolę roli1; Komentarz do roli 1 jest „zamaskowany”;

Spowoduje to komentarz zamaskowany na polecenie, w którym użyjemy roli. To pierwszy użyty komentarz, który będzie maskować lub ukryć przedmioty. Ilekroć chcemy maskować dowolny element lub kolumnę, użyjemy określonej roli w tej kolumnie. Po utworzeniu roli zastosujemy teraz wpływ na określoną kolumnę w tabeli. Więc wybierz tabelę, na której chcesz zastosować maskę. Wybraliśmy tabelę o nazwie „pacjent” o trzech atrybutach: id, nazwie i telefonu pacjenta.

>> Wybierz * od pacjentów;

To polecenie wyświetli dane w każdym wierszu. Teraz zastosujemy komentarz zamaskowanego na kolumnie „Nazwa”. „Anon” to nazwa rozszerzenia w folderze PostgreSQL. Tutaj wywoływana jest funkcja losowej_name (), która zwróci anonimową losową nazwę. I ta nazwa zostanie zastąpiona oryginalną nazwą. W ten sposób maska ​​jest stosowana do metod bezpieczeństwa.

>> Komentarz do pacjenta z kolumną.Nazwa jest „maskowana funkcją anon.Random_name () ';

Dostępuje to do tabeli, a następnie określonej kolumny, ponieważ widać, że zastosowana jest metoda „kropka”. Ta maska ​​ukryje oryginalne nazwy kolumny; Po zastosowaniu roli zobaczysz wyniki.

Następnym krokiem jest zastosowanie komentarza maski na kolumnie „telefony” tabeli „pacjent”. Część jest widoczna, podczas gdy inne będą ukryte. Znak dolara wskazuje, że tutaj pojawi się oryginalny numer. Podczas gdy „*” pokazuje, że liczba nie jest widoczna. Na miejscu liczby gwiazdka zostanie umieszczona tak jak w hasłach; litery są ukryte.

>> Komentarz do pacjenta z kolumną.telefony są „maskowane funkcją anon.częściowe (telefony, 2, $$*-***-** $$, 2) ';

Parametr „2” oznacza, że ​​tylko dwie liczby mogą być widoczne na obu końcach. Teraz użyjemy prostej instrukcji Select, aby wyświetlić wyniki określonego wiersza. Ten widok będzie tym, co zobaczy normalny użytkownik, na którym nie zastosowaliśmy żadnej maski.

>> Wybierz * od pacjenta, gdzie id = „3”;

Widać, że całe dane są widoczne. Normalny użytkownik może aktualizować, wyświetlić, usuwać i wykonywać prawie wszystkie operacje w relacji bazy danych PostgreSQL. Ale aby ograniczyć niektóre dane, używamy maski jako komentarza zastosowanego do roli. Korzystając z tej maski, użytkownik nie jest w stanie wykonać żadnej aktualizacji dotyczącej żadnego polecenia w tabeli, takiej jak usunięcie, aktualizacja, a nawet nie może poprawnie wyświetlić wyników. Jak widzieliśmy widok normalnego użytkownika, teraz zobaczymy, co zamaskowany użytkownik zobaczy podczas wykonywania tego samego zapytania. W tym celu musimy złożyć wniosek i ustawić rolę, którą stworzyliśmy na ten temat komentarze maski. W przeciwnym razie maska ​​nie zostanie zastosowana, a widok będzie taki sam jak powyżej.

>> ustawiaj rolę roli1; Wybierz * pacjent FRPM gdzie id = „3”;

Teraz przypomnij sobie komentarze, które zastosowaliśmy; Utworzono dwie maski. Jeden w kolumnie „Nazwa”, aby zastosować dowolną losową nazwę, a jedna na kolumnie „telefony”, aby ukryć częściowe dane. Teraz podczas egzekucji widać, że nazwa „Robert James” w wierszu 3 jest zastąpiona losową nazwą „arkusz”, a podobnie liczba w kolumnie „telefony” jest również ukryta. Tylko pierwsze i ostatnie dwie liczby są widoczne według stanu, który zastosowaliśmy.

Te „zamaskowane” komentarze są ważne, aby zachować prywatność. I aby utrzymać swoje dane nienaruszone i widoczne tylko dla osób, których chcesz.

Stosując rolę1, użytkownik chce pobrać zapis konkretnej osoby, stosując inne zapytanie.

>> ustawiaj rolę roli1; Wybierz * od pacjenta, gdzie nazwa ILIKE „Sushi Azaar”;

Słowo kluczowe „iLike” działa tak samo jak równe stwierdzenie. Po wykonaniu polecenia zobaczysz, że 0 wierszy są pokazane z powodu roli dodanej do polecenia; Jeśli usuniesz rolę z zapytania, wyniki zostaną wyświetlone z tabeli.

Podobnie, stosując teraz oświadczenie Usuń, ubiegając się o rolę.

>> Ustaw rolę roli1 Usuń od pacjenta, gdzie id = „3”;

Nie usunie żadnego wiersza z tabeli w miarę zastosowania roli, a zatem uprawnienia są ograniczone. A jeśli użytkownik spróbuje zaktualizować tabelę za pomocą zapytania, nie będzie w stanie tego zrobić, ponieważ rola jest wspomniana w poleceniu.

Wniosek

W tym artykule zawiera informacje dotyczące integralności danych od hakerów lub osoby, którą chcesz ukryć dane. Proces obejmuje maskowanie danych, które odbywa się poprzez utworzenie roli w PostgreSQL. Dane można wymienić lub częściowo ukryć. Oba typy są wyjaśnione przykładami zaimplementowanymi w kolumnie tabeli.