Управление секретами

Секрет Azure Databricks хранит чувствительное значение, такое как пароль, API или хеш-соль, чтобы ноутбуки, задачи и функции могли использовать его без появления этого значения в коде. Вы можете управлять секретами в двух местах:

  • Области секретов рабочего пространства: Именованные коллекции секретов в одном рабочем пространстве. Разрешения распространяются на всю область действия. См. области секретов Workspace.
  • Секреты в каталоге Unity: Защищённые объекты (catalog.schema.secret), доступные в каждом рабочем пространстве, привязанном к метахранилищу. Вы можете предоставить доступ к каждому секретному ключу. См. Секреты в Unity Catalog.

Секреты Unity Catalog могут управляться Azure Databricks или использовать Azure Key Vault. См. секреты Azure Key Vault в Unity Catalog.

Выбирайте, где хранить секрет

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

  Область секретов рабочего пространства Azure Databricks-managed secret in Unity Catalog Секрет на основе Azure Key Vault в Unity Catalog (бета)
Где хранится значение Azure Databricks, в рабочей области, или ваш Azure Key Vault с областью, поддерживаемой Key Vault Azure Databricks в Unity Catalog Azure Key Vault (Azure Databricks хранит только имя секрета в Unity Catalog)
Шифрование с помощью собственного ключа Да, с ключом, управляемым клиентом для управляемых сервисов Да, с ключом, управляемым клиентом в каталоге
Доступно в Одна рабочая область Каждое рабочее пространство, привязанное к метахранилищу Каждое рабочее пространство, привязанное к метахранилищу
Управление доступом Разрешения области секретов (нет контроля доступа на уровне секрета) Привилегии Unity Catalog на секрет, схему или каталог Привилегии Unity Catalog на секрет, схему или каталог
Повернуть Обновить значение в Azure Databricks или в Key Vault для области, поддерживаемой Key Vault Обновите значение в Azure Databricks Выполните ротацию в Azure Key Vault. Нет изменений в Azure Databricks.

Где можно использовать секретные данные

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

Surface Область видимости секретов рабочего пространства Секрет в Unity Catalog
dbutils.secrets в записных книжках и заданиях Yes. См. Прочитай секрет. Да, в бессерверной среде версии 4 и выше или в Databricks Runtime 17.3 LTS и выше. См. Прочитай секрет.
REST API и Databricks CLI Yes. Значения, возвращаемые API, не маскируются. Yes. Значения, возвращаемые API, не маскируются.
Удалённая разработка, например, Databricks Connect Да, в dbutils.secrets клиенте Databricks Connect. См. утилиты Databricks с Databricks Connect для Python. No
Unity Catalog Python и Scala UDFs No Yes. Звонящим нужно только EXECUTE. См. Использование секретов в UDF.
Хранилища SQL Да, с помощью секретной функции Только через Unity Catalog Python или Scala UDF, который объявляет секрет
Свойства конфигурации Spark и переменные среды в Compute Yes. Дополнительные сведения см. в статье Использование секретов в свойстве конфигурации Spark или переменной среды. No
Переменные среды конечной точки обслуживания модели Yes. См. Добавление секретных переменных среды. No
Репозитории пакетов по умолчанию Да, в области databricks-package-management. См. Настроить репозитории пакетов по умолчанию. No

Дополнительные ресурсы

Resource Description
Каталог Secrets in Unity Создавайте секреты Unity Catalog, предоставляйте доступ и читайте их в блокнотах, заданиях и UDF.
Лучшие практики для секретов Unity Catalog Организуйте секреты по окружению, приложению или команде, и пусть рабочие нагрузки используют секреты, не читая их.