Создание получателей данных и управление ими для разностного общего доступа
В этой статье объясняется, как создавать получателей для разностного общего доступа и управлять ими.
Получатель — это именованный объект, представляющий удостоверение пользователя или группы пользователей в реальном мире, использующего общие данные. Способ создания получателей зависит от того, имеет ли ваш получатель доступ к рабочей области Databricks, которая включена для каталога Unity:
- Для получателей с доступом к рабочей области Databricks, которая включена для каталога Unity, можно создать объект получателя с безопасным подключением, управляемым полностью Databricks. Этот режим общего доступа называется databricks-to-Databricks общим доступом.
- Для получателей без доступа к рабочей области Databricks, включенной для каталога Unity, необходимо использовать открытый общий доступ с безопасным подключением, которым вы управляете с помощью проверки подлинности на основе маркеров.
Дополнительные сведения об этих двух режимах общего доступа и о том, когда выбрать, см. в разделе "Открыть общий доступ" и "Databricks- to Databricks".
Требования
Чтобы создать получателя, выполните указанные действия.
- Вы должны быть администратором хранилища метаданных или иметь
CREATE_RECIPIENT
права для хранилища метаданных каталога Unity, где зарегистрированы данные, к которым требуется предоставить общий доступ. - Необходимо создать получателя с помощью рабочей области Azure Databricks, в которую подключено хранилище метаданных каталога Unity.
- Если вы используете записную книжку Databricks для создания получателя, кластер должен использовать Databricks Runtime 11.3 LTS или более поздней версии и режим доступа к кластеру с одним пользователем.
Для других операций управления получателями (например, просмотр, удаление, обновление и предоставление получателям доступа к общей папке) см. требования к разрешениям, перечисленным в разделах этой статьи.
Создание объекта получателя для пользователей, имеющих доступ к Databricks (совместное использование Databricks to Databricks)
Если у получателя данных есть доступ к рабочей области Databricks, включенной для каталога Unity, можно создать объект получателя с типом DATABRICKS
проверки подлинности.
Объект получателя с типом DATABRICKS
проверки подлинности представляет получателя данных в определенном хранилище метаданных каталога Unity, определяемом в определении объекта получателя строкой идентификатора общего доступа, состоящей из облака, региона и UUID хранилища метаданных. Доступ к данным, к которым предоставлен этому получателю, можно получить только в этом хранилище метаданных.
Шаг 1. Запрос идентификатора общего доступа получателя
Попросите пользователя-получателя отправить идентификатор общего доступа для хранилища метаданных каталога Unity, присоединенного к рабочим областям, где пользователь-получатель или группа пользователей будут работать с общими данными.
Идентификатор общего доступа — это строка, состоящая из облака, региона и UUID хранилища метаданных (уникальный идентификатор для хранилища метаданных) в формате <cloud>:<region>:<uuid>
.
Например, на следующем снимке экрана приведена aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016
полная строка идентификатора общего доступа.
Получатель может найти идентификатор с помощью обозревателя каталогов, интерфейса командной строки каталога Databricks или функции CURRENT_METASTORE
SQL по умолчанию в записной книжке Databricks или sql-запросе Databricks, который выполняется в кластере с поддержкой каталога Unity в рабочей области, которую они намерены использовать.
Обозреватель каталогов
Чтобы получить идентификатор общего доступа с помощью обозревателя каталогов, выполните следующие действия.
В рабочей области Azure Databricks щелкните "Каталог".
В верхней части области каталога щелкните значок шестеренки и выберите delta Sharing.
Кроме того, на странице быстрого доступа нажмите кнопку "Разностный общий доступ>".
На вкладке "Общий доступ со мной " щелкните имя организации общего доступа Databricks в правом верхнем углу и выберите "Копировать идентификатор общего доступа".
SQL
Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks:
SELECT CURRENT_METASTORE();
CLI
Выполните следующую команду с помощью интерфейса командной строки Databricks. Идентификатор общего доступа возвращается в качестве идентификатора 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.
Кроме того, на странице быстрого доступа нажмите кнопку "Разностный общий доступ>".
На вкладке "Общий доступ" нажмите кнопку "Создать получателя".
Введите имя получателя и идентификатор общего доступа.
Используйте всю строку идентификатора общего доступа в формате
<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. Замените значения-заполнители:
<recipient-name>
: имя получателя.<sharing-identifier>
: вся строка идентификатора общего доступа в формате<cloud>:<region>:<uuid>
. Например,aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef
.<authentication-type>
: задано,DATABRICKS
когда указана<sharing-identifier>
строка идентификатора общего доступа в формате<cloud>:<region>:<uuid>
.
databricks recipients create <recipient-name> <authentication-type> --sharing-code <sharing-identifier>
Вы также можете добавить настраиваемые свойства для получателя. Дополнительные сведения см. в разделе "Управление свойствами получателя".
Получатель создается с authentication_type
DATABRICKS
помощью .
Создание объекта получателя для всех остальных пользователей (открытый общий доступ)
Если вы хотите поделиться данными с пользователями за пределами рабочей области Azure Databricks независимо от того, используют ли они сами Databricks, вы можете использовать разностный общий доступ для безопасного предоставления общего доступа к данным. Это работает следующим образом:
- В качестве поставщика данных вы создаете объект получателя в хранилище метаданных каталога Unity.
- При создании объекта получателя Azure Databricks создает маркер, файл учетных данных, содержащий маркер, и ссылку активации для совместного использования с получателем. Объект получателя имеет тип
TOKEN
проверки подлинности. - Получатель получает доступ к ссылке активации, скачивает файл учетных данных и использует файл учетных данных для проверки подлинности и получения доступа на чтение к таблицам, которые вы включаете в общие папки, к ним предоставляется доступ.
Шаг 1. Создание получателя
Чтобы создать получателя для открытого общего доступа, можно использовать обозреватель каталогов, интерфейс командной строки каталога Databricks Unity или CREATE RECIPIENT
команду SQL в записной книжке Azure Databricks или редакторе sql-запросов Databricks.
Необходимые разрешения: администратор хранилища метаданных или пользователь с CREATE_RECIPIENT
привилегиями для хранилища метаданных каталога Unity, где зарегистрированы данные, к которым требуется предоставить общий доступ.
Обозреватель каталогов
В рабочей области Azure Databricks щелкните "Каталог".
В верхней части области каталога щелкните значок шестеренки и выберите delta Sharing.
Кроме того, на странице быстрого доступа нажмите кнопку "Разностный общий доступ>".
На вкладке "Общий доступ" нажмите кнопку "Создать получателя".
Введите имя получателя
(Необязательно) Введите комментарий.
Нажмите кнопку Создать.
Идентификатор общего доступа не используется для открытых получателей общего доступа.
Скопируйте ссылку активации.
Кроме того, можно получить ссылку активации позже. См . шаг 2. Получение ссылки на активацию.
(Необязательно) Создайте настраиваемые свойства получателя.
На вкладке "Сведения о получателе " нажмите кнопку "Изменить свойства > + Добавить свойство". Затем добавьте имя свойства (ключ) и значение. Дополнительные сведения см. в разделе "Управление свойствами получателя".
SQL
Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks:
CREATE RECIPIENT [IF NOT EXISTS] <recipient-name>
[COMMENT "<comment>"];
Вы также можете добавить настраиваемые свойства для получателя. Дополнительные сведения см. в разделе "Управление свойствами получателя".
CLI
Выполните следующую команду с помощью интерфейса командной строки Databricks.
databricks recipients create <recipient-name>
Вы также можете добавить настраиваемые свойства для получателя. Дополнительные сведения см. в разделе "Управление свойствами получателя".
Выходные данные включают общий activation_url
доступ к получателю.
Получатель создается с authentication_type
TOKEN
помощью .
Примечание.
При создании получателя у вас есть возможность ограничить доступ получателя к ограниченному набору IP-адресов. Вы также можете добавить список IP-доступа к существующему получателю. См. раздел "Ограничить доступ получателей разностного доступа" с помощью списков IP-доступа (открытый общий доступ).
Шаг 2. Получение ссылки на активацию
Чтобы получить ссылку на активацию нового получателя, можно использовать обозреватель каталогов, интерфейс командной строки каталога Databricks Unity или DESCRIBE RECIPIENT
команду SQL в записной книжке Azure Databricks или редакторе запросов SQL Databricks.
Если получатель уже скачал файл учетных данных, ссылка активации не возвращается или не отображается.
Необходимые разрешения: администратор хранилища метаданных, пользователь с USE RECIPIENT
привилегиями или владельцем объекта получателя.
Обозреватель каталогов
В рабочей области Azure Databricks щелкните "Каталог".
В верхней части области каталога щелкните значок шестеренки и выберите delta Sharing.
Кроме того, на странице быстрого доступа нажмите кнопку "Разностный общий доступ>".
На вкладке "Общий доступ" щелкните "Получатели" и выберите получателя.
На странице сведений о получателе скопируйте ссылку активации.
SQL
Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks.
DESCRIBE RECIPIENT <recipient-name>;
Выходные activation_link
данные включают в себя .
CLI
Выполните следующую команду с помощью интерфейса командной строки Databricks.
databricks recipients get <recipient-name>
Выходные activation_url
данные включают в себя .
Предоставление получателю доступа к общей папке
После создания получателей и создания общих папок вы можете предоставить получателю доступ к этим общим папкам.
Чтобы предоставить общий доступ получателям, можно использовать обозреватель каталогов, интерфейс командной строки каталога Databricks Unity или GRANT ON SHARE
команду SQL в записной книжке Azure Databricks или редакторе sql-запросов Databricks.
Необходимые разрешения: одно из следующих элементов:
- Администратор хранилища метаданных.
- Делегированные разрешения или владение как для общего ресурса, так и для объектов получателя ((
USE SHARE
+SET SHARE PERMISSION
) или владельца общей папки) AND (USE RECIPIENT
или владельца получателя).
Инструкции см. в разделе "Управление доступом к общим папкам данных Delta Sharing" (для поставщиков).
Отправка получателю сведений о подключении
Вы должны сообщить получателю, как получить доступ к данным, к которым вы предоставляете доступ. Сведения, которые вы предоставляете получателю, зависят от того, используется ли общий доступ Databricks к Databricks или открытый общий доступ:
Для совместного использования Databricks to Databricks вы отправляете ссылку на инструкции по доступу к данным, которые вы предоставляете.
Объект поставщика, который выводит список доступных общих папок, автоматически создается в хранилище метаданных получателя. Получатели не должны делать ничего, кроме просмотра и выбора общих папок, которые они хотят использовать. См. раздел "Чтение данных" с помощью databricks-to-Databricks Delta Sharing (для получателей).
Для открытого общего доступа вы используете безопасный канал для предоставления общего доступа к ссылке активации и ссылке на инструкции по использованию.
Файл учетных данных можно скачать только один раз. Получатели должны обращаться со скачанными учетными данными как с конфиденциальной информацией и не должны передавать их за пределы организации. Если у вас возникли проблемы, связанные с небезопасной обработкой учетных данных, вы можете в любое время сменить учетные данные получателя. Дополнительные сведения об управлении учетными данными для обеспечения безопасного доступа к получателям см . в рекомендациях по обеспечению безопасности маркеров.
Просмотр получателей
Чтобы просмотреть список получателей, можно использовать обозреватель каталогов, интерфейс командной строки каталога Databricks Unity или SHOW RECIPIENTS
команду SQL в записной книжке Azure Databricks или редакторе sql-запросов Databricks.
Необходимые разрешения: вы должны быть администратором хранилища метаданных или иметь USE RECIPIENT
право просматривать всех получателей в хранилище метаданных. Другие пользователи имеют доступ только к получателям, которыми они владеет.
Обозреватель каталогов
В рабочей области Azure Databricks щелкните "Каталог".
В верхней части области каталога щелкните значок шестеренки и выберите delta Sharing.
Кроме того, на странице быстрого доступа нажмите кнопку "Разностный общий доступ>".
На вкладке "Общий доступ" щелкните "Получатели".
SQL
Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks. При необходимости замените <pattern>
предикатом LIKE
.
SHOW RECIPIENTS [LIKE <pattern>];
CLI
Выполните следующую команду с помощью интерфейса командной строки Databricks.
databricks recipients list
Просмотр сведений о получателе
Для просмотра сведений о получателе можно использовать обозреватель каталогов, интерфейс командной строки каталога Databricks Unity или DESCRIBE RECIPIENT
команду SQL в записной книжке Azure Databricks или редакторе sql-запросов Databricks.
Необходимые разрешения: администратор хранилища метаданных, пользователь с USE RECIPIENT
привилегиями или владельцем объекта получателя.
Вы сможете ознакомиться со следующими сведениями.
- Создатель получателя, метка времени создания, комментарии и тип проверки подлинности (
TOKEN
илиDATABRICKS
). - Если получатель использует открытый общий доступ: время существования маркера, ссылка активации, состояние активации (скачанные учетные данные) и списки доступа к IP-адресам, если они назначены.
- Если получатель использует общий доступ Databricks to Databricks: облако, регион и идентификатор хранилища метаданных каталога Unity получателя, а также состояние активации.
- Свойства получателя, включая настраиваемые свойства. См. раздел "Управление свойствами получателей".
Обозреватель каталогов
В рабочей области Azure Databricks щелкните "Каталог".
В верхней части области каталога щелкните значок шестеренки и выберите delta Sharing.
Кроме того, на странице быстрого доступа нажмите кнопку "Разностный общий доступ>".
На вкладке "Общий доступ" щелкните "Получатели" и выберите получателя.
SQL
Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks.
DESCRIBE RECIPIENT <recipient-name>;
CLI
Выполните следующую команду с помощью интерфейса командной строки Databricks.
databricks recipients get <recipient-name>
Просмотр разрешений общего доступа получателя
Чтобы просмотреть список общих папок, к которым получателю предоставлен доступ, можно использовать обозреватель каталогов, интерфейс командной строки Databricks или SHOW GRANTS TO RECIPIENT
команду SQL в записной книжке Azure Databricks или редакторе запросов Databricks SQL.
Необходимые разрешения: администратор хранилища метаданных, пользователь с USE RECIPIENT
привилегиями или владельцем объекта получателя.
Обозреватель каталогов
В рабочей области Azure Databricks щелкните "Каталог".
В верхней части области каталога щелкните значок шестеренки и выберите delta Sharing.
Кроме того, на странице быстрого доступа нажмите кнопку "Разностный общий доступ>".
На вкладке "Общий доступ" щелкните "Получатели" и выберите получателя.
Перейдите на вкладку "Общие папки", чтобы просмотреть список общих папок, к которым предоставлен доступ получателю.
SQL
Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks.
SHOW GRANTS TO RECIPIENT <recipient-name>;
CLI
Выполните следующую команду с помощью интерфейса командной строки Databricks.
databricks recipients share-permissions <recipient-name>
Обновление получателя
Чтобы обновить получателя, можно использовать обозреватель каталогов, интерфейс командной строки каталога Databricks Unity или ALTER RECIPIENT
команду SQL в записной книжке Azure Databricks или редакторе sql-запросов Databricks.
Свойства, которые можно обновить, включают имя получателя, владельца, комментарий и настраиваемые свойства.
Необходимые разрешения: для обновления владельца необходимо быть администратором хранилища метаданных или владельцем объекта получателя. Для обновления имени необходимо быть администратором хранилища метаданных (или пользователем с CREATE_RECIPIENT
привилегией) и владельцем. Чтобы обновить комментарий или настраиваемые свойства, необходимо быть владельцем.
Обозреватель каталогов
В рабочей области Azure Databricks щелкните "Каталог".
В верхней части области каталога щелкните значок шестеренки и выберите delta Sharing.
Кроме того, на странице быстрого доступа нажмите кнопку "Разностный общий доступ>".
На вкладке "Общий доступ" щелкните "Получатели" и выберите получателя.
На странице сведений о получателе:
Обновите владельца.
Изменение или добавление комментария.
Переименуйте получателя.
Щелкните меню кебаб и выберите "Переименовать".
Изменение, удаление или добавление настраиваемых свойств получателя.
Нажмите кнопку " Изменить свойства". Чтобы добавить свойство, нажмите кнопку +Добавить свойство и введите имя свойства (ключ) и значение. Дополнительные сведения см. в разделе "Управление свойствами получателя".
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": "someone-else@example.com",
"comment": "something new",
"ip_access_list": {
"allowed_ip_addresses": ["8.8.8.8", "8.8.8.4/10"]
},
"property": {
"country": "us",
"id": "001"
}
}
Затем выполните следующую команду с помощью интерфейса командной строки Databricks. Замените <recipient-name>
текущим именем получателя и замените update-recipient-settings.json
именем файла JSON.
databricks recipients update --json-file update-recipient-settings.json
Дополнительные сведения о свойствах см. в разделе "Управление свойствами получателя".
Управление маркерами получателей (открытый общий доступ)
Если вы предоставляете доступ к данным получателю с помощью открытого общего доступа, может потребоваться повернуть маркер этого получателя. Смена маркера состоит из задания истечения срока действия существующего маркера и замены его новым маркером и URL-адресом активации.
Необходимо повернуть маркер получателя и создать новый URL-адрес активации в следующих обстоятельствах:
- Скоро истекает срок действия существующего маркера получателя.
- Получатель потерял свой URL-адрес активации, или этот адрес скомпрометирован.
- Учетные данные повреждены, потеряны или скомпрометированы после скачивания получателем.
- При изменении времени существования маркера получателя для хранилища метаданных. См. раздел "Изменение времени существования маркера получателя".
Рекомендации по безопасности для маркеров
В каждый момент времени у получателя может быть не более двух маркеров: активный и замененный. Повернутый маркер — это маркер, который был задан для истечения срока действия и заменен активным маркером. Пока срок действия замененного маркера не истечет, попытка его повторной смены приведет к ошибке.
При смене маркера получателя можно при необходимости задать --existing-token-expire-in-seconds
количество секунд до истечения срока действия существующего маркера получателя. Если это значение равно 0
, срок действия существующего маркера получателя истекает немедленно.
Databricks рекомендует задавать для параметра --existing-token-expire-in-seconds
относительно короткий период, чтобы дать организации получателя возможность получить доступ к новой ссылке для активации, но при этом сократить время, в течение которого у получателя есть два активных токена. Если вы подозреваете, что существующий маркер получателя скомпрометирован, Databricks рекомендует немедленно его истекать.
Если существующий URL-адрес активации получателя никогда не был доступ, смена существующего маркера отменяет этот URL-адрес активации и заменяет его новым.
Если истек срок действия всех маркеров получателя, смена маркера заменяет существующий URL-адрес активации новым. Databricks рекомендуют оперативно менять учетные данные или удалять получателей, у которых истек срок действия маркеров.
Если URL-адрес активации получателя непреднамеренно отправляется неправильно или отправляется через небезопасный канал, Databricks рекомендует:
- Отозвать доступ получателя к общему ресурсу.
- Сменить получателя и задайте для параметра
--existing-token-expire-in-seconds
значение0
. - Поделитесь новым URL-адресом активации с предполагаемым получателем через безопасный канал.
- После того как ссылка для активации будет использована, снова предоставить получателю доступ к этому общему ресурсу.
В чрезвычайных ситуациях вместо поворота маркера получателя можно удалить и повторно создать получателя.
Смена маркера получателя
Чтобы повернуть маркер получателя, можно использовать обозреватель каталогов или интерфейс командной строки каталога Databricks Unity.
Необходимые разрешения: владелец объекта Recipient.
Обозреватель каталогов
В рабочей области Azure Databricks щелкните "Каталог".
В левой области разверните меню "Разностный общий доступ" и выберите "Общий доступ".
В верхней части области каталога щелкните значок шестеренки и выберите delta Sharing.
Кроме того, на странице быстрого доступа нажмите кнопку "Разностный общий доступ>".
На вкладке "Общий доступ" щелкните "Получатели" и выберите получателя.
На вкладке "Сведения" в разделе "Срок действия маркера" нажмите кнопку "Повернуть".
В диалоговом окне " Смена маркера" задайте срок действия маркера немедленно или в течение заданного периода времени. Советы о том, когда истекает срок действия существующих маркеров, см . рекомендации по обеспечению безопасности для маркеров.
Нажмите кнопку " Повернуть".
На вкладке "Сведения" скопируйте новую ссылку активации и поделитесь им с получателем через безопасный канал. См . шаг 2. Получение ссылки на активацию.
CLI
Выполните следующую команду с помощью интерфейса командной строки Databricks. Замените значения-заполнители:
<recipient-name>
: имя получателя.<expiration-seconds>
: количество секунд до истечения срока действия существующего маркера получателя. В течение этого периода существующий маркер будет продолжать работать. Если это значение равно0
, срок действия существующего маркера истекает немедленно. Советы о том, когда истекает срок действия существующих маркеров, см . рекомендации по обеспечению безопасности для маркеров.
databricks recipients rotate-token \ <recipient-name> \ <expiration-seconds>
Получите новую ссылку активации получателя и поделитесь им с получателем через безопасный канал. См . шаг 2. Получение ссылки на активацию.
Изменение времени существования маркера получателя
Если необходимо изменить время существования маркера получателя по умолчанию для хранилища метаданных каталога Unity, можно использовать обозреватель каталогов или интерфейс командной строки каталога Databricks Unity.
Примечание.
Время существования маркера получателя для существующих получателей не обновляется автоматически при изменении времени существования маркера получателя по умолчанию для хранилища метаданных. Чтобы применить время существования нового маркера к указанному получателю, необходимо повернуть его маркер. См. раздел "Управление маркерами получателей" (открытый общий доступ).
Необходимые разрешения: администратор учетной записи.
Обозреватель каталогов
- Войдите в консоль учетной записи.
- На боковой панели щелкните "Каталог".
- Щелкните имя хранилища метаданных.
- В разделе "Время существования маркера получателя разностного общего доступа" нажмите кнопку "Изменить".
- Включите параметр Срок действия.
- Введите число секунд, минут, часов или дней и выберите единицу измерения.
- Нажмите кнопку Сохранить.
Если параметр Срок действия отключен, срок действия маркеров получателя не истекает. Databricks рекомендует устанавливать конечный срок действия маркеров.
CLI
Выполните следующую команду с помощью интерфейса командной строки Databricks. Замените 12a345b6-7890-1cd2-3456-e789f0a12b34
идентификатором UUID хранилища метаданных и замените 86400
число секунд до истечения срока действия маркера получателя. Если задать это значение 0
, срок действия маркеров получателя не истекает. Databricks рекомендует устанавливать конечный срок действия маркеров.
databricks metastores update \
12a345b6-7890-1cd2-3456-e789f0a12b34 \
--delta-sharing-recipient-token-lifetime-in-seconds 86400
(Необязательно) Ограничение доступа получателя с помощью списков доступа
При настройке объекта получателя можно ограничить доступ получателя к ограниченному набору IP-адресов. См. раздел "Ограничить доступ получателей разностного доступа" с помощью списков IP-доступа (открытый общий доступ).
Управление свойствами получателя
Объекты получателя включают предопределенные свойства, которые можно использовать для уточнения доступа к данным. Например, их можно использовать для выполнения следующих действий:
- Совместное использование разных секций таблиц с разными получателями, что позволяет использовать одни и те же общие папки с несколькими получателями, сохраняя границы данных между ними.
- Совместное использование динамических представлений, ограничивающих доступ получателей к данным таблицы на уровне строки или столбца на основе свойств получателя.
Можно также создать настраиваемые свойства.
Предопределенные свойства начинаются со databricks.
следующего вида:
databricks.accountId
: учетная запись Azure Databricks, к которой принадлежит получатель данных (только databricks to 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 Shared > by me > Recipients и выбрав получателя.
Нажмите кнопку "Изменить свойства > + Добавить свойство".
Введите имя свойства (ключ) и значение.
Например, если вы хотите отфильтровать общие данные по странам и предоставить доступ только к данным США с этим получателем, можно создать ключ с именем "страна" со значением "США".
Нажмите кнопку Сохранить.
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. Замените значения-заполнители:
<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.
Кроме того, на странице быстрого доступа нажмите кнопку "Разностный общий доступ>".
На вкладке "Общий доступ" щелкните "Получатели" и выберите получателя.
На вкладке "Получатели" найдите и выберите получателя.
Щелкните меню кебаб и нажмите кнопку "Удалить".
В диалоговом окне подтверждения нажмите кнопку "Удалить".
SQL
Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks.
DROP RECIPIENT [IF EXISTS] <recipient-name>;
CLI
Выполните следующую команду с помощью интерфейса командной строки Databricks.
databricks recipients delete <recipient-name>