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


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

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

Примечание.

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

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

Чтобы просмотреть свойства внешнего расположения, включая разрешения и доступ к рабочей области, можно использовать обозреватель каталогов или команду 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. В диалоговом окне редактирования нажмите кнопку "Дополнительные параметры " и выберите параметр "Ограничить только для чтения".

  5. Нажмите Обновить.

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

Владелец внешнего расположения может переименовать, изменить 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>;