チュートリアル: Databricks シークレットを作成して使用する

このチュートリアルでは、 シークレットを使用して、Databricks JDBCAzureデータレイク Storage アカウントに接続するための 資格情報を設定します。

ステップ 1: シークレットスコープを作成する

jdbcというシークレットスコープを作成します。

databricks secrets create-scope jdbc

ステップ 2: シークレットスコープにシークレットを追加する

シークレットを usernamepasswordに追加します。 次のコマンドを実行し、開いたエディターにシークレット値を入力します。

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

ステップ 3: ノートブックでシークレットを使用する

dbutils.secrets ユーティリティを使用して、ノートブックのシークレットにアクセスします。

次の例では、JDBC 読み取り操作を設定するために、シークレットスコープ jdbc に保存されているシークレットを読み取ります。

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()

スコープからフェッチされた値は、ノートブックの出力から編集されます。 シークレット編集を参照してください。

ステップ 4: グループにシークレットスコープに対する権限を付与する

このステップには Premium プランが必要です。

認証情報が正しく設定されていることを確認したら、シークレットスコープに対する権限をワークスペース内の他のユーザーやグループに付与できます。

datascienceグループにシークレットスコープへの読み取り権限を付与します。

databricks secrets put-acl jdbc datascience READ

シークレット アクセス制御の詳細については、 「シークレット ACL」を参照してください。