Управление внешними расположениями

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

Примечание.

Databricks рекомендует управлять доступом к файлам с помощью томов. См. статью "Создание и работа с томами".

Описание внешнего расположения

Чтобы просмотреть свойства внешнего расположения, можно использовать Обозреватель каталога или команду SQL.

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

  1. На боковой панели щелкните Значок каталога"Каталог".
  2. В нижней части экрана щелкните внешние расположения внешних данных>.
  3. Щелкните имя внешнего расположения, чтобы просмотреть его свойства.

SQL

Выполните следующую команду в записной книжке или в SQL-редакторе Databricks. Замените <location-name> на имя внешнего расположения.

DESCRIBE EXTERNAL LOCATION <location-name>;

Отображение грантов во внешнем расположении

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

SHOW GRANTS [<principal>] ON EXTERNAL LOCATION <location-name>;

Замените значения-заполнители:

  • <location-name>: имя внешнего расположения, которое разрешает чтение и запись по пути в контейнер хранилища в облачном клиенте.
  • <principal>: адрес электронной почты пользователя на уровне учетной записи или имя группы на уровне учетных записей.

Примечание.

Если имя группы содержит пробел, заключите его в левые кавычки (а не апострофы).

Предоставление разрешений во внешнем расположении

В этом разделе описывается предоставление и отмена разрешений на внешнее расположение с помощью команд каталога Обозреватель и SQL в записной книжке или sql-запросе Databricks. Дополнительные сведения об использовании интерфейса командной строки Databricks или Terraform см . в документации по Databricks Terraform и о том, что такое Интерфейс командной строки Databricks?.

Вы можете предоставить следующие разрешения во внешнем расположении:

  • CREATE EXTERNAL TABLE
  • CREATE EXTERNAL VOLUME
  • CREATE MANAGED STORAGE

Необходимые разрешения: CREATE EXTERNAL LOCATION привилегия как в хранилище метаданных, так и на учетные данные хранилища, на которые ссылаются внешние расположения. Администраторы хранилища метаданных имеют CREATE EXTERNAL LOCATION хранилище метаданных по умолчанию.

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

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

  1. На боковой панели щелкните Значок каталога"Каталог".
  2. В нижней части экрана щелкните внешние расположения внешних данных>.
  3. Щелкните имя внешнего расположения, чтобы открыть его свойства.
  4. Щелкните Разрешения.
  5. Чтобы предоставить разрешение пользователям или группам, установите флажки рядом с идентификаторами, а затем щелкните Grant (Предоставить).
  6. Чтобы отменить разрешения для пользователей или групп, выберите каждое удостоверение и нажмите Отменить.

SQL

Выполните следующую команду SQL в редакторе запросов записной книжки или SQL. В этом примере предоставляется возможность создания внешней таблицы, ссылающейся на внешнее расположение:

GRANT CREATE EXTERNAL TABLE ON EXTERNAL LOCATION <location-name> TO <principal>;

Замените значения-заполнители:

  • <location-name>: имя внешнего расположения, которое разрешает чтение и запись по пути в контейнер хранилища в облачном клиенте.
  • <principal>: адрес электронной почты пользователя на уровне учетной записи или имя группы на уровне учетных записей.

Примечание.

Если имя группы содержит пробел, заключите его в левые кавычки (а не апострофы).

Изменение владельца внешнего расположения

Автор внешнего расположения является его первоначальным владельцем. Чтобы изменить владельца на другого пользователя или группы на уровне учетной записи, выполните следующую команду в записной книжке или редакторе Databricks SQL или используйте Обозреватель каталога. Замените значения-заполнители:

  • <location-name>: имя учетной записи.
  • <principal>: адрес электронной почты пользователя на уровне учетной записи или имя группы на уровне учетных записей.
ALTER EXTERNAL LOCATION <location-name> OWNER TO <principal>

Пометить внешнее расположение как доступное только для чтения

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

Создание внешних расположений только для чтения:

  • Запрещает пользователям записывать файлы в эти внешние расположения независимо от разрешений на запись, предоставленных управляемым удостоверением Azure, которое лежит в основе учетных данных хранения, и независимо от разрешений каталога Unity, предоставленных в этом внешнем расположении.
  • Запрещает пользователям создавать таблицы или тома (внешние или управляемые) в этих внешних расположениях.
  • Позволяет системе правильно проверять внешнее расположение во время создания.

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

Вы также можете использовать Обозреватель каталога для изменения состояния только для чтения после создания внешнего расположения:

  1. На боковой панели щелкните Значок каталога"Каталог".
  2. В нижней части экрана щелкните внешние расположения внешних данных>.
  3. Выберите внешнее расположение, выберите Меню Кебаб меню кебаб (также известное как трехточное меню) в строке объекта и нажмите кнопку "Изменить".
  4. В диалоговом окне редактирования выберите параметр "Только чтение".

Изменение внешнего расположения

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

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

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

  • <location-name>: имя расположения.
  • <new-location-name>: новое имя расположения.
ALTER EXTERNAL LOCATION <location-name> RENAME TO <new-location-name>;

Чтобы изменить универсальный код ресурса (URI), на который указывает внешнее расположение в вашем облачном клиенте, выполните следующие действия:

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

  • <location-name>: имя внешнего расположения.
  • <url> — новый URL-адрес хранилища в вашем облачном клиенте, к которому расположение должно авторизовать доступ.
ALTER EXTERNAL LOCATION location_name SET URL '<url>' [FORCE];

Параметр FORCE изменяет URL-адрес, даже если внешние таблицы зависят от внешнего расположения.

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

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

  • <location-name>: имя внешнего расположения.
  • <credential-name>: имя учетных данных хранилища, предоставляющих доступ к URL-адресу расположения в облачном клиенте.
ALTER EXTERNAL LOCATION <location-name> SET STORAGE CREDENTIAL <credential-name>;

Удаление внешнего расположения

Чтобы удалить (удалить) внешнее расположение, необходимо быть его владельцем. Чтобы удалить внешнее расположение, сделайте следующее:

Выполните следующую команду в записной книжке или в SQL-редакторе Databricks. Элементы в квадратных скобках являются необязательными. Замените <location-name> на имя внешнего расположения.

DROP EXTERNAL LOCATION [IF EXISTS] <location-name>;