BiSoft Logo

Hizmetler

Ürünler

Ortaklık

Blog

Turkish

Genel

PostgreSQL ile Açık Kaynak Veri Maskeleme

Veritabanlarındaki veri maskeleme, hassas verileri yetkisiz kullanıcıların erişiminden gizleyerek (maskeliyerek) korumak için kullanılan bir tekniktir; veritabanının bu kullanıcılar için normal bir şekilde çalışmasına olanak tanırken. Veri gizliliğinin korunmasına yardımcı olur ve GDPR, HIPAA vb. düzenlemelere uyum sağlar.

Açık kaynak PostgreSQL Anonymizer'ı, bir Postgres veritabanındaki hassas verileri maskelemek için bir uzantı olarak kullanabilirsiniz.

5 farklı maskeleme yöntemi sunar:

  • Anonim Dökümler: Maskelenmiş verileri basitçe bir SQL dosyasına aktarın

  • Statik Maskeleme: Kurallara göre KİK'yi kaldırın

  • Dinamik Maskeleme: Maskelenmiş kullanıcılar için yalnızca KİK'yi gizleyin

  • Maskeleme Görünümleri: Maskelenmiş kullanıcılar için özel görünümler oluşturun

  • Maskeleme Veri Sarıcıları: Harici verilere maskeleme kuralları uygulayın

Bu blogda, postgresql anonimleştirici uzantısını nasıl kuracağınızı ve yapılandıracağınızı ve basit bir dinamik maskeleme örneğini göstereceğim.

Rocky Linux 8 ve PostgreSQL 17 için kurulum talimatları

PGDG RPM deposu tarafından sağlanan paketi kullanMAYIN. Bu paket eski.

  1. Depo ekle

sudo dnf install https://yum.dalibo.org/labs/dalibo-labs-4-1.noarch.rpm

2. rpm'i root kullanıcı olarak yükleyin

sudo yum install postgresql_anonymizer_17 -y

3. Veritabanı için uzantıyı yükleyin

[postgres@postgres01 ~]$ psql

psql (17.5)

Yardım için “help” yazın.

postgres=# alter database demodb SET session_preload_libraries = ‘anon’;

ALTER DATABASE

postgres=#

4. Uzantıyı oluştur

postgres=# \c demodb

Artık “demodb” veritabanına “postgres” kullanıcısı olarak bağlısınız.

demodb=# CREATE EXTENSION anon;

CREATE EXTENSION

demodb=# SELECT anon.init();

Dinamik Maskeleme Örneği

CREATE TABLE people ( id TEXT, firstname TEXT, lastname TEXT, phone TEXT);

INSERT INTO people VALUES (‘T1’,’Sarah’, ‘Conor’,’0609110911');


1. Adım : Dinamik maskeleme motorunu etkinleştirin

ALTER DATABASE demodb SET anon.transparent_dynamic_masking TO true;


2. Adım : Maskeleme kurallarını ilan edin

SECURITY LABEL FOR anon ON COLUMN people.phone

IS ‘MASKED WITH FUNCTION anon.partial(phone,2,$$******$$,2)’;

SECURITY LABEL FOR anon ON COLUMN people.lastname

IS ‘MASKED WITH FUNCTION anon.dummy_last_name()’;


3. Adım : Okuma erişimine sahip maskelenmiş bir kullanıcı ilan edin

CREATE ROLE skynet LOGIN;

SECURITY LABEL FOR anon ON ROLE skynet IS ‘MASKED’;

GRANT pg_read_all_data to skynet;


4. Adım : Maskelenmiş kullanıcı ile bağlanın

\c — skynet

SELECT * FROM people;


Gördüğünüz gibi telefon sütunu değerleri maskelenmiş ve soyad sütunu değerleri anonim hale getirilmiştir.

Geliniz postgres kullanıcısı ile bağlanalım ve asıl tablo değerlerini görelim.


Dinamik maskeleme anlık olarak maskeleme yaptığından, yalnızca verileri maskelemek istediğiniz roller maskelenmiş verileri görür. Diğer kullanıcılar gerçek değerleri görecektir.

PostgreSQL Anonymizer, veri maskeleme için kapsamlı ve güçlü bir uzantıdır. Hassas verilerinizi korumanıza ve anonimleştirmenize yardımcı olacak geniş bir özellik yelpazesi sunar. Aşağıdaki bağlantıda daha detaylı bilgi bulabilirsiniz.

https://postgresql-anonymizer.readthedocs.io/en/stable/

250'den fazla müşterimize katılın

İster uzman danışmanlık, ister özel yazılım, ister kapsamlı veri çözümleri arıyor olun, BiSoft yanınızda. Hedeflerinize nasıl katkı sağlayabileceğimizi konuşalım.

250'den fazla müşterimize katılın

İster uzman danışmanlık, ister özel yazılım, ister kapsamlı veri çözümleri arıyor olun, BiSoft yanınızda. Hedeflerinize nasıl katkı sağlayabileceğimizi konuşalım.

250'den fazla müşterimize katılın

İster uzman danışmanlık, ister özel yazılım, ister kapsamlı veri çözümleri arıyor olun, BiSoft yanınızda. Hedeflerinize nasıl katkı sağlayabileceğimizi konuşalım.

İş büyümesi ve verimliliği için akıllı veri çözümleri

Şirket

Hizmetler

Ürün

Vispeahen

BFM

BFM4Patroni

Daha fazla içerik