Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for PostgreSQL
  • Начало работы
    • Все инструкции
      • Управление расширениями
      • pg_cron
      • pg_repack
      • pgaudit
      • pgcrypto
      • postgresql_anonymizer
      • Словари от Hunspell для полнотекстового поиска
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • История изменений
  • Обучающие курсы

В этой статье:

  • Установить расширение postgresql_anonymizer в кластер PostgreSQL
  • Пример использования
  1. Пошаговые инструкции
  2. Расширения и словари PostgreSQL
  3. postgresql_anonymizer

Использование postgresql_anonymizer в Managed Service for PostgreSQL

Статья создана
Yandex Cloud
Обновлена 2 декабря 2024 г.
  • Установить расширение postgresql_anonymizer в кластер PostgreSQL
  • Пример использования

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

Для анонимизации используется декларативный подход: можно объявить правила маскирования с помощью DDL и задать стратегию анонимизации в определении таблицы.

Способы анонимизации данных:

  • Статическое маскирование — заменяет конфиденциальные данные другими в соответствии с правилами маскирования. Восстановить исходные данные невозможно.
  • Обобщение — заменяет значение (число или дату) диапазоном, который содержит это значение.

Установить расширение postgresql_anonymizer в кластер PostgreSQLУстановить расширение postgresql_anonymizer в кластер PostgreSQL

Чтобы установить расширение postgresql_anonymizer в кластер PostgreSQL:

  1. Подключите к кластеру библиотеку общего пользования с именем anon.

  2. Добавьте расширение anon к базе данных.

  3. Назначьте владельцу этой базы данных роль mdb_admin или mdb_superuser, если это еще не сделано.

    Имя владельца можно запросить со списком баз данных в кластере.

Подробнее о расширении postgresql_anonymizer см. в официальной документации.

Пример использованияПример использования

В примере используется статическое маскирование: данные заменяются другими по правилам маскирования.

  1. Подключитесь к базе данных с помощью утилиты psql.

  2. Создайте таблицу employees и наполните ее данными:

    CREATE TABLE employees (
      id SERIAL,
      name TEXT,
      company TEXT,
      code TEXT
    );
    
    INSERT INTO employees
    VALUES
    (111,'Maria Belova','Bank of Saratov','405-657'),
    (222,'Pavel Petrov','Head and Hands','601-245')
    ;
    
  3. Проверьте результат:

    SELECT * FROM employees;
    
    id  |       name       |    company      |   code
    ----+------------------+-----------------+-----------
    111 | Maria Belova     | Bank of Saratov |  405-657
    222 | Pavel Petrov     | Head and Hands  |  601-245
    
  4. Объявите правила маскирования:

    SECURITY LABEL FOR anon ON COLUMN employees.company
    IS 'MASKED WITH FUNCTION anon.fake_company()';
    
    SECURITY LABEL FOR anon ON COLUMN employees.code
    IS 'MASKED WITH FUNCTION anon.random_zip()';
    
  5. Замените данные в замаскированных столбцах:

    SELECT anon.anonymize_database();
    
  6. Убедитесь, что данные в столбцах company и code изменились:

    id  |       name       |           company                |   code
    ----+------------------+----------------------------------+---------
    111 | Maria Belova     | Schneider, Phillips and Martinez |  82175
    222 | Pavel Petrov     | White, Hines and Ramos           |  49306
    

Была ли статья полезна?

Предыдущая
pgcrypto
Следующая
Словари от Hunspell для полнотекстового поиска
Проект Яндекса
© 2025 ООО «Яндекс.Облако»