Выдача учетных данных 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 данным и метаданным из этого облачного хранилища.
Требования
- Необходимо настроить внешний доступ к хранилищу метаданных и grant
EXTERNAL 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.
- Tables включен для операций чтения Iceberg, соответствующих этому требованию. См. раздел Read Delta tables с клиентами Айсберга.
- Следующие типы table или tables с включенными функциями не поддерживаются:
- Tables с фильтрами строк или масками column.
- Tables общий доступ с помощью Delta Sharing.
- Лейкхаус федеративный tables (внешний tables).
- Views.
- Материализованные views.
- Delta Live Tables трансляция tables.
- Онлайн tables.
- Индексы векторного поиска.