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


Добавление ресурсов в приложение Databricks

Приложения Databricks могут интегрироваться с различными функциями платформы Azure Databricks, такими как Databricks SQL для запросов данных, Lakeflow Jobs для приема и обработки данных, Mosaic AI Model Serving для использования генеративных моделей ИИ, а также секреты Azure Databricks, которые используются для управления конфиденциальной информацией. В контексте приложений эти функции платформы называются ресурсами.

Зачем использовать ресурсы?

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

Использование ресурсов Databricks Apps вместо прямых вызовов API имеет несколько преимуществ:

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

Поддерживаемые типы ресурсов

В следующей таблице перечислены все типы ресурсов, которые можно добавить в приложение Databricks:

Тип ресурса Description Ключ ресурса по умолчанию Доступные разрешения
Пространство Genie Интерфейс аналитики с использованием искусственного интеллекта для запросов естественного языка genie-space
  • Может просматривать
  • Может выполняться
  • Может изменяться
  • Может управлять
База данных Lakebase База данных каталога Unity для хранения данных и запросов database
  • Может подключаться и создавать
Задание Lakeflow Рабочие процессы приема и обработки данных job
  • Может просматривать
  • Может управлять выполнением
  • Может управлять
Эксперименты MLflow Отслеживание экспериментов машинного обучения и управление жизненным циклом модели experiment
  • Может прочитать
  • Может изменяться
  • Может управлять
Конечная точка обслуживания модели Развертывание модели машинного обучения для запросов вывода serving-endpoint
  • Может просматривать
  • Может выполнять запросы
  • Может управлять
Секрет Безопасное хранилище для конфиденциальных значений, таких как ключи и маркеры API secret
  • Может прочитать
  • Может записывать
  • Может управлять
Хранилище SQL Вычислительные ресурсы для выполнения запросов SQL sql-warehouse
  • Может использовать
  • Может управлять
Подключение каталога Unity Управляемые подключения к внешним источникам данных connection
  • Использование подключения
Определяемая пользователем функция Зарегистрированные функции SQL и Python в каталоге Unity function
  • Может выполнять
Объем каталога Unity Хранилище файлов в Unity Catalog для артефактов и данных приложений volume
  • Может прочитать
  • Может читать и записывать
Индекс векторного поиска Семантический поиск и выборка на основе сходства из векторных эмбеддингов vector-search-index
  • Может выбрать

Необходимые условия

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

  • Ресурс должен существовать.
  • Пользователь, добавляя ресурс, должен иметь Can manage разрешение на ресурс и приложение.

Приложения выполняются с минимальными привилегиями и используют существующие ресурсы на платформе Azure Databricks. При развертывании служебная учетная запись приложения получает доступ к этим ресурсам и должна иметь необходимые разрешения, такие как доступ на уровне таблиц для запросов SQL или доступ на чтение к секретам. См. раздел "Настройка авторизации" в приложении Databricks.

Настройка ресурсов для приложения

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

Добавьте ресурсы непосредственно в пользовательский интерфейс Databricks Apps при создании или изменении приложения.

  1. При создании или изменении приложения перейдите к шагу "Настройка ".
  2. В разделе "Ресурсы приложения" нажмите кнопку +Добавить ресурс.
  3. Выберите тип ресурса, который вы хотите добавить.
  4. Задайте разрешения для субъекта-службы приложений в ресурсе.
  5. Назначьте ключ ресурсу и наведите ссылку на этот ключ в app.yaml файле.

Добавление хранилища SQL в качестве ресурса приложения в пользовательском интерфейсе

Управление доступом приложения к ресурсам

Каждое приложение имеет выделенный служебный принципал. Следуйте этим рекомендациям для безопасного управления доступом.

  • Используйте учетную запись службы приложения для проверки подлинности. Никогда не закодируйте личные маркеры доступа (PATS) в коде. Учетные данные доступа автоматически внедряются в качестве переменных среды:
    • DATABRICKS_CLIENT_ID
    • DATABRICKS_CLIENT_SECRET
  • Не делитесь учетными данными субъекта-службы между приложениями или пользователями. Каждое приложение должно использовать собственные выделенные учетные данные для изоляции и безопасности.
  • Примените минимальный доступ к привилегиям. Предоставьте только минимальные необходимые разрешения субъекту-службе приложения. Например:
    • Предоставьте доступ к SQL-складу CAN USE, если приложению нужно только выполнять запросы.
    • Предоставьте CAN QUERY в конечной точке обработки, если приложение отправляет только запросы вывода.
    • Предоставьте SELECT или MODIFY доступ к таблицам каталога Unity в зависимости от потребностей приложения в доступе к данным.

Дальнейшие шаги

После добавления ресурсов в приложение, используйте поле env для ссылки на эти ресурсы в разделе valueFrom конфигурации приложения. Инструкции см. в разделе "Определение переменных среды" в приложении Databricks.