Как получить доступ к секретам в блоках данных initscript

Я попытался получить доступ к секрету {{secrets / secrectScope / Key}} на расширенной вкладке кластера блоков данных, и он работает нормально. Но когда я пытаюсь использовать то же самое в сценарии инициализации databricks, он не работает.

Что для этого нужно сделать?

2 ответа

Другой ответ верен относительно синтаксиса ссылки на секреты (так называемые « секретные пути »), но он не будет работать для сценариев инициализации, хотя он будет работать для самого кода Spark.

Чтобы передать секрет в сценарий инициализации, вам необходимо поместить путь секретов в разделы «Переменные среды» на вкладке конфигурации Spark, например:

И после этого вы можете использовать переменную по имени внутри скрипта инициализации :

      if [ -n "$SECRET_VAR" ]; then
  do_something_with_it
fi

Вот шаги для доступа к секретам в databricks initscript:

  1. Перейти в кластер
  2. Щелкните Изменить рядом с информацией о кластере.
  3. На странице «Настроить кластер» щелкните « Дополнительные параметры» .
  4. На вкладке Spark введите следующую конфигурацию Spark:

Пример кода ini:

      fs.azure.account.auth.type.<storage-account-name>.dfs.core.windows.net OAuth
fs.azure.account.oauth.provider.type.<storage-account-name>.dfs.core.windows.net org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider
fs.azure.account.oauth2.client.id.<storage-account-name>.dfs.core.windows.net secrets/<secret-scope-name>/<secret-name>
fs.azure.account.oauth2.client.secret.<storage-account-name>.dfs.core.windows.net secrets/<secret-scope-name>/<secret-name>
fs.azure.account.oauth2.client.endpoint.<storage-account-name>.dfs.core.windows.net https://login.microsoftonline.com/<directory-id>/oauth2/token

Дополнительные сведения см. В разделе Azure Databricks - настройте кластер для чтения секретов из секретной области .

Другие вопросы по тегам