Управление выдачей учетных данных в каталоге Unity для доступа к внешним системам

Важный

Функция доступна в общедоступной предварительной версии .

Совет

Сведения о том, как считывать данные Azure Databricks с помощью Microsoft Fabric, см. в статье Использование Microsoft Fabric для чтения данных, зарегистрированных в каталоге Unity.

На этой странице описывается, как функция распределения учетных данных каталога Unity поддерживает доступ к данным в Azure Databricks из внешних движков обработки.

Выдача учетных данных поддерживает внешние системы, которые подключаются к каталогу Unity с помощью REST API каталога Unity и REST каталога Apache Iceberg. См. Доступ к таблицам Databricks из клиентов Delta и Доступ к данным Databricks с помощью внешних систем.

Что такое выдача учетных данных каталога Unity?

Выдача учетных данных предоставляет краткосрочные учетные данные с помощью REST API каталога Unity. Предоставленные учетные данные наследуют привилегии основного пользователя Azure Databricks, который используется для настройки интеграции. Существует два типа выдачи учетных данных:

  • Процесс выдачи учетных данных для таблиц обеспечивает доступ к данным, зарегистрированным в хранилище метаданных каталога Unity.
  • Выдача учетных данных для пути обеспечивает доступ к внешним расположениям в хранилище метаданных каталога Unity.

Требования

Автоматическая выдача учетных данных таблицы

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

Поддерживаемые типы доступа

Серверные учетные данные таблицы поддерживают следующие типы таблиц и операции:

Тип таблицы Читайте Напишите Создайте
Управляемая дельта Да Да* Да*
Внешний дельта Да Да Да
Управляемый Айсберг Да Да Да
Delta считывает с Iceberg (UniForm) Да Yes** Нет

* Создание и запись в управляемые таблицы Unity Catalog из клиентов Delta находится в бета-версии.

** После внешней записи в таблицу UniForm из клиента Delta выполните команду MSCK REPAIR TABLE , чтобы создать метаданные Iceberg.

Заметка

Некоторые клиенты поддерживают доступ к таблицам, основанным на Delta Lake, в то время как другие требуют включения чтения с использованием технологии Iceberg (UniForm) для таблиц. См. как считывать таблицы Delta с помощью клиентов Iceberg.

Запрос временных учетных данных таблицы для доступа к внешним данным

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

В этом разделе приведен пример явного вызова API-эндпоинта для выдачи учетных данных. Некоторым внешним клиентам может потребоваться явно задать конфигурации для доступа к данным и метаданным в облачном хранилище объектов, поддерживаемом таблицами каталога Unity. Можно использовать значения, возвращаемые системой выдачи учетных данных, для настройки доступа.

Заметка

Вы можете получить список таблиц, поддерживающих управление учетными данными, вызвав API ListTables с включенным параметром include_manifest_capabilities. Только таблицы, помеченные HAS_DIRECT_EXTERNAL_ENGINE_READ_SUPPORT или HAS_DIRECT_EXTERNAL_ENGINE_WRITE_SUPPORT, имеют право на ссылку в API временных табличных учетных данных. См. GET /api/2.1/unity-catalog/tables.

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

curl -X POST -H "Authorization: Bearer $OAUTH_TOKEN" \
https://<workspace-instance>/api/2.1/unity-catalog/temporary-table-credentials \
-d '{"table_id": "<string>", "operation": "<READ|READ_WRITE>"}'

Дополнительные сведения см. в статье POST /api/2.1/unity-catalog/temporary-table-credentials в справочнике по REST API Azure Databricks.

Ограничения

Существуют следующие ограничения:

  • Не все внешние клиенты поддерживают обмен учетными данными, а поддержка может отличаться в зависимости от базового облачного хранилища объектов.
  • Поддерживаются только управляемые таблицы каталога Unity и внешние таблицы каталога Unity.
  • Следующие типы таблиц или таблицы с включенными функциями не поддерживаются:
    • Таблицы с фильтрами строк или масками столбцов.
    • Таблицы, разделяемые с использованием Delta Sharing.
    • Федеративные таблицы Lakehouse (внешние таблицы).
    • Просмотры.
    • Материализованные представления.
    • Lakeflow Spark: декларативные конвейеры потоковой передачи с таблицами.
    • Онлайн-таблицы.
    • Индексы векторного поиска.
  • Обновление учетных данных не поддерживается в Iceberg 1.9.0. Используйте последний выпуск Iceberg для обновления учетных данных.

Выдача учетных данных пути

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

Запрос учетных данных временного пути для доступа к внешним данным

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

В этом разделе приведен пример явного вызова API-эндпоинта для выдачи учетных данных. Некоторым внешним клиентам может потребоваться явно задать конфигурации для доступа к данным и метаданным в облачном хранилище объектов, поддерживаемом таблицами каталога Unity. Можно использовать значения, возвращаемые системой выдачи учетных данных, для настройки доступа.

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

curl -X POST -H "Authorization: Bearer $OAUTH_TOKEN" \
https://<workspace-instance>/api/2.1/unity-catalog/temporary-path-credentials \
-d '{"url": "<string>", "operation": <PATH_READ|PATH_READ_WRITE|PATH_CREATE_TABLE>"}'

Дополнительные сведения см. в разделе Создание временных учетных данных пути в справочнике по REST API Azure Databricks.