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


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

Важный

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

Совет

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

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

Поддержка выдачи учетных данных осуществляется внешними системами, которые подключаются к Unity Catalog с помощью Unity REST API и Iceberg REST catalog. См. чтение данных Databricks tables клиентов Delta и доступ к данным Databricks с помощью внешних систем.

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

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

Заметка

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

Чтобы получить временные учетные данные, субъект Azure Databricks (пользователь, группа или субъект-служба), который делает запрос, должен иметь привилегии EXTERNAL USE SCHEMA на schema, которая содержит table, к которым они должны получить доступ из внешнего движка. Хранилище метаданных Catalog Unity, содержащее schema, также должно быть явно включено для внешнего доступа. См. раздел Включение доступа к внешним данным Unity Catalog.

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

Требования

  • Необходимо настроить внешний доступ к хранилищу метаданных и grantEXTERNAL USE SCHEMA для доверенного лица, конфигурирующего подключение. См. раздел Включение доступа к внешним данным CatalogUnity.
  • Чтобы получить доступ к рабочей области Azure Databricks с помощью Unity Catalog Open API или REST API Iceberg, URL-адрес рабочей области должен быть доступен подсистеме, выполняющей запрос. Сюда входят рабочие области, использующие списки IP-доступа или Приватный канал Azure.
  • Чтобы получить доступ к базовому расположению облачного хранилища для зарегистрированных объектов данных Unity Catalog, URL-адреса хранилища, созданные временным API Unity Catalogcredentials, должны быть доступны движку, выполняющему запрос. Это означает, что движок должен быть разрешен в списках брандмауэра и контроля доступа к сети для базовых облачных аккаунтов хранения.

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

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

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

Заметка

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

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

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

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

Ограничения

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

  • Не все внешние клиенты поддерживают обмен учетными данными, а поддержка может отличаться в зависимости от базового облачного хранилища объектов.
  • Поддерживаются только Unity Catalog, которые управляют tables, и Unity Catalog внешние tables, поддерживаемые Delta Lake.
  • Следующие типы table или tables с включенными функциями не поддерживаются:
    • Tables с фильтрами строк или масками column.
    • Tables общий доступ с помощью Delta Sharing.
    • Лейкхаус федеративный tables (внешний tables).
    • Views.
    • Материализованные views.
    • Delta Live Tables трансляция tables.
    • Онлайн tables.
    • Индексы векторного поиска.