Пример рабочего процесса с секретами

В этом примере рабочего процесса показано использование секретов для настройки учетных данных JDBC для подключения к Azure Data Lake Store.

Создание области секретов

Создайте область секретов под названием jdbc.

Создание области секретов с поддержкой Databricks.

databricks secrets create-scope jdbc

Чтобы создать область секретов с поддержкой Azure Key Vault, следуйте инструкциям в разделе Создание области секретов с поддержкой Azure Key Vault.

Примечание.

Если у вашей учетной записи нет плана Premium, необходимо создать область с разрешением MANAGE, предоставленным всем пользователям ("пользователям"). Например:

databricks secrets create-scope jdbc --initial-manage-principal users

Создание секретов

Метод создания секретов зависит от того, используется ли область с поддержкой Azure Key Vault или область с поддержкой Databricks.

Создание секретов в области с поддержкой Azure Key Vault

Добавьте секреты и password с помощью REST API набора секретов username Azure или пользовательского интерфейса портал Azure:

Добавление секретов в Azure Key Vault

Создание секретов в области с поддержкой Databricks

Добавьте секреты username и password. Выполните следующие команды и введите значения секрета в открывшемся редакторе.

databricks secrets put-secret jdbc username
databricks secrets put-secret jdbc password

Использование секретов в записной книжке

dbutils.secrets Используйте программу для доступа к секретам в записных книжках.

В следующем примере считываются секреты, хранящиеся в области jdbc секрета для настройки операции чтения JDBC:

Python

username = dbutils.secrets.get(scope = "jdbc", key = "username")
password = dbutils.secrets.get(scope = "jdbc", key = "password")

df = (spark.read
  .format("jdbc")
  .option("url", "<jdbc-url>")
  .option("dbtable", "<table-name>")
  .option("user", username)
  .option("password", password)
  .load()
)

Scala

val username = dbutils.secrets.get(scope = "jdbc", key = "username")
val password = dbutils.secrets.get(scope = "jdbc", key = "password")

val df = spark.read
  .format("jdbc")
  .option("url", "<jdbc-url>")
  .option("dbtable", "<table-name>")
  .option("user", username)
  .option("password", password)
  .load()

Значения, полученные из области, удаляются из выходных данных записной книжки. См. раздел "Секретный редакт".

Получение доступа к другой группе

Примечание.

На этом шаге требуется, чтобы у вашей учетной записи был план Premium.

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

datascience Предоставьте группе разрешение READ для этих учетных данных, выполнив следующий запрос:

databricks secrets put-acl jdbc datascience READ

Дополнительные сведения об управлении доступом к секретам см. в разделе "Секретные списки управления доступом".