シークレットワークフローの例

このワークフローの例では、シークレットを使用して、Azure データレイク ストアに接続するための JDBC 資格情報を設定します。

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

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

databricks secrets create-scope jdbc

アカウントにプレミアム プランがない場合は、すべてのユーザー (「ユーザー」) に管理権限を付与したスコープを作成する必要があります。 例えば:

databricks secrets create-scope jdbc --initial-manage-principal users

シークレットを作成する

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

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

ノートブックのシークレットを使用する

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

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

別のグループにアクセス権を付与する

このステップには、アカウントに プレミアムプランが必要です。

認証情報が正しく設定されていることを確認したら、これらの認証情報を datascience グループと共有し、シークレットスコープを読み取り、使用可能なシークレットを一覧表示するアクセス許可を付与して、分析に使用します。

次のリクエストを実行して、 datascienceグループにこれらの資格情報に対する読み取り権限を付与します。

databricks secrets put-acl jdbc datascience READ

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