チュートリアル: Databricks シークレットを作成して使用する
このチュートリアルでは、Databricks シークレットを使用して、Azure Data Lake Storage アカウントに接続するための JDBC 資格情報を設定します。
手順 1: シークレット スコープを作成する
jdbc
というシークレット スコープを作成します。
databricks secrets create-scope jdbc
Azure Key Vault でサポートされるシークレット スコープを作成するには、 Manage シークレット スコープの手順に従います。
手順 2: シークレット スコープにシークレットを追加する
シークレット username
と password
を追加します。 次のコマンドを実行し、開いているエディターにシークレット値を入力します。
databricks secrets put-secret jdbc username
databricks secrets put-secret jdbc password
手順 3: ノートブックでシークレットを使用する
dbutils.secrets
ユーティリティを使用して、ノートブック内のシークレットにアクセスします。
次の例では、シークレット スコープ jdbc
に格納されているシークレットを読み取り、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()
スコープからフェッチされた値は、ノートブックの出力から編集されます。 「 Secret redactionを参照してください。
手順 4: シークレット スコープに対するグループのアクセス許可を付与する
Note
この手順には、Premium プランが必要です。
資格情報が正しく構成されたことを確認したら、ワークスペース内の他のユーザーとグループにシークレット スコープに対するアクセス許可を付与できます。
datascience
グループにシークレット スコープへの READ アクセス許可を付与します。
databricks secrets put-acl jdbc datascience READ
シークレット アクセス制御の詳細については、シークレット ACL に関する記事を参照してください。