Безопасность и доступ: роли, аудит, соответствие, Data Governance
В предыдущих темах курса мы построили технический контур DWH: архитектуры, моделирование, интеграцию, качество, эксплуатацию и SLA. Но есть класс требований, без которых DWH не считается «готовым продуктом данных»: безопасность, контроль доступа, аудит и Data Governance.
Эта тема отвечает на практический вопрос: как сделать так, чтобы данные в DWH были доступными для аналитики, но при этом защищенными, соответствовали требованиям (регуляторным и корпоративным) и управляемо развивались.
!Картина того, где в DWH живут механизмы доступа, защиты и аудита
Почему безопасность в DWH нельзя «добавить потом»
DWH объединяет данные из множества систем и становится точкой концентрации рисков:
компрометация DWH часто означает доступ сразу к нескольким доменам (продажи, финансы, клиентские данные)
ошибки в правах приводят к утечкам или к тому, что бизнес принимает решения на основе «не тех» данных
требования к воспроизводимости (SCD, backfill, ретеншн) вступают в конфликт с требованиями «удалить по запросу» или «не хранить лишнее», если это не спроектировано заранееБезопасность DWH тесно связана с темами курса:
интеграция и слои: права отличаются для Raw/Bronze, Silver и Gold
качество и публикация: публикация витрин должна учитывать не только quality gates, но и security gates
SLA и эксплуатация: аудит, мониторинг доступа и управление инцидентами становятся частью эксплуатацииБазовые понятия: что именно мы защищаем
Чтобы дальше не было «магии», договоримся о терминах.
Аутентификация: подтверждение, кто вы (пользователь, сервис, роль).
Авторизация: определение, что вам разрешено делать (читать таблицу, видеть колонку, менять модель).
PII (personally identifiable information): персональные данные, по которым можно идентифицировать человека (например, email, телефон).
Чувствительные данные: данные, утечка которых приводит к финансовому, юридическому или репутационному ущербу (PII, платежные данные, коммерческая тайна).
Принцип наименьших привилегий: доступы выдаются ровно в объеме, необходимом для задачи, и не больше.Контекстные материалы:
Принцип наименьших привилегий
Управление данными (Data governance)Контроль доступа: от IAM до прав на строки и колонки
Контроль доступа в DWH удобно рассматривать как несколько уровней, которые дополняют друг друга.
Уровень идентификации: кто именно выполняет действия
Практически в любом DWH есть как минимум три типа субъектов:
люди (аналитики, инженеры, аудиторы)
сервисные аккаунты (оркестратор, ingestion, трансформации)
внешние системы (BI-инструменты, reverse ETL)Практические требования:
раздельные учетные записи для людей и сервисов
запрет на «общие логины» и передачу паролей
минимизация долгоживущих секретов (пароли, статические токены)Уровень авторизации: RBAC и ABAC
Два наиболее используемых подхода:
RBAC (role-based access control): доступ выдаются через роли (например, bi_reader_sales, dwh_engineer, finance_controller).
ABAC (attribute-based access control): доступ определяется атрибутами субъекта и данных (например, регион пользователя, классификация датасета, среда prod/dev).Контекстные материалы:
RBAC
ABACПрактический вывод для DWH:
RBAC проще внедрить и сопровождать, поэтому это частый базовый слой
ABAC полезен, когда нужно гибко масштабировать правила (например, доступ по регионам или подразделениям)Разделение доступов по слоям DWH
Слои Raw/Bronze, Silver и Gold имеют разный риск-профиль и разную аудиторию.
Типовая политика:
| Слой | Основное содержимое | Кто читает | Кто пишет | Почему так |
|---|---|---|---|---|
| Raw/Bronze | данные близко к источнику, часто с PII, техполя ingestion | ограниченно инженеры данных | ingestion/CDC сервисы | максимальный риск, нужна трассируемость, минимум потребителей |
| Silver | очищенные и согласованные сущности, ключи, дедуп | аналитики с расширенными правами, DS | трансформации | меньше «грязи», но все еще возможны чувствительные атрибуты |
| Gold | витрины и метрики для потребления | BI и бизнес | трансформации/publish job | зона «продукта данных», здесь должны быть стабильные контракты и контролируемые доступы |
Практический прием: делайте Gold по умолчанию read-only для пользователей, а изменения в витринах проводите через код и pipeline, как обсуждалось в темах про оркестрацию и SLA.
Контроль доступа на уровне строк и колонок
Даже если пользователю можно читать таблицу, это не значит, что ему можно читать все строки и все поля.
RLS (row-level security): пользователь видит только часть строк (например, только свой регион).
CLS (column-level security): пользователь не видит или не может прочитать определенные колонки (например, email, телефон, паспортные данные).Практические сценарии:
один и тот же дашборд доступен филиалам, но каждый видит только свой филиал (RLS)
аналитика по клиентам доступна, но PII скрыто (CLS)Маскирование, псевдонимизация и анонимизация
Важно различать методы защиты данных, потому что они дают разный уровень риска.
Маскирование (masking): отображаем значение в скрытом виде (например, a*@mail.com). Часто используется для BI.
Псевдонимизация: заменяем идентификатор на токен, но возможность обратного восстановления существует при наличии ключей или таблиц соответствия.
Анонимизация: обратное восстановление невозможно или практически невозможно, но это сложнее гарантировать.Практический вывод: для большинства корпоративных DWH комбинация CLS + маскирование + псевдонимизация дает управляемый компромисс между аналитикой и рисками.
Защита данных: шифрование, секреты, сеть, резервные копии
Контроль доступа отвечает на вопрос «кому можно», но не решает риски компрометации инфраструктуры, резервных копий или каналов передачи.
Шифрование при передаче и хранении
Шифрование при передаче: защита каналов между источниками, DWH и BI (обычно через TLS). Это снижает риск перехвата.
Шифрование при хранении: защита данных на диске и в объектном хранилище. Это снижает риск утечки при компрометации носителя или неправильной утилизации.Для управляемости важно, чтобы был процесс управления ключами (ротация, ограничение доступа, журналирование операций с ключами).
Управление секретами
Секреты в DWH встречаются везде: доступ к источникам, ключи CDC, токены API, ключи шифрования, учетные данные сервисных аккаунтов.
Минимальный стандарт:
секреты не хранятся в репозитории кода
секреты ротируются
доступ к секретам выделен в отдельные роли и логируетсяСеть и изоляция сред
Практики, которые обычно дают максимальный эффект:
разделение dev/test/prod с разными аккаунтами и правами
запрет прямого доступа из публичного интернета к критичным данным
минимизация «сквозных» сетевых доступов от BI до RawРезервные копии и ретеншн
Резервные копии и архивы часто становятся «теневым DWH» без контроля доступа.
Практические правила:
бэкапы должны наследовать требования по доступу и классификации данных
сроки хранения должны быть определены для доменов данных
процедуры восстановления должны быть проверены (иначе это не резервная копия, а надежда)Аудит: кто, что, когда и почему сделал
DWH как продукт данных требует не только мониторинга пайплайнов (из темы про эксплуатацию), но и мониторинга действий пользователей и сервисов.
Что обычно должно попадать в аудит
Минимальный набор событий:
вход пользователя или сервиса (аутентификация)
выдача, изменение и отзыв прав
чтение чувствительных наборов данных
запуск тяжелых запросов и выгрузок
изменения схем, моделей и публикаций витринЗачем аудит нужен на практике
расследование инцидентов и утечек
доказуемость соответствия требованиям и внутренним политикам
разбор «почему изменились цифры» вместе с runtime lineage (связь запуска пайплайна, версии кода и появившихся данных)Важно: аудит должен храниться достаточно долго и быть защищен от изменения. Иначе он не выполняет функцию доказательства.
Соответствие требованиям: как переводить регуляторику в дизайн DWH
Регуляторные требования отличаются по индустриям и регионам, но их удобно переводить в инженерные вопросы.
GDPR: персональные данные и права субъекта
GDPR требует управлять персональными данными и правами человека (доступ, исправление, удаление, ограничение обработки).
Официальный текст:
GDPR на EUR-LexПрактические последствия для DWH:
понимать, где в DWH находится PII (классификация и каталог)
уметь находить все связанные записи по человеку (это связывается с MDM и mapping)
иметь политику ретеншна и удаления или исключения из витрин
иметь контроль доступа, который предотвращает распространение PII туда, где оно не нужноPCI DSS: платежные данные
Если вы работаете с данными карт, требования обычно сводятся к строгому ограничению доступа, маскированию, журналированию и минимизации хранения.
Официальный стандарт:
PCI DSSПрактический вывод: лучше хранить в DWH токены и агрегаты, чем первичные платежные реквизиты.
SOX и финансовые контуры
Для финансовой отчетности важны контролируемые изменения и воспроизводимость результатов.
Практики, которые обычно требуются:
контроль изменений моделей и метрик через код и ревью
неизменяемые журналы публикаций
разделение обязанностей: разработчик не должен единолично утверждать публикацию критичных витринData Governance: операционная модель управления данными
Data Governance отвечает на вопрос: кто принимает решения о данных, по каким правилам, и как эти правила исполняются.
Контекст:
Управление данными (Data governance)Типовые роли и ответственность
Ниже практическая схема, которая хорошо связывается с темами качества, lineage и SLA.
| Роль | За что отвечает | Типовые решения |
|---|---|---|
| Data Owner | бизнес-владелец данных и правил | что является метрикой, какие данные можно показывать, сроки хранения |
| Data Steward | качество и определения в домене | справочники, правила качества, описание полей и метрик |
| Data Custodian | техническая реализация и защита | доступы, шифрование, эксплуатация, аудит |
| Security/Compliance | соответствие политике и требованиям | требования к PII, аудит, реагирование на инциденты |
| Потребитель данных | корректное использование | соблюдение правил доступа, обратная связь по качеству |
!Кто и за что отвечает в управлении данными
Основные артефакты Governance, которые полезны для DWH
Классификация данных: правила, какие наборы считаются публичными, внутренними, конфиденциальными, содержащими PII.
Политика доступа: как запрашивать доступ, кто утверждает, на какой срок, как проводится пересмотр.
Глоссарий и определения метрик: то, что предотвращает «разные цифры».
Каталог данных: где есть описание таблиц, владельцы и теги чувствительности.
Контракты данных: ожидания от источников и слоев (схема, семантика, SLA, правила изменений).
Процедура управления изменениями: что считается изменением, кто согласует, как уведомляются потребители.Процесс выдачи доступа как управляемый контур
Чтобы доступы не превращались в «ручные исключения навсегда», полезен стандартный процесс:
запрос доступа с указанием цели и срока
проверка классификации данных
утверждение владельцем данных и (при необходимости) безопасностью
выдача роли, а не прямых прав
логирование выдачи
периодический пересмотр и отзывЭто напрямую снижает риск накопления «вечных доступов», которые часто становятся причиной инцидентов.
Практический минимум для проекта DWH
Если нужен короткий ориентир, что внедрять в первую очередь, обычно достаточно такого набора:
классифицировать ключевые наборы данных и пометить PII
построить RBAC-роли для основных групп пользователей и сервисов
ограничить Raw/Bronze от широкого чтения, публиковать Gold как основную точку потребления
включить RLS и CLS там, где витрины используются разными подразделениями
настроить маскирование или псевдонимизацию для PII в BI-сценариях
включить аудит доступа и изменений, хранить логи достаточно долго
закрепить роли Data Owner, Data Steward и Data Custodian хотя бы для Tier 1 витрин из темы про SLAИтоги
Безопасность и управление доступом в DWH не отдельная «надстройка», а часть зрелого продукта данных:
доступы строятся от идентичности и ролей (RBAC/ABAC) к ограничениям на строки и колонки (RLS/CLS)
защита включает не только права, но и шифрование, управление секретами, сетевую изоляцию и корректную работу с бэкапами
аудит связывает действия пользователей и сервисов с инцидентами, изменениями метрик и runtime lineage
Data Governance задает ответственность и правила, которые делают качество, SLA и безопасность исполнимыми