PostgreSQL расширяет безопасность данных с помощью pgcrypto и анон

Обновлено: 7 июля, 2024

PostgreSQL, широко используемая и надежная система управления базами данных, известна своими передовыми возможностями обработки данных. В современную эпоху, когда безопасность данных крайне важна, PostgreSQL предлагает несколько расширений, предназначенных для повышения безопасности и конфиденциальности данных. В этой статье рассматривается использование расширений pgcrypto и анон для реализации шифрования и маскирования данных, что значительно повышает безопасность данных.

Настройка pgcrypto

Расширение pgcrypto предоставляет криптографические функции для PostgreSQL, позволяя безопасно шифровать данные и создавать хеши. Вот пошаговое руководство по установке и включению pgcrypto:

  1. Проверка доступных расширений:

    Сначала проверьте, доступно ли pgcrypto в вашей установке PostgreSQL:

    SELECT * FROM pg_available_extensions WHERE name='pgcrypto';

    Вы должны увидеть вывод, подобный этому:


    -- name | default_version | installed_version | comment
    -- -------+-----------------+-------------------+-------------------------
    -- pgcrypto | 1.3 | | cryptographic functions

  2. Создание расширения pgcrypto:

    Включите pgcrypto в вашей базе данных:

    CREATE EXTENSION pgcrypto;

  3. Проверка установки:

    Подтвердите, что pgcrypto установлено:

    SELECT * FROM pg_available_extensions WHERE name='pgcrypto';

    Вывод должен указывать, что pgcrypto установлено:


    -- name | default_version | installed_version | comment
    -- -------+-----------------+-------------------+-------------------------
    -- pgcrypto | 1.3 | 1.3 | cryptographic functions

Настройка расширения анон

Расширение анон в PostgreSQL помогает маскировать чувствительные данные, обеспечивая конфиденциальность. Вот как его настроить:

  1. Установка необходимых зависимостей:

    Установите необходимые пакеты перед созданием расширения анон:


    dnf install ddlx_14-0.27-1PGDG.rhel9.noarch.rpm
    dnf install python3-faker-13.3.3-1.el9.noarch.rpm
    dnf install postgresql_anonymizer_14-1.1.0-1.rhel9.x86_64.rpm

  2. Создание и настройка базы данных:

    Создайте новую базу данных и настройте её для использования расширения анон:


    CREATE DATABASE employee;
    ALTER DATABASE employee SET session_preload_libraries = 'anon';

  3. Включение расширения анон:

    Подключитесь к новой базе данных и создайте расширение анон:


    c employee;
    CREATE EXTENSION anon CASCADE;
    SELECT anon.init();

Реализация маскирования данных

Теперь создадим пример таблицы и применим маскирование данных:

  1. Создание примера базы данных и таблицы:

    Создайте новую базу данных и таблицу для хранения примерных данных:


    c employee;
    CREATE TABLE people (id INT, firstname VARCHAR(10), lastname VARCHAR(10), phone VARCHAR(15));
    INSERT INTO people (id, firstname, lastname, phone) VALUES (1, 'Kemal', 'Oz', '9012345678');

  2. Создание роли и предоставление разрешений:

    Создайте роль для доступа к данным и предоставьте необходимые разрешения:


    CREATE ROLE hr LOGIN;
    GRANT SELECT ON people TO hr;

  3. Применение маскирования данных:

    Включите динамическое маскирование и настройте правила маскирования:


    CREATE EXTENSION IF NOT EXISTS anon CASCADE;
    SELECT anon.start_dynamic_masking();

    Описание: Эта команда инициализирует динамическое маскирование данных, предоставляемое расширением анон.

    Цель: Активировать динамическое маскирование данных, что позволяет системе применять правила маскирования динамически при выполнении запросов.

    SECURITY LABEL FOR anon ON ROLE hr IS 'MASKED';

    Описание: Эта команда присваивает метку безопасности роли hr, указывая, что роль подлежит правилам маскирования данных.

    Цель: Указать, что роль hr подлежит правилам маскирования данных.

Таким образом, использование расширений pgcrypto и анон в PostgreSQL позволяет значительно повысить безопасность данных за счет шифрования и маскирования. Эти методы помогают защитить конфиденциальную информацию от несанкционированного доступа и обеспечивают высокий уровень безопасности данных.

Опубликовано: 7 июля, 2024

ЕЩЕ СТАТЬИ ПО ДАННОЙ ТЕМЕ

Поддержка Postgre SQL

Поддержка — это когда у вас возникает техническая
проблема с существующей системой,
и вам необходимо некоторое руководство