秘密

一個秘密是一個鍵值對存儲秘密材料,內鍵名稱唯一秘密的範圍。每個範圍僅限於1000年的秘密。最大允許的秘密值大小為128 KB。

看到也秘密的API

創建一個秘密

秘密名稱不區分大小寫。

創建一個秘密Databricks-backed範圍

創建一個秘密Databricks-backed範圍使用磚CLI(是0.7.1及以上版本):

磚把秘密——範圍< scope-name >鍵<鍵名>

一個編輯器打開並顯示內容是這樣的:

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#不編輯上麵的線。一切,它將被忽略。#請輸入你的秘密值高於線。將存儲在文本# utf - 8 (MB4)形式和任何落後於新的線將被剝奪。#不保存退出將中止寫作的秘密。

粘貼你的秘密值高於行並保存並退出編輯器。你輸入的評論和存儲與範圍的關鍵。

如果你發出寫請求已經存在的一個關鍵,新值覆蓋現有的價值。

您還可以提供一個秘密文件或從命令行。關於寫作的更多信息的秘密,明白了磚CLI

列表的秘密

列出的秘密在給定的範圍:

磚的秘密——範圍列表< scope-name >

響應顯示元數據信息保密,如密鑰名和最後更新的時間戳(時代以來以毫秒為單位)。您使用秘密效用(dbutils.secrets)在筆記本或閱讀一個秘密的工作。例如:

磚的秘密——jdbc範圍列表
關鍵的名字去年更新- - - - - - - - - - -- - - - - - - - - - - - - - -密碼1531968449039用戶名1531968408097

讀一個秘密

你使用REST API創建秘密或CLI,但是你必須使用秘密效用(dbutils.secrets)在筆記本或閱讀一個秘密的工作。

刪除一個秘密

刪除一個秘密從磚CLI的範圍:

磚秘密刪除——範圍< scope-name >鍵<鍵名>

您還可以使用秘密的API

在火花配置使用一個秘密財產或環境變量

預覽

這個特性是在公共預覽

請注意

在磚6.4運行時擴展支持以上。

你可以引用一個秘密火花配置屬性或環境變量。檢索秘密修訂於筆記本和火花驅動程序和執行程序日誌輸出。

重要的

牢記以下安全隱患在火花配置屬性引用的秘密或環境變量:

  • 如果表沒有啟用訪問控製在一個集群中,任何用戶可以連接到一個集群權限或筆記本上運行權限可以閱讀引發在筆記本的配置屬性。這包括用戶沒有權限直接讀取一個秘密。磚建議使訪問控製表在所有集群或管理訪問秘密使用秘密的範圍

  • 即使表啟用訪問控製,用戶可以連接到集群上權限或筆記本上運行權限可以閱讀集群環境變量從筆記本中。磚不建議將秘密存儲在集群環境變量,如果他們不能提供給所有用戶在集群上。

  • 秘密修訂的火花司機日誌stdoutstderr流。默認情況下,火花司機日誌都可以被所有用戶提供下列集群級別的權限:

    • 可以連接到

    • 可以重新啟動

    • 可以管理

    你可以限製誰可以閱讀引發司機日誌用戶可以管理權限通過設置集群的配置屬性spark.databricks.acl.needAdminPermissionToViewLogs真正的

要求和限製

下列條件和限製適用於火花配置屬性和環境變量引用的秘密:

  • 集群所有者必須可以閱讀秘密許可範圍。

  • 隻有集群用戶可以添加一個引用一個秘密在火花配置和編輯現有的財產或環境變量範圍和名稱。老板改變一個秘密使用秘密的API。你必須重新啟動集群獲取秘密了。

  • 用戶提供的可以管理允許在集群上可以刪除一個秘密火花配置屬性或環境變量。

語法引用火花配置中的秘密財產或環境變量

您可以參考一個秘密使用任何有效的變量名或引發配置屬性。磚使特殊行為變量引用秘密基於值被設置的語法,而不是變量名。

火花的語法或環境變量的值必須配置屬性{{秘密/ < scope-name > / <秘密名字>}}。必須從價值{{秘密/和結束}}

火花的可變部分配置屬性或環境變量:

  • < scope-name >:的名稱範圍有關的秘密。

  • <秘密名字>:秘密範圍的惟一名稱。

例如,{{秘密/ scope1 / key1}}

請注意

  • 花括號之間不應該有空格。如果有空間,他們被視為範圍或秘密的名字的一部分。

引用一個秘密火花配置屬性

你指定一個引用一個秘密火花配置屬性在以下格式:

火花。<屬性名>{{秘密/ < scope-name > / <秘密名字>}}

任何火花配置<屬性名稱>可以引用一個秘密。每個火花配置屬性隻能引用一個秘密,但是你可以配置多個火花屬性引用的秘密。

例子

你設定一個火花配置引用一個秘密:

火花。密碼{{秘密/ scope1 / key1}}

去拿筆記本和使用它的秘密:

火花相依得到(“spark.password”)
選擇$ {spark.password};

在一個環境變量引用一個秘密

你指定一個秘密的道路環境變量在以下格式:

<變量名>={{秘密/ < scope-name > / <秘密名字>}}

您可以使用任何有效的變量名時引用一個秘密。秘密訪問環境變量中引用是由用戶的權限配置集群。秘密存儲在集群的所有用戶都可以訪問環境變量,但從明文顯示編輯喜歡引用其他地方的秘密。

環境變量引用秘密是可以從一個集群級init腳本。看到設置和使用環境變量初始化腳本

例子

設置一個環境變量來引用一個秘密:

SPARKPASSWORD={{秘密/ scope1 / key1}}

在一個init腳本獲取秘密,訪問SPARKPASSWORD美元使用以下模式:

如果(- nSPARKPASSWORD美元];然後#代碼使用$ {SPARKPASSWORD}fi