Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В Databricks Runtime 13.3 LTS и более поздних версиях allowlist в каталоге Unity контролируется, какие библиотеки и скрипты инициализации могут выполняться в стандартном режиме доступа. Это позволяет пользователям использовать эти артефакты для вычислений, настроенных в стандартном режиме доступа.
По умолчанию список разрешений пуст. Вы не можете отключить эту функцию. Чтобы изменить список разрешений, необходимо иметь привилегии MANAGE ALLOWLIST . См. раздел MANAGE ALLOWLIST.
Вы можете добавить каталог или файл в список разрешений, даже если он еще не создан. См . статью "Работа с файлами в томах каталога Unity".
Внимание
Библиотеки, используемые как драйверы JDBC или пользовательские источники данных Spark на стандартных вычислительных ресурсах с поддержкой Unity Catalog, требуют ANY FILE разрешений.
Некоторые установленные библиотеки хранят данные всех пользователей в одном общем временном каталоге. Эти библиотеки могут нарушить изоляцию пользователей.
Риски безопасности и эксплуатации
Понимание последствий безопасности разрешенных списков крайне важно для поддержания изоляции кластера и защиты данных в стандартном режиме доступа. Правильное использование списка разрешений запрещает пользователям добавлять произвольные библиотеки и скрипты инициализации. Это снижает вероятность проблем безопасности, нестабильности кластера и другого непредсказуемого поведения.
Будьте внимательны при определении, кто получает MANAGE ALLOWLIST привилегии. Пользователи с MANAGE ALLOWLIST привилегиями могут добавлять любой путь или координату Maven в список разрешенных, что позволяет эффективно контролировать, какой код может выполняться в стандартном режиме доступа на вычислительном устройстве.
В качестве администратора хранилища метаданных периодически просматривайте элементы в списке разрешений и убедитесь, что они получены из доверенных источников. Артефакты, включенные в белый список, могут получить доступ к ресурсам кластера и данным пользователей, поэтому они должны подпадать под те же меры безопасности и управления, что и другие конфиденциальные компоненты.
Databricks рекомендует использовать следующие рекомендации по управлению списком разрешений:
- Предоставьте
MANAGE ALLOWLISTправа только администраторам хранилища метаданных и администраторам доверенной платформы. Для других пользователей предоставьтеMANAGE ALLOWLISTтолько на временной основе при необходимости. - Регулярно просматривайте и проверяйте дополнения списка разрешений.
- Используйте определенные пути и координаты Maven, а не широкие шаблоны.
- Настройте расположения хранилища для разрешенных артефактов с разрешениями только для чтения.
- Реализуйте формальный процесс утверждения для добавления списка разрешений в рабочих средах.
- Протестируйте разрешенные библиотеки и скрипты инициализации в средах, отличных от рабочей среды, прежде чем добавлять их в рабочие списки разрешений.
Добавление элементов в список разрешений
Элементы можно добавить в allowlist с помощью обозревателя каталога или REST API.
Чтобы открыть диалоговое окно для добавления элементов в список разрешений в обозревателе каталогов, сделайте следующее:
- В рабочей области Azure Databricks щелкните
Каталог.
- Щелкните
.
- Щелкните имя хранилища метаданных, чтобы открыть сведения о хранилище метаданных и пользовательский интерфейс разрешений.
- Выберите допустимые JAR-файлы/команды инициализации.
- Нажмите кнопку Добавить.
Внимание
Этот параметр отображается только для пользователей с MANAGE ALLOWLIST привилегиями в хранилище метаданных. Если вы не можете получить доступ к пользовательскому интерфейсу списка разрешений, обратитесь к администратору хранилища метаданных за помощью в библиотеках разрешенных списков и скриптах инициализации.
Добавление скрипта init в список разрешений
Выполните следующие действия в диалоговом окне списка разрешений, чтобы добавить скрипт инициализации в список разрешений:
- Для Тип выберите "Init Script".
- Для Тип источника выберите Том или протокол хранилища объектов.
- Укажите исходный путь для добавления в список разрешений. См. перечень правил на путях в списке разрешённых..
Добавление JAR-файла в список разрешений
Выполните следующие действия в диалоговом окне списка разрешений, чтобы добавить JAR-файл в список разрешений:
- Для типа выберите JAR.
- Для Тип источника выберите Том или протокол хранилища объектов.
- Укажите исходный путь для добавления в список разрешений. См. перечень правил на путях в списке разрешённых..
Добавление координат Maven в список разрешений
Внимание
Перед добавлением координат Maven в список разрешений необходимо иметь разрешения CAN ATTACH TO и CAN MANAGE для вычислительных ресурсов, в которых требуется установить библиотеку. См. статью "Разрешения вычислений".
Выполните следующие действия в диалоговом окне списка разрешений, чтобы добавить координаты Maven в список разрешений:
- Для типа выберите Maven.
- Для исходного типа выберите координаты.
- Введите координаты в следующем формате:
groudId:artifactId:version- Вы можете включить все версии библиотеки, указав следующий формат:
groudId:artifactId - Все артефакты можно включить в группу, указав следующий формат:
groupId
- Вы можете включить все версии библиотеки, указав следующий формат:
Как разрешения на пути применяются в списке разрешений?
Список разрешений можно использовать для предоставления доступа к JAR или скриптам init, хранящимся в томах каталога Unity и хранилище объектов. Если вы добавляете путь к каталогу, а не файлу, разрешения списка разрешений распространяются на содержащиеся файлы и каталоги.
Сопоставление префиксов используется для всех артефактов, хранящихся в томах каталога Unity или хранилище объектов. Чтобы предотвратить сопоставление префиксов на определенном уровне каталога, добавьте косую черту (/). Например, /Volumes/prod-libraries/ не будет выполнять сопоставление префиксов для файлов, имеющих префикс prod-libraries. Вместо этого все файлы и каталоги в /Volumes/prod-libraries/ списке разрешений добавляются.
Разрешения можно определить на следующих уровнях:
- Базовый путь для дискового тома или контейнера хранилища.
- Каталог, вложенный на любой глубине от базового пути.
- Один файл.
Добавление пути к списку разрешений означает, что путь можно использовать только для сценариев инициализации или установки JAR-файлов. Azure Databricks по-прежнему проверяет разрешения на доступ к данным в указанном расположении.
Субъект, используемый, должен иметь READ VOLUME разрешения на указанный том. См. РАЗДЕЛ ОБЪЕМА ЧТЕНИЯ.
В выделенном режиме доступа (ранее однопользовательском режиме доступа) используется удостоверение назначенного участника (пользователя или группы).
В стандартном режиме доступа:
- Библиотеки используют удостоверение установщика библиотеки.
- Скрипты init используют удостоверение владельца кластера.
Примечание.
Режим доступа без изоляции не поддерживает тома, но использует такое же назначение идентичности, как и стандартный режим доступа.
Databricks рекомендует настроить все права доступа к объектному хранилищу, связанные со скриптами и библиотеками инициализации, с разрешениями только для чтения. Пользователи с разрешениями на запись в этих расположениях могут потенциально изменять код в файлах библиотеки или скриптах инициализации.
Databricks рекомендует использовать учетные записи служб Microsoft Entra ID для управления доступом к JAR-файлам или скриптам инициализации, хранящимся в Azure Data Lake Storage. Чтобы завершить настройку, используйте следующую связанную документацию:
Создайте учетную запись службы с разрешениями на чтение и просмотр списка для ваших нужных больших двоичных объектов. См. статью "Подключение к Azure Data Lake Storage и хранилищу BLOB-объектов".
Сохраните учетные данные с помощью секретов. См. раздел "Управление секретами".
Задайте свойства в конфигурации Spark и переменных среды при создании кластера, как показано в следующем примере:
Конфигурация Spark:
spark.hadoop.fs.azure.account.auth.type.<storage-account>.dfs.core.windows.net OAuth spark.hadoop.fs.azure.account.oauth.provider.type.<storage-account>.dfs.core.windows.net org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider spark.hadoop.fs.azure.account.oauth2.client.id.<storage-account>.dfs.core.windows.net <application-id> spark.hadoop.fs.azure.account.oauth2.client.secret.<storage-account>.dfs.core.windows.net {{secrets/<secret-scope>/<service-credential-key>}} spark.hadoop.fs.azure.account.oauth2.client.endpoint.<storage-account>.dfs.core.windows.net https://login.microsoftonline.com/<tenant-id>/oauth2/tokenПеременные среды:
SERVICE_CREDENTIAL={{secrets/<secret-scope>/<service-credential-key>}}(Необязательно) Рефакторинг скриптов инициализации с помощью azcopy или Azure CLI.
Вы можете ссылаться на переменные среды во время настройки кластера в скриптах инициации, чтобы передать учетные данные, хранящиеся в качестве секретов для проверки.
Примечание.
Разрешения списка разрешений для JAR и скриптов инициализации управляются отдельно. Если для хранения обоих типов объектов используется одинаковое расположение, необходимо добавить расположение в список разрешений для каждого из них.