Безопасное совместное использование данных и ресурсов ИИ с помощью разностного общего доступа

В этой статье описывается разностный общий доступ в Azure Databricks, платформа безопасного доступа к данным и ресурсам ИИ в Azure Databricks с пользователями за пределами вашей организации, независимо от того, используют ли эти пользователи Databricks или нет.

Внимание

Статьи о разностном совместном использовании на этом сайте сосредоточены на совместном использовании данных Azure Databricks, записных книжек и моделей ИИ. Разностный общий доступ также доступен в качестве проекта с открытым исходным кодом, который можно использовать для совместного использования таблиц Delta с других платформ. Delta Sharing также предоставляет магистраль для Databricks Marketplace, открытый форум для обмена продуктами данных.

Примечание.

Если вы являетесь получателем данных, которому предоставлен доступ к общим данным через разностный общий доступ, и вы просто хотите узнать, как получить доступ к этим данным, см. раздел "Доступ к данным" с помощью разностного общего доступа (для получателей).

Что такое разностный общий доступ?

Delta Sharing — это открытый протокол, разработанный Databricks для безопасного обмена данными с другими организациями независимо от используемых вычислительных платформ.

Существует три способа совместного использования данных с помощью разностного общего доступа:

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

    Этот подход использует сервер delta Sharing, встроенный в Azure Databricks. Она поддерживает некоторые функции разностного общего доступа, которые не поддерживаются в других протоколах, включая общий доступ к записным книжкам, общий доступ к каталогам Unity, общий доступ к модели каталога Unity, управление данными каталога Unity, аудит и отслеживание использования для поставщиков и получателей. Интеграция с каталогом Unity упрощает настройку и управление для поставщиков и получателей и повышает производительность.

    См. раздел "Общий доступ к данным" с помощью протокола Delta Share Databricks to Databricks (для поставщиков).

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

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

    См. раздел "Общий доступ к данным" с помощью протокола открытого общего доступа (для поставщиков).

  3. Реализация управляемого клиентом сервера Delta Sharing с открытым кодом, которая позволяет предоставлять общий доступ от любой платформы к любой платформе, независимо от того, используется ли Databricks или нет.

    Документация по Azure Databricks не содержит инструкции по настройке собственного сервера Delta Sharing. См . github.com/delta-io/delta-sharing.

Общие папки, поставщики и получатели

Основными понятиями, лежащими в основе delta Sharing в Azure Databricks, являются общие ресурсы, поставщики и получатели.

Что такое общий доступ?

В Delta Share общая папка — это коллекция таблиц и секций таблиц только для чтения, к которым поставщик хочет предоставить общий доступ одному или нескольким получателям. Если получатель использует рабочую область Databricks с поддержкой каталога Unity, вы также можете включить файлы записных книжек, представления (включая динамические представления, ограничивающие доступ на уровне строк и столбцов), томы каталога Unity и модели каталога Unity в общей папке.

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

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

См. статью "Создание общих папок" и управление ими для разностного общего доступа.

Что такое поставщик?

Поставщик — это сущность, которая делится данными с получателем. Если вы являетесь поставщиком и хотите воспользоваться встроенным сервером Databricks Delta Sharing и управлять ими с помощью каталога Unity, вам потребуется по крайней мере одна рабочая область Azure Databricks, которая включена для каталога Unity. Вам не нужно перенести все существующие рабочие области в каталог Unity. Вы можете просто создать рабочую область с поддержкой каталога Unity для ваших потребностей в разностном совместном использовании.

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

Что такое получатель?

Получатель — это сущность, которая получает общие папки от поставщика. В каталоге Unity общий ресурс является защищаемым объектом, который представляет организацию и связывает его с учетными данными или идентификатором безопасного общего доступа, который позволяет организации получать доступ к одной или нескольким общим папкам.

В качестве поставщика данных (sharer) можно определить нескольких получателей для любого хранилища метаданных каталога Unity, однако если требуется предоставить общий доступ к данным из нескольких хранилищ метаданных с определенным пользователем или группой пользователей, необходимо задать получателя отдельно для каждого хранилища метаданных. У получателя может быть доступ к нескольким общим папкам.

Если поставщик удаляет получателя из хранилища метаданных каталога Unity, этот получатель теряет доступ ко всем общим папкам, к которым он ранее мог получить доступ.

См. статью "Создание получателей данных" и управление ими для разностного общего доступа.

Открытие общего доступа и совместное использование Databricks в Databricks

В этом разделе описаны два протокола для совместного использования из рабочей области Databricks, которая включена для каталога Unity.

Примечание.

В этом разделе предполагается, что поставщик находится в рабочей области Azure Databricks с поддержкой каталога Unity. Дополнительные сведения о настройке сервера delta share с открытым исходным кодом для совместного использования из платформы, отличной от Databricks, или рабочей области каталога, отличной от Unity, см. в github.com/delta-io/delta-sharing.

Способ использования разностного общего доступа в Azure Databricks зависит от того, с кем они обмениваются данными:

  • Открытый общий доступ позволяет совместно использовать данные с любым пользователем, независимо от того, имеет ли он доступ к Azure Databricks.
  • Совместное использование Databricks to Databricks позволяет совместно использовать данные с пользователями Azure Databricks, рабочая область которых присоединена к хранилищу метаданных каталога Unity, отличному от вашего хранилища. Databricks to Databricks также поддерживает доступ к записным книжкам, томам и моделям, которые недоступны в открытом совместном доступе.

Что такое открытый разностный общий доступ?

Если вы хотите поделиться данными с пользователями за пределами рабочей области Azure Databricks независимо от того, используют ли они Databricks, вы можете использовать разностный общий доступ для безопасного предоставления общего доступа к данным. В качестве поставщика данных вы создаете маркер и безопасно предоставляете ему общий доступ к получателю. Они используют маркер для проверки подлинности и получения доступа на чтение к таблицам, включенным в общие папки, к ним предоставлен доступ.

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

  • Azure Databricks
  • Apache Spark
  • Pandas.
  • Power BI

Полный список соединителей Delta Share и сведения об их использовании см. в документации по Delta Share .

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

Что такое Databricks to Databricks Delta Sharing?

Если вы хотите поделиться данными с пользователями, у которых есть рабочая область Databricks, включенная для каталога Unity, можно использовать Databricks to Databricks Delta Sharing. Совместное использование Databricks to Databricks позволяет обмениваться данными с пользователями в других учетных записях Databricks, будь то aws, Azure или GCP. Это также отличный способ безопасно предоставлять общий доступ к данным в разных хранилищах метаданных каталога Unity в собственной учетной записи Databricks. Обратите внимание, что для обмена данными между рабочими областями, подключенными к одному хранилищу метаданных каталога Unity, не требуется использовать разностный общий доступ к данным, так как в этом сценарии можно использовать каталог Unity для управления доступом к данным в разных рабочих областях.

Одним из преимуществ общего доступа Databricks to Databricks является то, что получатель общего ресурса не нуждается в маркере для доступа к общей папке, и поставщику не нужно управлять маркерами получателей. Безопасность подключения общего доступа, включая проверку подлинности, проверку подлинности и аудит, полностью управляется с помощью delta Sharing и платформы Databricks. Еще одним преимуществом является возможность совместного использования файлов записных книжек Databricks, представлений, томов каталога Unity и моделей каталога Unity.

См. также общий доступ к данным с помощью протокола Delta Share Databricks to Databricks (для поставщиков).

Как администраторы поставщиков настроили разностный общий доступ?

В этом разделе представлен обзор того, как поставщики могут включить разностный общий доступ и инициировать общий доступ из рабочей области Azure Databricks с поддержкой каталога Unity. Сведения о разностном совместном использовании с открытым исходным кодом см. в github.com/delta-io/delta-sharing.

Обмен данными между хранилищами метаданных каталога Unity в одной учетной записи всегда включен. Если вы являетесь поставщиком, который хочет предоставить доступ к данным с рабочими областями Databricks в других учетных записях или клиентах, отличных от Databricks, администратор учетной записи Azure Databricks или администратор хранилища метаданных выполняет следующие действия по настройке (на высоком уровне):

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

    Примечание.

    Если вы планируете использовать Delta Sharing для совместного использования данных только с пользователями в хранилищах метаданных каталога Unity в вашей учетной записи, вам не нужно включить разностный общий доступ к данным. Общий доступ к хранилищу метаданных в одной учетной записи Azure Databricks между Metastore включен по умолчанию.

    См. раздел "Включить разностный общий доступ" в хранилище метаданных.

  2. Создайте общую папку, содержащую ресурсы данных, зарегистрированные в хранилище метаданных каталога Unity.

    Если вы предоставляете общий доступ к получателю, отличному от Databricks (известному как открытый общий доступ), вы можете включить таблицы в формат Delta или Parquet. Если вы планируете использовать совместное использование Databricks to Databricks, вы также можете добавить представления, тома каталога Unity, модели каталога Unity и файлы записной книжки в общую папку.

    См. статью "Создание общих папок" и управление ими для разностного общего доступа.

  3. Создайте получателя.

    См. статью "Создание получателей данных" и управление ими для разностного общего доступа.

    Если получатель не является пользователем Databricks или не имеет доступа к рабочей области Databricks, включенной для каталога Unity, необходимо использовать открытый общий доступ. Для этого получателя создается набор учетных данных на основе токенов.

    Если у получателя есть доступ к рабочей области Databricks, которая включена для каталога Unity, можно использовать общий доступ Databricks to Databricks, а учетные данные на основе маркеров не требуются. Вы запрашиваете идентификатор общего доступа от получателя и используете его для установления безопасного подключения.

    Совет

    Используйте себя в качестве тестового получателя, чтобы попробовать процесс установки.

  4. Предоставьте получателю доступ к одной или нескольким общим папкам.

    См. раздел "Предоставление доступа к общим папкам delta Sharing" и управление ими (для поставщиков).

    Примечание.

    Этот шаг также может выполняться пользователем без администратора с USE SHAREUSE RECIPIENT правами и SET SHARE PERMISSION привилегиями. См. статью Защищаемые объекты и привилегии Unity Catalog.

  5. Отправьте получателю сведения, необходимые для подключения к общей папке (только для открытого общего доступа).

    См. статью "Отправить получателю сведения о подключении".

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

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

Теперь получатель может получить доступ к общим данным.

Как получатели получают доступ к общим данным?

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

Безопасный доступ зависит от модели общего доступа:

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

Как отслеживать, кто предоставляет общий доступ к общим данным и обращается к ним?

Поставщики данных в рабочих областях Azure Databricks с поддержкой каталога Unity могут использовать ведение журнала аудита Azure Databricks и системные таблицы для мониторинга создания и изменения общих папок и получателей и могут отслеживать действия получателей в общих ресурсах. См. статью "Аудит и мониторинг общего доступа к данным".

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

Общий доступ к томам

Вы можете совместно использовать тома с помощью потока общего доступа Databricks to Databricks. См. раздел "Добавление томов в общую папку " (для поставщиков) и чтение общих данных с помощью Databricks to Databricks Delta Sharing (для получателей) (для получателей).

Общий доступ к моделям

Вы можете совместно использовать модели с помощью потока общего доступа Databricks to Databricks. Дополнительные сведения см. в разделе "Добавление моделей в общую папку " (для поставщиков) и чтение общих данных с помощью Databricks to Databricks Delta Sharing (для получателей) (для получателей).

Общий доступ к записным книжкам

Разностный общий доступ можно использовать для совместного использования файлов записных книжек с помощью потока общего доступа Databricks в Databricks. См. статью "Добавление файлов записной книжки в общую папку ( для поставщиков) и чтение общих записных книжек (для получателей).

Ограничение доступа на уровне строки и столбца

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

Разностный общий доступ и потоковая передача

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

Сведения о совместном использовании таблиц с журналом см. в статье "Добавление таблиц в общую папку". Сведения об использовании общих таблиц в качестве источников потоковой передачи см. в статье "Запрос таблицы с помощью структурированной потоковой передачи Apache Spark (для получателей общего доступа Databricks в Databricks) или Доступ к общей таблице с помощью структурированной потоковой передачи Spark (для получателей открытых данных общего доступа).

См. также потоковую передачу в Azure Databricks.

Часто задаваемые вопросы о разностном совместном использовании

Ниже приведены часто задаваемые вопросы о разностном совместном использовании.

Нужно ли использовать разностный общий доступ к каталогу Unity?

Нет, вам не нужен каталог Unity для совместного использования (в качестве поставщика) или использования общих данных (в качестве получателя). Однако каталог Unity предоставляет такие преимущества, как поддержка общего доступа к ресурсу, не табличному и искусственному интеллекту, управление, простота и производительность запросов.

Поставщики могут совместно использовать данные двумя способами:

  • Поместите ресурсы для совместного использования в разделе управления каталогом Unity и поделитесь ими с помощью встроенного сервера Azure Databricks Delta Sharing.

    Вам не нужно перенести все ресурсы в каталог Unity. Для управления ресурсами, которыми требуется предоставить общий доступ, требуется только одна рабочая область Azure Databricks, которая включена для каталога Unity. В некоторых учетных записях новые рабочие области включены автоматически для каталога Unity. См . статью "Автоматическое включение каталога Unity".

  • Реализуйте открытый сервер Delta Sharing для совместного использования данных без использования учетной записи Azure Databricks.

Получатели могут использовать данные двумя способами:

  • Без рабочей области Databricks. Используйте соединители открытый код Delta Sharing, доступные для многих платформ данных, включая Power BI, pandas и открытый код Apache Spark. См. раздел "Чтение данных" с помощью открытого общего доступа delta Sharing (для получателей) и проекта delta Sharing открытый код.

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

    Организациям получателей, которым нужны эти преимущества, не нужно перенести все ресурсы в каталог Unity. Вам нужна только одна рабочая область Azure Databricks, которая включена для каталога Unity для управления ресурсами, которыми вы предоставили общий доступ. В некоторых учетных записях новые рабочие области включены автоматически для каталога Unity. См . статью "Автоматическое включение каталога Unity".

См. раздел "Чтение общих данных" с помощью открытого общего доступа delta Sharing (для получателей) и совместного чтения данных с помощью Databricks to Databricks Delta Sharing (для получателей).

Нужно ли быть клиентом Databricks для использования delta Sharing?

Нет, разностный общий доступ — это открытый протокол. Вы можете совместно использовать данные, отличные от Databricks, с получателями на любой платформе данных. Поставщики могут настроить открытый сервер Delta Sharing для совместного использования с любой вычислительной платформы. Получатели могут использовать общие данные с помощью соединителей открытый код Delta Sharing для многих продуктов данных, включая Power BI, pandas и открытый код Spark.

Однако использование delta Sharing в Azure Databricks, особенно совместное использование из рабочей области с поддержкой каталога Unity, имеет множество преимуществ.

Дополнительные сведения см. в первом вопросе в этом вопросе.

Несет ли разностный общий доступ затраты на исходящий трафик?

Разностный общий доступ в регионе не несет затрат на исходящий трафик. В отличие от других платформ общего доступа к данным, разностный общий доступ не требует реплика данных. Эта модель имеет множество преимуществ, но это означает, что поставщик облачных служб может взимать плату за исходящие данные при совместном использовании данных в облаках или регионах. Azure Databricks поддерживает общий доступ из Cloudflare R2 (общедоступная предварительная версия), который не несет платы за исходящий трафик, а также предоставляет другие средства и рекомендации для мониторинга и предотвращения исходящих сборов. Ознакомьтесь с разделом "Мониторинг и управление затратами на исходящий трафик Delta Sharing" (для поставщиков).

Могут ли поставщики отозвать доступ получателя?

Да, доступ получателя можно отменить по требованию и на указанных уровнях детализации. Вы можете запретить получателю доступ к определенным общим папкам и определенным IP-адресам, фильтровать табличные данные для получателя, отменять маркеры получателя и полностью удалять получателей. См . раздел "Отмена доступа получателей к общей папке " и "Создание получателей данных" и "Управление ими" для разностного общего доступа.

Не является ли он небезопасным для использования предварительно подписанных URL-адресов?

Разностный общий доступ использует предварительно подписанные URL-адреса для предоставления временного доступа к файлу в хранилище объектов. Они предоставляются только получателям, у которых уже есть доступ к общим данным. Они защищены, так как они являются короткими и не расширяют уровень доступа за пределами того, что получатели уже получили.

Используются ли маркеры в протоколе открытого общего доступа Delta Sharing?

Так как разностный общий доступ обеспечивает кроссплатформенный общий доступ, в отличие от других доступных платформ общего доступа, протокол общего доступа требует открытого маркера. Поставщики могут обеспечить безопасность маркеров, настроив время существования маркера, установив сетевые элементы управления и отменив доступ по запросу. Кроме того, маркер не расширяет уровень доступа за рамки того, что получатели уже получили. Дополнительные сведения о безопасности см. в разделе "Вопросы безопасности" для маркеров.

Если вы предпочитаете не использовать маркеры для управления доступом к общим папкам получателей, следует использовать совместное использование Databricks to Databricks или связаться с командой учетной записи Databricks для альтернативных вариантов.

Поддерживает ли разностный общий доступ к просмотру?

Да, Delta Sharing поддерживает общий доступ к представлению. См. раздел "Добавление представлений в общую папку".

Чтобы узнать о запланированных улучшениях для просмотра общего доступа, обратитесь к группе учетных записей Databricks.

Ограничения

Квоты ресурсов

Приведенные ниже значения указывают квоты для общих ресурсов Delta. Приведенные ниже значения квоты указаны относительно родительского объекта в каталоге Unity.

Object Parent Значение
поставщик хранилище метаданных 1000
recipients хранилище метаданных 5000
Azure хранилище метаданных 1000
В таблицах общая папка 1000
томов. общая папка 1000
модели общая папка 1000
схемы общая папка 500
записные книжки общая папка 100

Если вы ожидаете превышение этих ограничений ресурсов, обратитесь к группе учетных записей Azure Databricks.

Следующие шаги