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

このワークフローの例では、シークレットを使用して、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

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

ノートブックで、シークレットスコープに格納されているシークレットを読み取って 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 グループと共有し、シークレットスコープを読み取り、使用可能なシークレットを一覧表示するアクセス許可を付与して、分析に使用します。

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

databricks secrets put-acl jdbc datascience READ

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