Databricks: Jak nie przechowywać sekretów?

Problem: Robisz audyt konfiguracji Databricks klastra stworzonego w Twojej organizacji. Przechowywanie sekretu do Azure storage account znajdujesz w spark configu. Jest tam zapisana taka właśnie konfiguracja:

fs.azure.account.oauth2.client.secret.storageaccountname.dfs.core.windows.net xsda33jncsax-secretinplaintext
Sekret jest przechowywane w czystym tekście.

Rozwiązanie: Akurat w tym przypadku autentykacja wykonywana jest przy pomocy service principala. Wszystkie sekrety przechowywane są w Key Vault a w Databricks stworzony jest secret scope. W konfiguracji sparka na poziomie klastra wystarczy ustawić wystarczy więc zrobić tylko tak:

fs.azure.account.oauth2.client.secret.storageaccountname.dfs.core.windows.net secrets/secret-scope/sp-app-secret

I wszystko działa 🙂

Read More