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

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

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

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

databricks secrets create-scope jdbc

アカウントに Premium プランがない場合は、すべてのユーザー (以下「ユーザー」) に付与された MANAGE アクセス許可を使用してスコープを作成する必要があります。 例えば:

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

シークレット を作成する

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

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

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

ノートブックで、シークレットスコープに格納されているシークレットを読み取って jdbc JDBC コネクターを構成します。

val driverClass = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
val connectionProperties = new java.util.Properties()
connectionProperties.setProperty("Driver", driverClass)

val jdbcUsername = dbutils.secrets.get(scope = "jdbc", key = "username")
val jdbcPassword = dbutils.secrets.get(scope = "jdbc", key = "password")
connectionProperties.put("user", s"${jdbcUsername}")
connectionProperties.put("password", s"${jdbcPassword}")

これで、これらの ConnectionProperties を JDBC コネクターで使用して、 DATA と通信できるようになりました。 スコープからフェッチされた値はノートブックに表示されません (「 シークレットの秘匿化」を参照)。

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

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

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

次の要求を行うことで、これらの資格情報に対する READ アクセス許可を datascience グループに付与します。

databricks secrets put-acl jdbc datascience READ

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