シークレットワークフローの例
このワークフローの例では、シークレットを使用して、Azure データレイク ストアに接続するための JDBC 資格情報を設定します。
シークレットスコープを作成する
jdbc
というシークレットスコープを作成します。
databricks secrets create-scope jdbc
注
アカウントにプレミアム プランがない場合は、すべてのユーザー (「ユーザー」) に管理権限を付与したスコープを作成する必要があります。 例えば:
databricks secrets create-scope jdbc --initial-manage-principal users
シークレットを作成する
シークレットを username
と password
に追加します。 次のコマンドを実行し、開いたエディターにシークレット値を入力します。
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」を参照してください。