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