Поделиться через


Управление доступом на основе атрибутов каталога Unity (ABAC)

Это важно

Эта функция доступна в бета-версии.

На этой странице описывается управление доступом на основе атрибутов (ABAC) в каталоге Unity.

Что такое ABAC?

ABAC — это модель управления данными, которая обеспечивает гибкий, масштабируемый и централизованный контроль доступа в Azure Databricks. ABAC дополняет существующую модель привилегий каталога Unity, позволяя определять политики на основе управляемых тегов, которые применяются к ресурсам данных. Это упрощает управление и повышает уровень безопасности.

Пользователи с MANAGE разрешениями или владельцем объектов нуждаются только в определении политик один раз и могут применять их последовательно во многих ресурсах данных. Политики присоединяются на уровне каталога, схемы или таблицы и автоматически применяются ко всем таблицам в этой области. При определении на более высоком уровне политики наследуются вниз до дочерних объектов. Управляемые теги для ресурсов данных определяют, какие политики применяются, позволяя управлять доступом динамически.

Преимущества ABAC

  • Масштабируемость: Управление элементами управления доступом в масштабе путем использования тегов вместо отдельных разрешений.
  • Гибкость: Легко настраивать управление путем обновления тегов или политик без изменения каждого ресурса данных.
  • Централизованное управление: Упрощение управления политиками с помощью единой модели, которая охватывает каталоги, схемы и таблицы.
  • Улучшенная безопасность: Динамическое применение элементов управления доступом на основе атрибутов данных.
  • Возможность аудита: Обеспечение видимости доступа к данным в режиме реального времени с помощью комплексных журналов аудита.

Как работает ABAC

ABAC в каталоге Unity использует управляемые теги, политики и определяемые пользователем функции для обеспечения динамического управления доступом на основе атрибутов. Следующие компоненты и механизмы являются центральными для ABAC:

  • Управляемые теги: Управляемые теги определяются на уровне учетной записи с помощью политик тегов. Эти теги представляют такие атрибуты, как конфиденциальность данных, классификация или бизнес-домен, а также назначаются таблицам, схемам или каталогам в каталоге Unity. Они служат атрибутами, которые обеспечивают выполнение политики. См. политики тегов и применение тегов к защищаемым объектам каталога Unity.

  • Политики: Политики создаются и управляются на трех иерархических уровнях в каталоге Unity:

    • Уровень каталога: Применение широких политик, влияющих на все содержащиеся схемы и таблицы.
    • Уровень схемы: Применение политик, относящихся к схеме и ее таблицам.
    • Уровень таблицы: Примените детализированные политики непосредственно к отдельным таблицам.

    Политики следуют модели наследования: если политика определена на уровне каталога или схемы, она автоматически применяется ко всем дочерним объектам, схемам и таблицам в этой области. Это позволяет администраторам реализовать высокоэффективное управление, применяя одну политику, которая управляет большими объемами активов данных. Унаследованные политики снижают избыточность и повышают согласованность применения в иерархии данных. Databricks рекомендует определять политики на самом высоком применимом уровне, как правило, в каталоге, чтобы максимально повысить эффективность управления и сократить административные издержки. Ознакомьтесь с созданием и управлением политиками доступа на основе атрибутов (ABAC).

  • Пользовательские функции (UDFs): Пользовательские функции — это функции, определенные на уровне схемы, и их можно использовать глобально в пространстве имен каталога Unity. Функции, определяемые пользователем, используются в политиках для выражения сложной логики, например, для фильтрации строк или маскирования значений столбцов на основе атрибутов. Например, UDF с именем filter_region может применяться в политике фильтрации строк, чтобы возвращать только те строки, где region = 'EMEA'. См. функции, определяемые пользователем (UDF), в каталоге Unity.

  • Динамическое применение: Когда пользователь пытается получить доступ к ресурсу данных с тегами, каталог Unity оценивает применимые политики на основе тегов и применяет определенные элементы управления доступом.

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

  • Ведение журнала аудита: Все операции с помеченными ресурсами данных записываются и регистрируются в системной таблице журнала аудита, что обеспечивает полную видимость и отслеживание соответствия требованиям. См. журналы аудита.

Сведения о настройке ABAC см. в руководстве по настройке ABAC.

Типы политик

Поддерживаются два типа политик ABAC:

  • Политики фильтрации строк ограничивают доступ к отдельным строкам в таблице на основе их содержимого. UDF фильтра определяет, должна ли каждая строка отображаться пользователю. Эти политики полезны, если доступ зависит от характеристик данных.

    Пример использования: Отображаются только строки в таблице транзакций клиента, где столбец региона соответствует управляемому тегу, например region=EMEA. Это позволяет региональным командам просматривать только данные, относящиеся к их географическому региону.

  • Политики маски столбцов управляют значениями, которые пользователи видят в определенных столбцах. Маскирование UDF может возвращать фактическое значение или редактированную версию на основе управляемых тегов.

    Пример использования: Маскировать столбец, содержащий номера телефонов, если таблица sensitivity=low не помечена или запрашивающий пользователь находится в группе соответствия требованиям. Пользователи без доступа видят значение null или значения-заполнителя, например XXX-XXX-XXXX.

Ознакомьтесь с созданием и управлением политиками доступа на основе атрибутов (ABAC).

Ограничения бета-версии

Следующие ограничения применяются на этапах предварительного просмотра ABAC.

  • Пользователь, имеющий разрешения на таблицу, но не имеющий MODIFY разрешений политики тегов ASSIGN, может удалить столбец с управляемым тегом. Это изменяет структуру таблицы и может привести к недопустимой политике ABAC, связанной с этим столбцом.
  • Бета-версия ABAC включена на уровне рабочей области. Databricks не применяет политики ABAC к каталогам, когда они доступны из рабочих областей, не включенных в бета-версии.
  • Пользователи, имеющие необходимые разрешения Delta Sharing, могут делиться таблицами Delta, защищенными политиками ABAC, независимо от того, как эти политики применяются к ним. Политика не управляет доступом получателя.
  • Представления не поддерживаются.
  • Внешние каталоги не поддерживаются.
  • Материализованные представления и стриминговые таблицы не поддерживаются.
  • К заданному столбцу или строке в иерархии объектов можно применить только один маску столбца или фильтр строк. Применение нескольких маск или фильтров может сделать таблицу недоступной.