開始
用戶指南
管理指南
參考指南
資源
2022年9月14日更新
給我們反饋
請注意
到此版本為止,在穀歌Cloud上的Databricks上無法使用CLI特性。對於秘密,你也可以使用秘密API 2.0.
密鑰是存儲密鑰材料的鍵-值對,密鑰名是惟一的秘密的範圍.每個範圍限製1000個秘密。允許的最大秘密值大小是128 KB。
秘密名稱不區分大小寫。
方法在數據庫支持的作用域中創建秘密磚CLI(0.7.1及以上版本):
——scope ——key
編輯器打開並顯示如下內容:
# ----------------------------------------------------------------------#不要編輯上麵的行。接下來的一切都將被忽略。#請在行上方輸入您的秘密值。文本將存儲在# UTF-8 (MB4)格式和任何末尾的新行將被刪除。#退出不保存將中止寫入秘密。
將您的秘密值粘貼在行上方,保存並退出編輯器。您的輸入去掉了注釋,並將其與作用域中的鍵關聯存儲起來。
如果使用已經存在的鍵發出寫請求,則新值將覆蓋現有值。
您還可以從文件或命令行中提供一個秘密。有關寫秘密的更多信息,請參見CLI的秘密.
列出:在給定範圍內列出秘密:
Databricks秘密列表——scope
響應顯示關於密鑰的元數據信息,例如密鑰名稱和最後一次更新時間戳(以從epoch開始的毫秒為單位)。您使用秘密效用(dbutils.secrets)在筆記本或工作中讀到一個秘密。例如:
Databricks秘密列表——範圍JDBC
關鍵的名字最後的更新------------------------密碼1531968449039用戶名1531968408097
可以使用REST API創建秘密,但必須使用秘密效用(dbutils.secrets)在筆記本或工作中讀到一個秘密。
方法可從範圍中刪除秘密秘密API 2.0.
預覽
此功能已在公共預覽.
您可以在Spark配置屬性或環境變量中引用秘密。檢索到的機密從筆記本輸出和Spark驅動程序和執行器日誌中編校。
重要的
在Spark配置屬性或環境變量中引用秘密時,請記住以下安全含義:
如果集群上沒有啟用表訪問控製,則在集群上具有Can Attach To權限或在筆記本上具有Run權限的任何用戶都可以從筆記本內讀取Spark配置屬性。這包括那些沒有讀取機密的直接權限的用戶。磚建議使訪問控製表在所有集群上或管理訪問秘密使用秘密的範圍.
即使啟用了表訪問控製,在集群上具有Can Attach To權限或在筆記本上具有Run權限的用戶也可以從筆記本內讀取集群環境變量。Databricks不建議在集群環境變量中存儲秘密,如果集群上的所有用戶都不能使用這些秘密。
秘密不從Spark驅動程序日誌中編輯出來的stdout而且stderr流。默認情況下,Spark驅動程序日誌可由以下任何一種用戶查看集群級別的權限:
stdout
stderr
可以連接到
可以重新啟動
可以管理
通過設置集群的Spark配置屬性,可以將讀取Spark驅動程序日誌的權限限製為具有can Manage權限的用戶spark.databricks.acl.needAdminPermissionToViewLogs真正的
spark.databricks.acl.needAdminPermissionToViewLogs真正的
在Spark配置屬性和環境變量中引用秘密時,有以下要求和限製:
集群所有者必須具有可以閱讀秘密範圍的權限。
隻有集群所有者可以在Spark配置屬性或環境變量中添加對秘密的引用,並編輯現有的範圍和名稱。所有者改變一個秘密使用把秘密API。必須重新啟動集群才能再次獲取秘密。
用戶提供的可以管理可以刪除一個秘密的Spark配置屬性或環境變量。
您可以使用任何有效的變量名或Spark配置屬性引用秘密。Databricks支持基於所設置值的語法(而不是變量名)對引用秘密的變量執行特殊行為。
Spark配置屬性或環境變量值的語法必須為{{秘密/ < scope-name > / <秘密名字>}}.必須以{{秘密/和結束}}.
{{秘密/ < scope-name > / <秘密名字>}}
{{秘密/
}}
Spark配置屬性或環境變量的可變部分為:
< scope-name >:密匙關聯的作用域名稱。
< scope-name >
<秘密名字>:秘密在作用域中的唯一名稱。
<秘密名字>
例如,{{秘密/ scope1 / key1}}.
{{秘密/ scope1 / key1}}
花括號之間不應該有空格。如果存在空格,則將它們視為作用域或秘密名稱的一部分。
對象中指定對秘密的引用火花配置屬性格式如下:
火花。<屬性名>{{秘密/ < scope-name > / <秘密名字>}}
任何火花配置<屬性名稱>可以引用一個秘密。每個Spark配置屬性隻能引用一個秘密,但可以配置多個Spark屬性來引用秘密。
<屬性名稱>
例子
您可以設置Spark配置引用一個秘密:
火花。密碼{{秘密/ scope1 / key1}}
從筆記本裏取出秘密並使用它:
火花.相依.得到(“spark.password”)
選擇$ {spark.password};
對象中指定秘密路徑環境變量格式如下:
<變量名>={{秘密/ < scope-name > / <秘密名字>}}
在引用秘密時,可以使用任何有效的變量名。對環境變量中引用的秘密的訪問由配置集群的用戶的權限決定。存儲在環境變量中的秘密可以被集群的所有用戶訪問,但是像在其他地方引用的秘密一樣從明文顯示中編輯。
可以訪問引用秘密的環境變量集群級init腳本.
設置一個環境變量來引用一個秘密:
SPARKPASSWORD={{秘密/ scope1 / key1}}
要在初始化腳本中獲取秘密,請訪問SPARKPASSWORD美元:
SPARKPASSWORD美元
如果[- n"SPARKPASSWORD美元"];然後使用$ {SPARKPASSWORD}fi