W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Hadoop身份驗(yàn)證插件使Solr能夠使用Hadoop身份驗(yàn)證庫來保護(hù)Solr節(jié)點(diǎn)。
此身份驗(yàn)證插件是一個(gè)精簡的包裝,它將所有功能委派給 Hadoop 身份驗(yàn)證庫。庫的所有配置參數(shù)都通過插件傳遞。
這個(gè)插件在利用Hadoop身份驗(yàn)證庫中的一組擴(kuò)展功能或新近可用的功能方面特別有用。
請注意,Solr使用的Hadoop庫版本是定期升級(jí)的。雖然Solr將確保插件配置結(jié)構(gòu)(即插件的參數(shù)名稱)的穩(wěn)定性和向后兼容性,但這些參數(shù)的值可能會(huì)根據(jù)Hadoop庫的版本而改變。有關(guān)更多詳細(xì)信息,請查看您的Solr安裝所使用的版本的Hadoop文檔。
對于一些身份驗(yàn)證方案(例如Kerberos),Solr提供了身份驗(yàn)證插件的本地實(shí)現(xiàn)。如果您需要更穩(wěn)定的設(shè)置,在配置、執(zhí)行滾動(dòng)升級(jí)的能力、向后兼容性等方面,您應(yīng)該考慮使用這樣的插件。請查看“身份驗(yàn)證和授權(quán)插件”一節(jié),了解有關(guān) Solr 的身份驗(yàn)證插件選項(xiàng)概述。
有兩個(gè)插件類:
提示:對于大多數(shù) SolrCloud 或獨(dú)立的 Solr 設(shè)置,HadoopAuthPlugin 應(yīng)該足夠了。
應(yīng)該是solr.HadoopAuthPlugin
或者solr.ConfigurableInternodeAuthHadoopPlugin
。該參數(shù)是必需的。
要配置的認(rèn)證方案的類型。請參閱配置選項(xiàng)。該參數(shù)是必需的。
用于定義配置認(rèn)證機(jī)制的Java系統(tǒng)屬性的前綴。此屬性是必需的。
Java系統(tǒng)屬性的名稱是通過將配置參數(shù)名稱附加到此前綴值來定義的。例如,如果前綴是solr
那么Java系統(tǒng)屬性solr.kerberos.principal
定義了配置參數(shù)的值kerberos.principal
。
由type屬性定義的認(rèn)證方案所需的配置參數(shù)。此屬性是必需的。有關(guān)更多詳細(xì)信息,請參閱Hadoop配置選項(xiàng)。
authConfigs
屬性指定了配置參數(shù)的默認(rèn)值。默認(rèn)值被指定為鍵值對(即,"property-name": "default_value"
)的集合。
如果為true
,代表令牌功能將被啟用。
在連接到ZooKeeper之前啟用kerberos的初始化(如果適用)。
為代理用戶配置基礎(chǔ)Hadoop認(rèn)證機(jī)制。該配置表示為鍵值對(即,"property-name": "default_value"
)的集合。
NO| HttpClientBuilderFactory
用于Solr的內(nèi)部通信的實(shí)現(xiàn)。只適用于ConfigurableInternodeAuthHadoopPlugin
。
這個(gè)例子允許您將 Solr 配置為使用 kerberos 身份驗(yàn)證,類似于使用 kerberos 身份驗(yàn)證插件的方式。
在查閱Hadoop認(rèn)證庫的文檔后,您可以使用solr.*前綴來提供每個(gè)主機(jī)配置參數(shù)。例如,Hadoop認(rèn)證庫需要一個(gè)參數(shù)kerberos.principal,它可以在啟動(dòng) solr 節(jié)點(diǎn)時(shí)作為一個(gè)名為 solr.kerberos.principal 的系統(tǒng)屬性提供。有關(guān)其他典型配置參數(shù),請參閱“Kerberos身份驗(yàn)證插件”部分。
請注意,這個(gè)例子使用ConfigurableInternodeAuthHadoopPlugin,因此您必須提供clientBuilderFactory實(shí)現(xiàn)。因此,所有的節(jié)點(diǎn)間通信都將使用Kerberos機(jī)制,而不是PKI身份驗(yàn)證。
要設(shè)置此插件,請?jiān)趕ecurity.json文件中使用以下內(nèi)容。
{
"authentication": {
"class": "solr.ConfigurableInternodeAuthHadoopPlugin",
"sysPropPrefix": "solr.",
"type": "kerberos",
"clientBuilderFactory": "org.apache.solr.client.solrj.impl.Krb5HttpClientBuilder",
"initKerberosZk": "true",
"authConfigs": [
"kerberos.principal",
"kerberos.keytab",
"kerberos.name.rules"
],
"defaultConfigs": {
}
}
}
與前面的示例類似,這是設(shè)置使用委托令牌的Solr群集的示例。請參考Hadoop認(rèn)證庫文檔中的參數(shù),或者參考Kerberos認(rèn)證插件了解更多細(xì)節(jié)。請注意,此示例不使用Kerberos,并且對Solr發(fā)出的請求必須包含有效的委托令牌。
要設(shè)置此插件,請?jiān)趕ecurity.json文件中使用以下內(nèi)容。
{
"authentication": {
"class": "solr.HadoopAuthPlugin",
"sysPropPrefix": "solr.",
"type": "simple",
"enableDelegationToken":"true",
"authConfigs": [
"delegation-token.token-kind",
"delegation-token.update-interval.sec",
"delegation-token.max-lifetime.sec",
"delegation-token.renewal-interval.sec",
"delegation-token.removal-scan-interval.sec",
"cookie.domain",
"signer.secret.provider",
"zk-dt-secret-manager.enable",
"zk-dt-secret-manager.znodeWorkingPath",
"signer.secret.provider.zookeeper.path"
],
"defaultConfigs": {
"delegation-token.token-kind": "solr-dt",
"signer.secret.provider": "zookeeper",
"zk-dt-secret-manager.enable": "true",
"token.validity": "36000",
"zk-dt-secret-manager.znodeWorkingPath": "solr/security/zkdtsm",
"signer.secret.provider.zookeeper.path": "/token",
"cookie.domain": "127.0.0.1"
}
}
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: