W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Samza 沒有提供安全保障,所有安全性都在流系統(tǒng)中實現(xiàn),或者在 Samza 容器運行的環(huán)境中實現(xiàn)。
Samza 在流系統(tǒng)級不提供任何安全性。獨立的流媒體系統(tǒng)可以加強自己的安全。如果流系統(tǒng)需要用戶名和密碼才能從特定流中使用,則這些值必須通過配置提供,并在 StreamConsumer / StreamConsumerFactory 實現(xiàn)中使用。如果流式傳輸系統(tǒng)使用 SSL 證書或 Kerberos,也是如此。Samza 運行的環(huán)境必須提供相應(yīng)的證書或 Kerberos 票證,并且必須實施 StreamConsumer 才能使用這些證書或票證。
Kafka 不提供其主題的安全性,因此 Samza 在使用 Kafka 主題時不提供任何安全性。
在保護 Samza 容器運行的環(huán)境時要牢記的最重要的事情是 Samza 容器執(zhí)行任意用戶代碼。他們必須考慮對抗性的應(yīng)用,并且環(huán)境必須相應(yīng)地鎖定。
Samza 在使用 run-job.sh 腳本啟動 Samza 作業(yè)時讀取所有配置。如果配置包含敏感信息,則必須小心為 JobRunner 提供配置。這意味著實現(xiàn)一個了解配置安全模型的 ConfigFactory,并以安全的方式將配置解析為 Samza 的 Config 對象。
在 Samza 作業(yè)執(zhí)行期間,配置將保存在內(nèi)存中。唯一的時間配置是可見的:
如果配置包含敏感數(shù)據(jù),則必須確保這三個點。
默認情況下,Samza 容器打開的唯一端口是在開始時隨機選擇的未安全的 JMX 端口。如果不需要,可通過配置禁用 JMX。有關(guān)詳細信息,請參閱配置頁。
用戶可能會從 Samza 容器內(nèi)部打開端口。如果不希望這樣做,那么執(zhí)行 Samza 容器的用戶必須具有撤消的適當(dāng)權(quán)限,通常使用 iptables。
Samza 容器日志包含配置,并且可能包含用戶記錄的任意敏感數(shù)據(jù)。必須向 Samza 容器提供安全的日志目錄。
如果操作員不希望允許 Samza 容器由任意用戶執(zhí)行,那么 Samza 容器的部署機制必須保證。通常這意味著控制 run-job.sh 腳本的執(zhí)行。推薦的模式是鎖定 Samza 容器運行的機器,并從保佑的 Web 服務(wù)或特殊機器執(zhí)行 run-job.sh,并且只允許特定用戶訪問服務(wù)或機器。
有關(guān) Samza 使用的 shell 腳本的詳細信息,請參閱包裝部分。Samza 容器允許用戶執(zhí)行任意 shell 命令,因此必須鎖定用戶權(quán)限,以防止用戶損壞環(huán)境或讀取敏感數(shù)據(jù)。
Samza 提供了即時 YARN 集成。有關(guān)詳細信息,請查看 Samza 的 YARN 安全頁面。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: