Tutorial: Create and use a Databricks secret
In this tutorial, you use Databricks secrets to set up JDBC credentials for connecting to an Azure Data Lake Storage account.
Step 1: Create a secret scope
Create a secret scope called jdbc
.
databricks secrets create-scope jdbc
Step 2: Add secrets to the secret scope
Add the secrets username
and password
. Run the following commands and enter the secret values in the opened editor.
databricks secrets put-secret jdbc username
databricks secrets put-secret jdbc password
Step 3: Use the secrets in a notebook
Use the dbutils.secrets
utility to access secrets in notebooks.
The following example reads the secrets that are stored in the secret scope jdbc
to configure a JDBC read operation:
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()
)
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()
The values fetched from the scope are redacted from the notebook output. See Secret redaction.
Step 4: Grant a group permissions on the secret scope
Note
This step requires the Premium plan or above.
After verifying that the credentials were configured correctly, you can grant permissions on the secret scope to other users and groups in your workspace.
Grant the datascience
group the READ permission to the secret scope:
databricks secrets put-acl jdbc datascience READ
For more information about secret access control, see Secret ACLs.