Compartir vía


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

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.