本發(fā)明涉及分布式數(shù)據(jù)庫存儲,具體涉及分布式數(shù)據(jù)庫訪問外部服務(wù)時(shí)需要進(jìn)行kerberos認(rèn)證的場景,更具體地涉及一種基于kerberos認(rèn)證的分布式數(shù)據(jù)庫的數(shù)據(jù)處理方法、裝置、設(shè)備、介質(zhì)和程序產(chǎn)品。
背景技術(shù):
1、隨著分布式系統(tǒng)和數(shù)據(jù)庫技術(shù)的發(fā)展,為提升數(shù)據(jù)庫的計(jì)算及存儲的性能、擴(kuò)展更豐富的數(shù)據(jù)源,多計(jì)算節(jié)點(diǎn)、存算分離、外部數(shù)據(jù)加載等功能應(yīng)運(yùn)而生。kerberos是一種基于對稱密鑰技術(shù)的身份認(rèn)證協(xié)議,主要用于計(jì)算機(jī)網(wǎng)絡(luò)的身份鑒別,被廣泛應(yīng)用于數(shù)據(jù)庫和大數(shù)據(jù)組件中,其特點(diǎn)是用戶只需輸入一次身份驗(yàn)證信息就可以憑借驗(yàn)證獲得的授權(quán)票據(jù)(tgt)訪問其他外部數(shù)據(jù)產(chǎn)品。因此分布式數(shù)據(jù)庫若想訪問其他數(shù)據(jù)產(chǎn)品,對kerberos認(rèn)證的支持必不可少。
2、傳統(tǒng)的kerberos認(rèn)證方式需要首先在數(shù)據(jù)庫節(jié)點(diǎn)上部署kerberos的配置文件和keytab文件,然后通過命令行或接口等方式完成kerberos認(rèn)證。但是,由于分布式數(shù)據(jù)庫存在大量數(shù)據(jù)庫節(jié)點(diǎn),手動部署的方式效率低。
技術(shù)實(shí)現(xiàn)思路
1、鑒于上述問題,本發(fā)明提供了一種基于kerberos認(rèn)證的分布式數(shù)據(jù)庫的數(shù)據(jù)處理方法、裝置、設(shè)備、介質(zhì)和程序產(chǎn)品。
2、根據(jù)本發(fā)明的第一個(gè)方面,提供了一種基于kerberos認(rèn)證的分布式數(shù)據(jù)庫的數(shù)據(jù)處理方法,包括:響應(yīng)于接收到客戶端發(fā)出的數(shù)據(jù)處理指令,確定與上述數(shù)據(jù)處理指令相關(guān)的目標(biāo)外部服務(wù);根據(jù)上述目標(biāo)外部服務(wù),從密鑰存儲系統(tǒng)中確定目標(biāo)密鑰對象,其中,上述密鑰存儲系統(tǒng)部署于分布式數(shù)據(jù)庫的預(yù)設(shè)數(shù)據(jù)節(jié)點(diǎn),上述目標(biāo)密鑰對象包括與上述目標(biāo)外部服務(wù)的kerberos認(rèn)證相關(guān)的信息;從上述目標(biāo)密鑰對象中獲取目標(biāo)屬性信息,在未從預(yù)設(shè)目錄中搜索到屬性信息為上述目標(biāo)屬性信息的文件的情況下,從上述目標(biāo)密鑰對象中獲取目標(biāo)文件;將上述目標(biāo)文件存儲在上述預(yù)設(shè)目錄中;利用上述目標(biāo)文件訪問上述目標(biāo)外部服務(wù),以便于通過上述目標(biāo)外部服務(wù)進(jìn)行數(shù)據(jù)處理。
3、根據(jù)本發(fā)明的實(shí)施例,上述根據(jù)上述目標(biāo)外部服務(wù),從密鑰存儲系統(tǒng)中確定目標(biāo)密鑰對象,包括:根據(jù)上述目標(biāo)外部服務(wù),確定與上述目標(biāo)外部服務(wù)對應(yīng)的目標(biāo)訪問對象;從上述目標(biāo)訪問對象中獲取目標(biāo)密鑰對象標(biāo)識;調(diào)用第一接口,訪問上述密鑰存儲系統(tǒng);以及根據(jù)上述目標(biāo)密鑰對象標(biāo)識,從上述密鑰存儲系統(tǒng)中確定上述目標(biāo)密鑰對象。
4、根據(jù)本發(fā)明的實(shí)施例,上述利用上述目標(biāo)文件訪問上述目標(biāo)外部服務(wù),包括:調(diào)用第二接口,訪問kerberos認(rèn)證服務(wù)器;利用上述目標(biāo)文件與上述kerberos認(rèn)證服務(wù)器進(jìn)行交互,得到上述kerberos認(rèn)證服務(wù)器發(fā)送的權(quán)限認(rèn)證信息,其中,上述權(quán)限認(rèn)證信息包括具有上述目標(biāo)外部服務(wù)訪問權(quán)限的身份信息;以及基于上述目標(biāo)訪問對象,利用上述權(quán)限認(rèn)證信息訪問上述目標(biāo)外部服務(wù)。
5、根據(jù)本發(fā)明的實(shí)施例,上述利用上述目標(biāo)文件與上述kerberos認(rèn)證服務(wù)器進(jìn)行交互,得到上述kerberos認(rèn)證服務(wù)器發(fā)送的權(quán)限認(rèn)證信息,包括:從上述目標(biāo)文件中獲取身份信息;向上述kerberos認(rèn)證服務(wù)器發(fā)送上述身份信息,以獲取由上述kerberos認(rèn)證服務(wù)器返回的身份認(rèn)證信息;緩存上述身份認(rèn)證信息;向上述kerberos認(rèn)證服務(wù)器發(fā)送上述身份認(rèn)證信息,以獲取由上述kerberos認(rèn)證服務(wù)器針對上述身份認(rèn)證信息的權(quán)限認(rèn)證信息。
6、根據(jù)本發(fā)明的實(shí)施例,上述方法還包括:在確定緩存中存儲有歷史身份認(rèn)證信息的情況下,根據(jù)當(dāng)前時(shí)刻和上述歷史身份認(rèn)證信息的有效期,確定上述歷史身份認(rèn)證信息是否有效;在確定上述歷史身份認(rèn)證信息有效的情況下,將上述歷史身份認(rèn)證信息作為上述身份認(rèn)證信息,以利用上述身份認(rèn)證信息與上述kerberos認(rèn)證服務(wù)器進(jìn)行交互,得到上述權(quán)限認(rèn)證信息;在確定上述緩存中未存儲上述歷史身份認(rèn)證信息的情況下,向上述kerberos認(rèn)證服務(wù)器發(fā)送上述身份信息,以獲取由上述kerberos認(rèn)證服務(wù)器返回的身份認(rèn)證信息。
7、根據(jù)本發(fā)明的實(shí)施例,上述目標(biāo)密鑰對象標(biāo)識包括第一目標(biāo)密鑰對象標(biāo)識和第二目標(biāo)密鑰對象標(biāo)識,上述目標(biāo)密鑰對象包括第一目標(biāo)密鑰對象和第二目標(biāo)密鑰對象,上述目標(biāo)文件包括第一目標(biāo)文件和第二目標(biāo)文件,上述根據(jù)上述目標(biāo)密鑰對象標(biāo)識,從上述密鑰存儲系統(tǒng)中確定上述目標(biāo)密鑰對象,包括:根據(jù)上述第一目標(biāo)密鑰對象標(biāo)識,從上述密鑰存儲系統(tǒng)中確定第一目標(biāo)密鑰對象,其中,上述第一目標(biāo)密鑰對象包括上述第一目標(biāo)文件,上述第一目標(biāo)文件包括與kerberos認(rèn)證相關(guān)的配置信息;以及根據(jù)上述第二目標(biāo)密鑰對象標(biāo)識,從上述密鑰存儲系統(tǒng)中確定第二目標(biāo)密鑰對象,其中,上述第二目標(biāo)密鑰對象包括上述第二目標(biāo)文件,上述第二目標(biāo)文件包括上述目標(biāo)外部服務(wù)的kerberos認(rèn)證相關(guān)的密鑰信息。
8、根據(jù)本發(fā)明的實(shí)施例,上述預(yù)設(shè)目錄包括第一預(yù)設(shè)目錄和第二預(yù)設(shè)目錄,上述將上述目標(biāo)文件存儲在上述預(yù)設(shè)目錄中,包括;將上述第一目標(biāo)文件存儲在上述第一預(yù)設(shè)目錄中,以部署kerberos認(rèn)證服務(wù)端;以及將上述第二目標(biāo)文件存儲在上述第二預(yù)設(shè)目錄中。
9、本發(fā)明的第二方面提供了一種基于kerberos認(rèn)證的分布式數(shù)據(jù)庫的數(shù)據(jù)處理裝置,包括:服務(wù)確定模塊,用于響應(yīng)于接收到客戶端發(fā)出的數(shù)據(jù)處理指令,確定與上述數(shù)據(jù)處理指令相關(guān)的目標(biāo)外部服務(wù);密鑰確定模塊,用于根據(jù)上述目標(biāo)外部服務(wù),從密鑰存儲系統(tǒng)中確定目標(biāo)密鑰對象,其中,上述密鑰存儲系統(tǒng)部署于分布式數(shù)據(jù)庫的預(yù)設(shè)數(shù)據(jù)節(jié)點(diǎn),上述目標(biāo)密鑰對象包括與上述目標(biāo)外部服務(wù)的kerberos認(rèn)證相關(guān)的信息;文件獲取模塊,用于從上述目標(biāo)密鑰對象中獲取目標(biāo)屬性信息,在未從預(yù)設(shè)目錄中搜索到屬性信息為上述目標(biāo)屬性信息的文件的情況下,從上述目標(biāo)密鑰對象中獲取目標(biāo)文件;文件存儲模塊,用于將上述目標(biāo)文件存儲在上述預(yù)設(shè)目錄中;服務(wù)訪問模塊,用于利用上述目標(biāo)文件訪問上述目標(biāo)外部服務(wù),以便于通過上述目標(biāo)外部服務(wù)進(jìn)行數(shù)據(jù)處理。
10、本發(fā)明的第三方面提供了一種電子設(shè)備,包括:一個(gè)或多個(gè)處理器;存儲器,用于存儲一個(gè)或多個(gè)計(jì)算機(jī)程序,其中,上述一個(gè)或多個(gè)處理器執(zhí)行上述一個(gè)或多個(gè)計(jì)算機(jī)程序以實(shí)現(xiàn)上述方法的步驟。
11、本發(fā)明的第四方面還提供了一種計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有可執(zhí)行指令,該指令被處理器執(zhí)行時(shí)使處理器實(shí)現(xiàn)上述方法的步驟。
12、本發(fā)明的第五方面還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序或指令,上述計(jì)算機(jī)程序或指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述方法的步驟。
13、根據(jù)本發(fā)明的實(shí)施例,通過密鑰存儲系統(tǒng),利用密鑰對象的方式存儲kerberos認(rèn)證文件,便于對kerberos認(rèn)證文件的管理。在執(zhí)行節(jié)點(diǎn)需要訪問外部服務(wù)時(shí),通過從目標(biāo)密鑰對象中獲取目標(biāo)文件并自動存儲目標(biāo)文件,避免手動部署文件,從而提高部署效率。并且在存儲目標(biāo)文件前增加了對目標(biāo)屬性信息的校驗(yàn),減少不必要的網(wǎng)絡(luò)傳輸和文件系統(tǒng)操作。
1.一種基于kerberos認(rèn)證的分布式數(shù)據(jù)庫的數(shù)據(jù)處理方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述目標(biāo)外部服務(wù),從密鑰存儲系統(tǒng)中確定目標(biāo)密鑰對象,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述利用所述目標(biāo)文件訪問所述目標(biāo)外部服務(wù),包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述利用所述目標(biāo)文件與所述kerberos認(rèn)證服務(wù)器進(jìn)行交互,得到所述kerberos認(rèn)證服務(wù)器發(fā)送的權(quán)限認(rèn)證信息,包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括:
6.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述目標(biāo)密鑰對象標(biāo)識包括第一目標(biāo)密鑰對象標(biāo)識和第二目標(biāo)密鑰對象標(biāo)識,所述目標(biāo)密鑰對象包括第一目標(biāo)密鑰對象和第二目標(biāo)密鑰對象,所述目標(biāo)文件包括第一目標(biāo)文件和第二目標(biāo)文件,所述根據(jù)所述目標(biāo)密鑰對象標(biāo)識,從所述密鑰存儲系統(tǒng)中確定所述目標(biāo)密鑰對象,包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述預(yù)設(shè)目錄包括第一預(yù)設(shè)目錄和第二預(yù)設(shè)目錄,所述將所述目標(biāo)文件存儲在所述預(yù)設(shè)目錄中,包括:
8.一種基于kerberos認(rèn)證的分布式數(shù)據(jù)庫的數(shù)據(jù)處理裝置,其特征在于,所述裝置包括:
9.一種電子設(shè)備,包括:
10.一種計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有可執(zhí)行指令,其特征在于,該指令被處理器執(zhí)行時(shí)使處理器實(shí)現(xiàn)權(quán)利要求1至7中任一項(xiàng)所述的方法。