シークレットワークフローの例
このワークフローの例では、シークレットを使用して、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
ノートブックのシークレットを使用する
ノートブックで、シークレットスコープに格納されているシークレットを読み取って 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」を参照してください。