Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
На этой странице объясняется, как создавать получателей и управлять ими в Delta Sharing, когда рабочая область Databricks подключена к каталогу Unity.
Получатель — это именованный объект, представляющий личность пользователя или группы пользователей, использующих общие данные. Способ создания получателей зависит от того, имеет ли ваш получатель доступ к рабочей области Databricks, которая включена для каталога Unity:
Получатели с доступом к рабочей области Databricks с поддержкой каталога Unity:
Вы можете создать объект получателя с безопасным подключением, управляемым Databricks. Этот режим общего доступа называется Databricks-to-Databricks, и подробно описан на этой странице.
Получатели без доступа к рабочей области Databricks с поддержкой каталога Unity:
Вы должны использовать открытый общий доступ с безопасным подключением, которое вы управляете с помощью проверки подлинности на основе токенов (токенов-предъявителей или федерации OAuth). Сведения о создании открытых получателей общего доступа см. в статье "Использование федерации Open ID Connect (OIDC), чтобы включить проверку подлинности для общих папок Delta Sharing (открыть общий доступ) и создать объект получателя для пользователей, не являющихся Databricks, с помощью маркеров носителя (открытый общий доступ)".
Дополнительные сведения об этих двух режимах общего доступа и о том, какой режим выбрать, см. в разделе Open sharing versus Databricks-to-Databricks sharing.
Требования
Чтобы создать получателя, выполните указанные действия.
- Вы должны быть администратором хранилища метаданных или иметь
CREATE_RECIPIENT
права для хранилища метаданных каталога Unity, где зарегистрированы данные, к которым требуется предоставить общий доступ. - Необходимо создать получателя с помощью рабочей области Azure Databricks, в которую подключено хранилище метаданных каталога Unity.
- Если вы используете записную книжку Databricks для создания получателя, вычислительные ресурсы должны использовать Databricks Runtime 11.3 LTS или более поздней версии и стандартный или выделенный режим доступа (ранее общий и единый режим доступа пользователей).
Для других операций управления получателями (например, просмотр, удаление, обновление и предоставление получателям доступа к общей папке) см. требования к разрешениям, перечисленным в разделах этой статьи.
Создайте объект получателя для пользователей, имеющих доступ к Databricks (обмен Databricks-to-Databricks)
Если у получателя данных есть доступ к рабочей области Databricks, включенной для каталога Unity, можно создать объект получателя с типом DATABRICKS
проверки подлинности.
Объект получателя с типом аутентификации DATABRICKS
представляет получателя данных в конкретном хранилище метаданных Unity Catalog, указанном в определении объекта получателя строкой идентификатора обмена, состоящей из облака, региона и UUID. Доступ к данным, переданным этому получателю, возможен только в этом хранилище метаданных.
Шаг 1. Запрос идентификатора общего доступа получателя
Попросите пользователя-получателя отправить идентификатор общего доступа для хранилища метаданных каталога Unity, присоединенного к рабочим областям, где пользователь-получатель или группа пользователей будут работать с общими данными.
Идентификатор общего доступа — это строка, состоящая из облака, региона и UUID хранилища метаданных (уникальный идентификатор для хранилища метаданных) в формате <cloud>:<region>:<uuid>
.
Например, на следующем снимке экрана приведена aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016
полная строка идентификатора общего доступа.
Получатель может найти идентификатор с помощью обозревателя каталогов, интерфейса командной строки каталога Databricks Unity или функции CURRENT_METASTORE
SQL по умолчанию в записной книжке Databricks или SQL-запросе Databricks, который выполняется на вычислительных ресурсах, поддерживающих каталог Unity, в рабочей области, которую они намерены использовать.
Обозреватель каталогов
Чтобы получить идентификатор общего доступа с помощью обозревателя каталогов, выполните следующие действия.
В рабочей области Azure Databricks щелкните
Каталог.
В верхней части области каталога щелкните
шестеренки и выберите Delta Sharing.
Кроме того, на странице Быстрый доступ нажмите кнопку Delta Sharing >.
На вкладке "Общий доступ со мной " щелкните имя организации общего доступа Databricks в правом верхнем углу и выберите "Копировать идентификатор общего доступа".
SQL
Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks:
SELECT CURRENT_METASTORE();
интерфейс командной строки (CLI)
Выполните следующую команду с помощью Databricks CLI. Идентификатор общего доступа возвращается как global_metastore_id
.
databricks metastores summary
Вы можете отправить получателю сведения, содержащиеся на этом шаге, либо направить их к получению доступа в модели Databricks-to-Databricks.
Шаг 2. Создание получателя
Чтобы создать получателя для общего доступа Databricks to Databricks, можно использовать обозреватель каталогов, интерфейс командной строки каталога Databricks Unity или CREATE RECIPIENT
команду SQL в записной книжке Azure Databricks или редакторе sql-запросов Databricks.
Необходимые разрешения: администратор хранилища метаданных или пользователь с CREATE_RECIPIENT
привилегиями для хранилища метаданных каталога Unity, где зарегистрированы данные, к которым требуется предоставить общий доступ.
Обозреватель каталогов
В рабочей области Azure Databricks щелкните
Каталог.
В верхней части области каталога щелкните
шестеренки и выберите Delta Sharing.
Кроме того, на странице Быстрый доступ нажмите кнопку Delta Sharing >.
На вкладке "Мной предоставлено" нажмите "Создать получателя".
Введите имя получателя.
Для типа получателя выберите Databricks.
Введите идентификатор общего доступа получателя.
Используйте всю строку идентификатора общего доступа в формате
<cloud>:<region>:<uuid>
. Например,aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016
.(Необязательно) Введите комментарий.
Нажмите кнопку Создать.
(Необязательно) Создайте настраиваемые свойства получателя.
На вкладке Обзор получателя щелкните
рядом со свойствами получателя. Затем добавьте имя свойства (ключ) и значение. Дополнительные сведения см. в разделе "Управление свойствами получателя".
SQL
Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks:
CREATE RECIPIENT [IF NOT EXISTS] <recipient-name>
USING ID '<sharing-identifier>'
[COMMENT "<comment>"];
Используйте всю строку идентификатора общего доступа в формате <cloud>:<region>:<uuid>
. Например, aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef
.
Вы также можете добавить настраиваемые свойства для получателя. Дополнительные сведения см. в разделе "Управление свойствами получателя".
интерфейс командной строки (CLI)
Выполните следующую команду с помощью Databricks CLI. Замените значения-заполнители:
-
<recipient-name>
: имя получателя. -
<sharing-identifier>
: вся строка идентификатора общего доступа в формате<cloud>:<region>:<uuid>
. Например,aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef
. -
<authentication-type>
: Установлено вDATABRICKS
, когда указана строка идентификатора общего доступа в формате<cloud>:<region>:<uuid>
для<sharing-identifier>
.
databricks recipients create <recipient-name> <authentication-type> --sharing-code <sharing-identifier>
Вы также можете добавить настраиваемые свойства для получателя. Дополнительные сведения см. в разделе "Управление свойствами получателя".
Получатель создается с помощью authentication_type
и DATABRICKS
.
Предоставление получателю доступа к ресурсу
После создания получателей и создания общих папок вы можете предоставить получателю доступ к этим общим папкам.
Чтобы предоставить общий доступ получателям, можно использовать обозреватель каталогов, интерфейс командной строки каталога Databricks Unity или GRANT ON SHARE
команду SQL в записной книжке Azure Databricks или редакторе sql-запросов Databricks.
Необходимые разрешения: одно из следующих элементов:
- Администратор хранилища метаданных.
- Делегированные разрешения или владение как на общий ресурс, так и на объекты получателя ((
USE SHARE
+SET SHARE PERMISSION
) или владельца общей папки) И (USE RECIPIENT
или владельца получателя).
Инструкции см. в разделе "Управление доступом к общим папкам данных Delta Sharing" (для поставщиков).
Просмотр получателей
Чтобы просмотреть список получателей, можно использовать обозреватель каталогов, интерфейс командной строки каталога Databricks Unity или SHOW RECIPIENTS
команду SQL в записной книжке Azure Databricks или редакторе sql-запросов Databricks.
Необходимые разрешения: вы должны быть администратором хранилища метаданных или иметь USE RECIPIENT
право просматривать всех получателей в хранилище метаданных. Другие пользователи имеют доступ только к получателям, которыми они владеют.
Обозреватель каталогов
В рабочей области Azure Databricks щелкните
Каталог.
В верхней части области каталога щелкните
шестеренки и выберите Delta Sharing.
Кроме того, на странице Быстрый доступ нажмите кнопку Delta Sharing >.
На вкладке Предоставлено мной щелкните Получатели.
SQL
Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks. При необходимости замените <pattern>
предикатом LIKE
.
SHOW RECIPIENTS [LIKE <pattern>];
интерфейс командной строки (CLI)
Выполните следующую команду с помощью Databricks CLI.
databricks recipients list
Просмотр сведений о получателе
Для просмотра сведений о получателе можно использовать обозреватель каталогов, интерфейс командной строки каталога Databricks Unity или DESCRIBE RECIPIENT
команду SQL в записной книжке Azure Databricks или редакторе sql-запросов Databricks.
Требуемые разрешения: администратор хранилища метаданных, пользователь с USE RECIPIENT
привилегиями или владелец объекта получателя.
Сведения включают:
- Создатель получателя, метка времени создания, комментарии и тип проверки подлинности (
TOKEN
илиDATABRICKS
). - Если получатель использует открытый общий доступ: время действия токена, ссылка активации, состояние активации (скачаны ли учетные данные) и списки доступа к IP-адресам, если они назначены.
- Если получатель использует обмен Databricks-to-Databricks: облачная платформа, регион и идентификатор хранилища метаданных Unity Catalog получателя, а также статус активации.
- Свойства получателя, включая настраиваемые свойства. См. Управление свойствами получателей.
Обозреватель каталогов
В рабочей области Azure Databricks щелкните
Каталог.
В верхней части области каталога щелкните
шестеренки и выберите Delta Sharing.
Кроме того, на странице Быстрый доступ нажмите кнопку Delta Sharing >.
На вкладке «Предоставлено мной» щелкните «Получатели» и выберите получателя.
SQL
Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks.
DESCRIBE RECIPIENT <recipient-name>;
интерфейс командной строки (CLI)
Выполните следующую команду с помощью Databricks CLI.
databricks recipients get <recipient-name>
Просмотр разрешений общего доступа получателя
Чтобы просмотреть список общих папок, к которым получателю предоставлен доступ, можно использовать обозреватель каталогов, интерфейс командной строки Databricks или SHOW GRANTS TO RECIPIENT
команду SQL в записной книжке Azure Databricks или редакторе запросов Databricks SQL.
Требуемые разрешения: администратор хранилища метаданных, пользователь с USE RECIPIENT
привилегиями или владелец объекта получателя.
Обозреватель каталогов
В рабочей области Azure Databricks щелкните
Каталог.
В верхней части области каталога щелкните
шестеренки и выберите Delta Sharing.
Кроме того, на странице Быстрый доступ нажмите кнопку Delta Sharing >.
На вкладке «Предоставлено мной» щелкните «Получатели» и выберите получателя.
Перейдите на вкладку "Общие папки", чтобы просмотреть список общих папок, к которым предоставлен доступ получателю.
SQL
Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks.
SHOW GRANTS TO RECIPIENT <recipient-name>;
интерфейс командной строки (CLI)
Выполните следующую команду с помощью Databricks CLI.
databricks recipients share-permissions <recipient-name>
Обновление получателя
Чтобы обновить получателя, можно использовать обозреватель каталогов, интерфейс командной строки Databricks Unity Catalog или ALTER RECIPIENT
команду SQL в записной книжке Azure Databricks или в редакторе запросов Databricks SQL.
Свойства, которые можно обновить, включают имя получателя, владельца, комментарий и настраиваемые свойства.
Необходимые разрешения: для обновления владельца необходимо быть администратором хранилища метаданных или владельцем объекта получателя. Для обновления имени необходимо быть администратором хранилища метаданных (или пользователем с CREATE_RECIPIENT
привилегией) и владельцем. Чтобы обновить комментарий или настраиваемые свойства, необходимо быть владельцем.
Обозреватель каталогов
В рабочей области Azure Databricks щелкните
Каталог.
В верхней части области каталога щелкните
шестеренки и выберите Delta Sharing.
Кроме того, на странице Быстрый доступ нажмите кнопку Delta Sharing >.
На вкладке «Предоставлено мной» щелкните «Получатели» и выберите получателя.
На странице сведений о получателе:
Обновите владельца.
Изменение или добавление комментария.
Переименуйте получателя.
Щелкните
и выберите «Переименовать».
Изменение, удаление или добавление настраиваемых свойств получателя.
Щелкните
рядом с свойствами получателя. Затем добавьте имя свойства (ключ) и значение. Дополнительные сведения см. в разделе "Управление свойствами получателя".
Только получатели, прошедшие проверку подлинности токеном:
- Просмотрите и скопируйте ссылку проверки подлинности. См. ссылку "Получить активацию"
- В разделе "Управление маркерами" измените или обновите маркер носителя. См. Управление токенами получателей.
Только для федеративных получателей OIDC:
- В разделе политики федерации OIDC нажмите кнопку "Добавить политики". См. ссылку.
- Просмотр и копирование конечной точки получателя и конечной точки MTLS получателя.
SQL
Выполните одну или несколько следующих команд в записной книжке или редакторе sql-запросов Databricks.
ALTER RECIPIENT <recipient-name> RENAME TO <new-recipient-name>;
ALTER RECIPIENT <recipient-name> OWNER TO <new-owner>;
COMMENT ON RECIPIENT <recipient-name> IS "<new-comment>";
ALTER RECIPIENT <recipient-name> SET PROPERTIES ( <property-key> = property_value [, ...] )
ALTER RECIPIENT <recipient-name> UNSET PROPERTIES ( <property-key> [, ...] )
Дополнительные сведения о свойствах см. в разделе "Управление свойствами получателя".
интерфейс командной строки (CLI)
Создайте JSON-файл, включающий обновление имени получателя, комментария, владельца, списка доступа к IP-адресам или настраиваемых свойств.
{
"name": "new-recipient-name",
"owner": "[email protected]",
"comment": "something new",
"ip_access_list": {
"allowed_ip_addresses": ["8.8.8.8", "8.8.8.4/10"]
},
"property": {
"country": "us",
"id": "001"
}
}
Затем выполните следующую команду с помощью Databricks CLI. Замените <recipient-name>
текущим именем получателя и замените update-recipient-settings.json
именем файла JSON.
databricks recipients update --json-file update-recipient-settings.json
Дополнительные сведения о свойствах см. в разделе "Управление свойствами получателя".
(Необязательно) Ограничение доступа получателя с помощью списков доступа
При настройке объекта получателя можно ограничить доступ получателя к ограниченному набору IP-адресов. См. раздел «Ограничение доступа получателей Delta Sharing с помощью списков IP-доступа (открытое совместное использование).
Управление свойствами получателя
Объекты получателя включают предопределенные свойства, которые можно использовать для уточнения доступа к данным. Например, их можно использовать для выполнения следующих действий:
- Совместное использование разных секций таблиц с разными получателями, что позволяет использовать одни и те же общие папки с несколькими получателями, сохраняя границы данных между ними.
- Совместное использование динамических представлений, ограничивающих доступ получателей к данным таблицы на уровне строки или столбца на основе свойств получателя.
Можно также создать настраиваемые свойства.
Предопределенные свойства начинаются со databricks.
следующего вида:
-
databricks.accountId
: учетная запись Azure Databricks, в которой состоит получатель данных (только для обмена между учетными записями Databricks). -
databricks.metastoreId
: хранилище метаданных каталога Unity, к которому относится получатель данных (только Databricks-to-Databricks). -
databricks.name
: имя получателя данных.
Настраиваемые свойства, которые могут иметь значение, могут включать, например country
. Например, при присоединении настраиваемого свойства 'country' = 'us'
к получателю можно секционировать данные таблицы по странам и предоставлять общий доступ только к строкам с данными США с получателями, назначаемыми этим свойством. Вы также можете совместно использовать динамическое представление, которое ограничивает доступ к строкам или столбцам на основе свойств получателя. Более подробные примеры см. в статье Использование свойств получателя для фильтрации секций и добавления динамических представлений в общую папку для фильтрации строк и столбцов.
Требования
Свойства получателя поддерживаются в Databricks Runtime 12.2 и выше.
Добавление свойств при создании или обновлении получателя
Вы можете добавить свойства при создании получателя или их обновлении для существующего получателя. Обозреватель каталогов, интерфейс командной строки каталога Databricks Unity или команды SQL можно использовать в записной книжке Azure Databricks или редакторе sql-запросов Databricks.
Необходимые разрешения: администратор хранилища метаданных или пользователь с CREATE RECIPIENT
привилегиями для хранилища метаданных каталога Unity.
Обозреватель каталогов
При создании или обновлении получателя с помощью обозревателя каталогов добавьте или обновите настраиваемые свойства, выполнив следующие действия:
Перейдите на страницу сведений о получателе.
Если вы создаете нового получателя, вы перейдете на эту страницу после нажатия кнопки "Создать". Если вы обновляете существующего получателя, перейдите на эту страницу, нажав на
значок шестеренки > Delta Sharing > Общий доступ от меня > Получатели и выберите получателя.
Нажмите кнопку "Изменить свойства > + Добавить свойство".
Введите имя свойства (ключ) и значение.
Например, если вы хотите отфильтровать общие данные по странам и предоставить доступ только к данным США с этим получателем, можно создать ключ с именем "страна" со значением "США".
Нажмите кнопку Сохранить.
SQL
Чтобы добавить настраиваемое свойство при создании получателя, выполните следующую команду в записной книжке или редакторе sql-запросов Databricks:
CREATE RECIPIENT [IF NOT EXISTS] <recipient-name>
[USING ID '<sharing-identifier>'] /* Skip this if you are using open sharing */
[COMMENT "<comment>"]
PROPERTIES ( '<property-key>' = '<property-value>' [, ...] );
<property-key>
может быть строковым литеральным или идентификатором.
<property-value>
должен быть строковым литералом.
Например:
CREATE RECIPIENT acme PROPERTIES ('country' = 'us', 'partner_id' = '001');
Чтобы добавить, изменить или удалить пользовательские свойства для существующего получателя, выполните одно из следующих действий:
ALTER RECIPIENT <recipient-name> SET PROPERTIES ( '<property-key>' = '<property-value>' [, ...] );
ALTER RECIPIENT <recipient-name> UNSET PROPERTIES ( '<property-key>' );
интерфейс командной строки (CLI)
Чтобы добавить настраиваемые свойства при создании получателя, выполните следующую команду, используя Databricks CLI. Замените значения-заполнители:
-
<recipient-name>
: имя получателя. -
<property-key>
может быть строковым литеральным или идентификатором. -
<property-value>
должен быть строковым литералом.
databricks recipients create \
--json='{
"name": "<recipient-name>",
"properties_kvpairs": {
"properties": {
"<property-key>": "<property-value>",
}
}
}'
Например:
databricks recipients create \
--json='{
"name": "<recipient-name>",
"properties_kvpairs": {
"properties": {
"country": "us",
"partner_id":"001"
}
}
}'
Чтобы добавить или изменить пользовательские свойства для существующего получателя, используйте update
вместо create
:
databricks recipients update \
--json='{
"name": "<recipient-name>",
"properties_kvpairs": {
"properties": {
"country": "us",
"partner_id":"001"
}
}
}'
Просмотр свойств получателя
Чтобы просмотреть свойства получателя, следуйте инструкциям в разделе "Просмотр сведений о получателе".
Удаление получателя
Чтобы удалить получателя, можно использовать обозреватель каталогов, интерфейс командной строки каталога Databricks Unity или DROP RECIPIENT
команду SQL в записной книжке Azure Databricks или редакторе sql-запросов Databricks. Чтобы удалить получателя, необходимо быть владельцем объекта получателя.
При удалении получателя пользователи, представленные получателем, больше не могут получить доступ к общим данным. Маркеры, используемые получателями в сценарии открытого общего доступа, недопустимы.
Необходимые разрешения: владелец объекта Recipient.
Обозреватель каталогов
В рабочей области Azure Databricks щелкните
Каталог.
В верхней части области каталога щелкните
шестеренки и выберите Delta Sharing.
Кроме того, на странице Быстрый доступ нажмите кнопку Delta Sharing >.
На вкладке «Предоставлено мной» щелкните «Получатели» и выберите получателя.
На вкладке "Получатели" найдите и выберите получателя.
Щелкните
и выберите Удалить.
В диалоговом окне подтверждения нажмите кнопку "Удалить".
SQL
Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks.
DROP RECIPIENT [IF EXISTS] <recipient-name>;
интерфейс командной строки (CLI)
Выполните следующую команду с помощью Databricks CLI.
databricks recipients delete <recipient-name>