秘密工作流程範例
在此工作流程範例中,我們會使用秘密來設定 JDBC 認證,以聯機到 Azure Data Lake Store。
建立秘密範圍
建立名為 jdbc
的秘密範圍。
若要建立 Databricks 支援的秘密範圍:
databricks secrets create-scope jdbc
若要建立 Azure 金鑰保存庫 支援的秘密範圍,請遵循建立 Azure 金鑰保存庫 支援的秘密範圍中的指示。
注意
如果您的帳戶沒有 進階版 方案,您必須使用授與所有使用者的 MANAGE 許可權來建立範圍(「使用者」)。 例如:
databricks secrets create-scope jdbc --initial-manage-principal users
建立祕密
建立秘密的方法取決於您使用的是 Azure 金鑰保存庫 支援的範圍或 Databricks 支援的範圍。
在 Azure 金鑰保存庫 支援的範圍內建立秘密
新增秘密username
並使用 password
Azure Set Secret REST API 或 Azure 入口網站 UI:
在 Databricks 支援的範圍內建立秘密
新增秘密 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}")
您現在可以搭配 JDBC 連接器使用這些 ConnectionProperties
連接器來與您的數據源交談。
從範圍擷取的值永遠不會顯示在筆記本中(請參閱 秘密修訂)。
授與另一個群組的存取權
注意
此步驟需要您的帳戶具有 進階版 方案。
確認認證已正確設定之後,請將這些認證 datascience
授與群組以用於分析,方法是授與他們讀取秘密範圍的許可權,並列出可用的秘密。
datascience
發出下列要求,將 READ 許可權授與群組給這些認證:
databricks secrets put-acl jdbc datascience READ
如需秘密訪問控制的詳細資訊,請參閱 秘密 ACL。