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


Включение доступа к внешним данным в каталоге Unity

Это важно

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

Azure Databricks предоставляет доступ к таблицам каталога Unity с помощью REST API Unity и каталога REST Apache Iceberg.

Администратор хранилища метаданных должен включить внешний доступ к данным для каждого хранилища метаданных, к который требуется получить внешний доступ. Пользователь или субъект-служба, который настраивает подключение, должен иметь EXTERNAL USE SCHEMA привилегии для каждой схемы, в которой они должны выполнять поддерживаемые операции: чтение из управляемых таблиц или создание, чтение и запись во внешние таблицы.

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

Включить доступ к внешним данным в хранилище метаданных

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

Чтобы включить доступ к внешним данным, сделайте следующее:

  1. В рабочей области Azure Databricks, подключенной к хранилищу метаданных, щелкните значок данных.Каталог.
  2. Щелкните значок Шестеренки. Значок шестеренки в верхней части области каталога и выберите хранилище метаданных.
  3. На вкладке Сведения включите доступ к внешним данным.

Заметка

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

Предоставление привилегий каталога Unity субъекта

Внешним клиентам, подключающимся к Azure Databricks, требуется авторизация от достаточно привилегированного субъекта.

Azure Databricks поддерживает OAuth и личные маркеры доступа (PAT) для проверки подлинности. См. статью "Авторизация доступа к ресурсам Azure Databricks".

Субъект, запрашивающий временные учетные данные, должен иметь следующее:

  • Привилегия EXTERNAL USE SCHEMA в содержащей схеме или родительском каталоге.

    Эта привилегия всегда должна быть предоставлена явным образом. Только владелец родительского каталога может предоставить его. Чтобы избежать случайного вывода данных, ALL PRIVILEGES не включает привилегию EXTERNAL USE SCHEMA, а владельцы схем по умолчанию не имеют этой привилегии.

  • SELECT разрешение на таблицу, USE CATALOG на родительский каталог и USE SCHEMA на родительскую схему.

  • При создании внешних таблиц субъект также должен иметь CREATE TABLE привилегии для схемы и CREATE EXTERNAL TABLEEXTERNAL USE LOCATION привилегий в целевом внешнем расположении.

    EXTERNAL USE LOCATION всегда должно быть предоставлено явно. Только пользователи MANAGE с привилегиями во внешнем расположении могут предоставить его. Чтобы избежать случайного кражи, ALL PRIVILEGES не включает привилегии EXTERNAL USE LOCATION , а владельцы расположения по умолчанию не имеют этого привилегии.

В следующем примере синтаксиса демонстрируется предоставление EXTERNAL USE SCHEMA пользователю:

GRANT EXTERNAL USE SCHEMA ON SCHEMA catalog_name.schema_name TO `user@company.com`

В следующем примере синтаксиса демонстрируется предоставление EXTERNAL USE LOCATION пользователю:

GRANT EXTERNAL USE LOCATION ON EXTERNAL LOCATION external_location_name TO `user@company.com`

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