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:
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
Use la dbutils.secrets
utilidad para acceder a secretos en cuadernos.
En el ejemplo siguiente se leen los secretos almacenados en el ámbito jdbc
del secreto para configurar una operación de lectura de 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()
Los valores capturados desde el ámbito se redactan a partir de la salida del cuaderno. Consulte Redacción secreta.
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.