Ejemplo de flujo de trabajo de secreto

En este ejemplo de flujo de trabajo, se usan secretos para configurar credenciales de JDBC para conectarse a una instancia de Azure Data Lake Store.

Creación de un ámbito de secretos

Cree un ámbito de secretos denominado jdbc.

Para crear un ámbito de secretos con el respaldo de Databricks:

databricks secrets create-scope jdbc

Para crear un ámbito de secretos con el respaldo de Azure Key Vault, siga las instrucciones que se indican en Creación de un ámbito de secretos con el respaldo de Azure Key Vault.

Nota:

Si su cuenta no tiene el plan Premium, deberá crear el ámbito con el permiso MANAGE concedido a todos los usuarios (“usuarios”). Por ejemplo:

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

Crear secretos

El método para crear los secretos depende de si utiliza un ámbito con el respaldo de Azure Key Vault o de Databricks.

Creación de los secretos en un ámbito con el respaldo de Azure Key Vault

Agregue los secretos username y password usando la API REST SetSecret de Azure o la interfaz de usuario de Azure Portal:

Adición de secretos a Azure Key Vault

Creación de los secretos en un ámbito con el respaldo de Databricks

Agregue los secretos username y password. Ejecute los siguientes comandos y escriba los valores secretos en el editor abierto.

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

Usar los secretos en un cuaderno

En un cuaderno, lea los secretos almacenados en el ámbito de secretos jdbc para configurar un conector JDBC:

val driverClass = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
val connectionProperties = new java.util.Properties()
connectionProperties.setProperty("Driver", driverClass)

val jdbcUsername = dbutils.secrets.get(scope = "jdbc", key = "username")
val jdbcPassword = dbutils.secrets.get(scope = "jdbc", key = "password")
connectionProperties.put("user", s"${jdbcUsername}")
connectionProperties.put("password", s"${jdbcPassword}")

Ahora puede usar estos ConnectionProperties con el conector de JDBC para hablar con el origen de datos. Los valores obtenidos del ámbito no se muestran nunca en el cuaderno (vea Redacción de secretos).

Conceder acceso a otro grupo

Nota:

Este paso requiere que la cuenta tenga el plan Premium.

Después de comprobar que las credenciales se han configurado correctamente, compártalas con el grupo datascience para que las puedan analizar. Para ello, concédales permisos para leer el ámbito del secreto y enumerar los secretos disponibles.

Conceda al grupo datascience el permiso READ para estas credenciales con la siguiente solicitud:

databricks secrets put-acl jdbc datascience READ

Para obtener más información sobre el control de acceso a los secretos, consulte Controles de acceso de secretos.