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


Создание получателей данных и управление ими для разностного общего доступа

В этой статье объясняется, как создавать получателей для разностного общего доступа и управлять ими.

Получатель — это именованный объект, представляющий удостоверение пользователя или группы пользователей в реальном мире, использующего общие данные. Способ создания получателей зависит от того, имеет ли ваш получатель доступ к рабочей области 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полная строка идентификатора общего доступа.

пример CURRENT_METASTORE

Получатель может найти идентификатор с помощью обозревателя каталогов, интерфейса командной строки каталога Databricks или функции CURRENT_METASTORE SQL по умолчанию в записной книжке Databricks или sql-запросе Databricks, который выполняется в кластере с поддержкой каталога Unity в рабочей области, которую они намерены использовать.

Обозреватель каталогов

Чтобы получить идентификатор общего доступа с помощью обозревателя каталогов, выполните следующие действия.

  1. В рабочей области Azure Databricks щелкните Значок каталога "Каталог".

  2. В верхней части области каталога щелкните Значок шестеренки значок шестеренки и выберите delta Sharing.

    Кроме того, на странице быстрого доступа нажмите кнопку "Разностный общий доступ>".

  3. На вкладке "Общий доступ со мной " щелкните имя организации общего доступа 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, где зарегистрированы данные, к которым требуется предоставить общий доступ.

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните Значок каталога "Каталог".

  2. В верхней части области каталога щелкните Значок шестеренки значок шестеренки и выберите delta Sharing.

    Кроме того, на странице быстрого доступа нажмите кнопку "Разностный общий доступ>".

  3. На вкладке "Общий доступ" нажмите кнопку "Создать получателя".

  4. Введите имя получателя и идентификатор общего доступа.

    Используйте всю строку идентификатора общего доступа в формате <cloud>:<region>:<uuid>. Например, aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016.

  5. (Необязательно) Введите комментарий.

  6. Нажмите кнопку Создать.

  7. (Необязательно) Создайте настраиваемые свойства получателя.

    Нажмите кнопку "Изменить свойства > + Добавить свойство". Затем добавьте имя свойства (ключ) и значение. Дополнительные сведения см. в разделе "Управление свойствами получателя".

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, вы можете использовать разностный общий доступ для безопасного предоставления общего доступа к данным. Это работает следующим образом:

  1. В качестве поставщика данных вы создаете объект получателя в хранилище метаданных каталога Unity.
  2. При создании объекта получателя Azure Databricks создает маркер, файл учетных данных, содержащий маркер, и ссылку активации для совместного использования с получателем. Объект получателя имеет тип TOKENпроверки подлинности.
  3. Получатель получает доступ к ссылке активации, скачивает файл учетных данных и использует файл учетных данных для проверки подлинности и получения доступа на чтение к таблицам, которые вы включаете в общие папки, к ним предоставляется доступ.

Шаг 1. Создание получателя

Чтобы создать получателя для открытого общего доступа, можно использовать обозреватель каталогов, интерфейс командной строки каталога Databricks Unity или CREATE RECIPIENT команду SQL в записной книжке Azure Databricks или редакторе sql-запросов Databricks.

Необходимые разрешения: администратор хранилища метаданных или пользователь с CREATE_RECIPIENT привилегиями для хранилища метаданных каталога Unity, где зарегистрированы данные, к которым требуется предоставить общий доступ.

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните Значок каталога "Каталог".

  2. В верхней части области каталога щелкните Значок шестеренки значок шестеренки и выберите delta Sharing.

    Кроме того, на странице быстрого доступа нажмите кнопку "Разностный общий доступ>".

  3. На вкладке "Общий доступ" нажмите кнопку "Создать получателя".

  4. Введите имя получателя

  5. (Необязательно) Введите комментарий.

  6. Нажмите кнопку Создать.

    Идентификатор общего доступа не используется для открытых получателей общего доступа.

  7. Скопируйте ссылку активации.

    Кроме того, можно получить ссылку активации позже. См . шаг 2. Получение ссылки на активацию.

  8. (Необязательно) Создайте настраиваемые свойства получателя.

    На вкладке "Сведения о получателе " нажмите кнопку "Изменить свойства > + Добавить свойство". Затем добавьте имя свойства (ключ) и значение. Дополнительные сведения см. в разделе "Управление свойствами получателя".

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-доступа (открытый общий доступ).

Чтобы получить ссылку на активацию нового получателя, можно использовать обозреватель каталогов, интерфейс командной строки каталога Databricks Unity или DESCRIBE RECIPIENT команду SQL в записной книжке Azure Databricks или редакторе запросов SQL Databricks.

Если получатель уже скачал файл учетных данных, ссылка активации не возвращается или не отображается.

Необходимые разрешения: администратор хранилища метаданных, пользователь с USE RECIPIENT привилегиями или владельцем объекта получателя.

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните Значок каталога "Каталог".

  2. В верхней части области каталога щелкните Значок шестеренки значок шестеренки и выберите delta Sharing.

    Кроме того, на странице быстрого доступа нажмите кнопку "Разностный общий доступ>".

  3. На вкладке "Общий доступ" щелкните "Получатели" и выберите получателя.

  4. На странице сведений о получателе скопируйте ссылку активации.

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 Unity или SHOW RECIPIENTS команду SQL в записной книжке Azure Databricks или редакторе sql-запросов Databricks.

Необходимые разрешения: вы должны быть администратором хранилища метаданных или иметь USE RECIPIENT право просматривать всех получателей в хранилище метаданных. Другие пользователи имеют доступ только к получателям, которыми они владеет.

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните Значок каталога "Каталог".

  2. В верхней части области каталога щелкните Значок шестеренки значок шестеренки и выберите delta Sharing.

    Кроме того, на странице быстрого доступа нажмите кнопку "Разностный общий доступ>".

  3. На вкладке "Общий доступ" щелкните "Получатели".

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 получателя, а также состояние активации.
  • Свойства получателя, включая настраиваемые свойства. См. раздел "Управление свойствами получателей".

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните Значок каталога "Каталог".

  2. В верхней части области каталога щелкните Значок шестеренки значок шестеренки и выберите delta Sharing.

    Кроме того, на странице быстрого доступа нажмите кнопку "Разностный общий доступ>".

  3. На вкладке "Общий доступ" щелкните "Получатели" и выберите получателя.

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 привилегиями или владельцем объекта получателя.

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните Значок каталога "Каталог".

  2. В верхней части области каталога щелкните Значок шестеренки значок шестеренки и выберите delta Sharing.

    Кроме того, на странице быстрого доступа нажмите кнопку "Разностный общий доступ>".

  3. На вкладке "Общий доступ" щелкните "Получатели" и выберите получателя.

  4. Перейдите на вкладку "Общие папки", чтобы просмотреть список общих папок, к которым предоставлен доступ получателю.

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 привилегией) и владельцем. Чтобы обновить комментарий или настраиваемые свойства, необходимо быть владельцем.

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните Значок каталога "Каталог".

  2. В верхней части области каталога щелкните Значок шестеренки значок шестеренки и выберите delta Sharing.

    Кроме того, на странице быстрого доступа нажмите кнопку "Разностный общий доступ>".

  3. На вкладке "Общий доступ" щелкните "Получатели" и выберите получателя.

  4. На странице сведений о получателе:

    • Обновите владельца.

    • Изменение или добавление комментария.

    • Переименуйте получателя.

      Меню Кебаб Щелкните меню кебаб и выберите "Переименовать".

    • Изменение, удаление или добавление настраиваемых свойств получателя.

      Нажмите кнопку " Изменить свойства". Чтобы добавить свойство, нажмите кнопку +Добавить свойство и введите имя свойства (ключ) и значение. Дополнительные сведения см. в разделе "Управление свойствами получателя".

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 рекомендует:

  1. Отозвать доступ получателя к общему ресурсу.
  2. Сменить получателя и задайте для параметра --existing-token-expire-in-seconds значение 0.
  3. Поделитесь новым URL-адресом активации с предполагаемым получателем через безопасный канал.
  4. После того как ссылка для активации будет использована, снова предоставить получателю доступ к этому общему ресурсу.

В чрезвычайных ситуациях вместо поворота маркера получателя можно удалить и повторно создать получателя.

Смена маркера получателя

Чтобы повернуть маркер получателя, можно использовать обозреватель каталогов или интерфейс командной строки каталога Databricks Unity.

Необходимые разрешения: владелец объекта Recipient.

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните Значок каталога "Каталог".

  2. В левой области разверните меню "Разностный общий доступ" и выберите "Общий доступ".

  3. В верхней части области каталога щелкните Значок шестеренки значок шестеренки и выберите delta Sharing.

    Кроме того, на странице быстрого доступа нажмите кнопку "Разностный общий доступ>".

  4. На вкладке "Общий доступ" щелкните "Получатели" и выберите получателя.

  5. На вкладке "Сведения" в разделе "Срок действия маркера" нажмите кнопку "Повернуть".

  6. В диалоговом окне " Смена маркера" задайте срок действия маркера немедленно или в течение заданного периода времени. Советы о том, когда истекает срок действия существующих маркеров, см . рекомендации по обеспечению безопасности для маркеров.

  7. Нажмите кнопку " Повернуть".

  8. На вкладке "Сведения" скопируйте новую ссылку активации и поделитесь им с получателем через безопасный канал. См . шаг 2. Получение ссылки на активацию.

CLI

  1. Выполните следующую команду с помощью интерфейса командной строки Databricks. Замените значения-заполнители:

    • <recipient-name>: имя получателя.
    • <expiration-seconds>: количество секунд до истечения срока действия существующего маркера получателя. В течение этого периода существующий маркер будет продолжать работать. Если это значение равно 0, срок действия существующего маркера истекает немедленно. Советы о том, когда истекает срок действия существующих маркеров, см . рекомендации по обеспечению безопасности для маркеров.
    databricks recipients rotate-token \
    <recipient-name> \
    <expiration-seconds>
    
  2. Получите новую ссылку активации получателя и поделитесь им с получателем через безопасный канал. См . шаг 2. Получение ссылки на активацию.

Изменение времени существования маркера получателя

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

Примечание.

Время существования маркера получателя для существующих получателей не обновляется автоматически при изменении времени существования маркера получателя по умолчанию для хранилища метаданных. Чтобы применить время существования нового маркера к указанному получателю, необходимо повернуть его маркер. См. раздел "Управление маркерами получателей" (открытый общий доступ).

Необходимые разрешения: администратор учетной записи.

Обозреватель каталогов

  1. Войдите в консоль учетной записи.
  2. На боковой панели щелкните Значок каталога "Каталог".
  3. Щелкните имя хранилища метаданных.
  4. В разделе "Время существования маркера получателя разностного общего доступа" нажмите кнопку "Изменить".
  5. Включите параметр Срок действия.
  6. Введите число секунд, минут, часов или дней и выберите единицу измерения.
  7. Нажмите кнопку Сохранить.

Если параметр Срок действия отключен, срок действия маркеров получателя не истекает. 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.

Обозреватель каталогов

При создании или обновлении получателя с помощью обозревателя каталогов добавьте или обновите настраиваемые свойства, выполнив следующие действия:

  1. Перейдите на страницу сведений о получателе.

    Если вы создаете нового получателя, вы перейдете на эту страницу после нажатия кнопки "Создать". Если вы обновляете существующего получателя, перейдите на эту страницу, щелкнув Значок шестеренки значок > шестеренки Delta Shared > by me > Recipients и выбрав получателя.

  2. Нажмите кнопку "Изменить свойства > + Добавить свойство".

  3. Введите имя свойства (ключ) и значение.

    Например, если вы хотите отфильтровать общие данные по странам и предоставить доступ только к данным США с этим получателем, можно создать ключ с именем "страна" со значением "США".

  4. Нажмите кнопку Сохранить.

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.

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните Значок каталога "Каталог".

  2. В верхней части области каталога щелкните Значок шестеренки значок шестеренки и выберите delta Sharing.

    Кроме того, на странице быстрого доступа нажмите кнопку "Разностный общий доступ>".

  3. На вкладке "Общий доступ" щелкните "Получатели" и выберите получателя.

  4. На вкладке "Получатели" найдите и выберите получателя.

  5. Меню Кебаб Щелкните меню кебаб и нажмите кнопку "Удалить".

  6. В диалоговом окне подтверждения нажмите кнопку "Удалить".

SQL

Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks.

DROP RECIPIENT [IF EXISTS] <recipient-name>;

CLI

Выполните следующую команду с помощью интерфейса командной строки Databricks.

databricks recipients delete <recipient-name>