【问题标题】:Solr config, encrypting data config fileSolr config,加密数据配置文件
【发布时间】:2013-02-12 12:47:45
【问题描述】:

如何在此处加密数据配置部分?:

<dataConfig> 
<dataSource type="JdbcDataSource"  driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"  
url="jdbc:sqlserver://127.0.0.1;databaseName=emp" user="user" password="user"/> 
<document name="reviews"> 
   <entity name="COMMON" query="select id,name from users" > 
       <field column="id" name="id"/> 
       <field column="name" name="name"/>
  </entity> 
</document> 
</dataConfig>

基本上,我不想暴露用户和密码。

或者,如果数据配置文件无法加密(部分或全部),我可以使用 SolrJ 对数据库进行索引,这样我就不必配置数据配置文件了吗?也就是我使用SolrJ apis传递url和认证参数?

【问题讨论】:

    标签: encryption solr indexing


    【解决方案1】:

    见:https://wiki.apache.org/solr/SolrConfigXml#System_property_substitution

    您可以将它们作为属性保存在文件 &lt;solr.home&gt;/conf/solrcore.properties 中,并在您的数据配置中引用它们。所以你的 data-config.xml 会是这样的:

    <dataSource type="JdbcDataSource"
                driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"    
                url="jdbc:sqlserver://${jdbc.host}:${jdbc.port}/${db.name}" 
                user="${jdbc.username}" 
                password="${jdbc.password}"/>
    

    ${...} 中的所有内容都是 solrcore.properties 中的属性,例如:

    jdbc.host=http://127.0.0.1
    jdbc.port=3306
    db.name=emp
    ...
    

    【讨论】:

    • 感谢 Arun - 但是可以加密属性文件以便 SolR 解密属性值吗?我们的问题是我们不能在任何地方的任何文件中以明文形式放置任何密码。
    • 我不知道。尝试询问 solr 用户邮件列表。
    【解决方案2】:

    我建议一个更安全的选择是在您的网络服务器中配置一个 JNDI

    如何配置 JNDI? This Page 解释了如何使用 Tomcat 执行此操作。其他流行的网络服务器也可以这样做。

    您可以在数据配置文件中使用 JNDI 名称,如下所示:

    < dataSource name="xyz" jndiName="jdbc/xyz" type="JdbcDataSource"/>
    

    【讨论】:

    • 你确定 Solr DataImportHandler 支持 jndiName 属性吗?我在the list 中看不到它。
    • 我也没有在这个列表中看到它。我得到的印象是我必须执行以下操作之一: 1. 通过此处定义的类插入数据源:link 2. 我在这里提到的参数化:link 3. 使用属性(见下文)但是如何解决我在系统上的任何地方都无法以明文形式输入密码的问题?
    • @AlexandreRafalovitch 我对此非常确定,因为我一直在使用“jndiName”属性在我的项目中指定数据库连接凭据。
    • @AamirQuraishi 您提供的解决方案虽然是个好主意,但需要额外的加密和解密密码工作。但是,通过配置 JNDI,您要求网络服务器处理此问题,而后者又会为您执行此操作。由你来重新发明轮子。
    • @Mavillin,很好。检查the source,表明它确实是一个选项。我会更新官方 Wiki 以匹配。
    猜你喜欢
    • 2018-10-10
    • 1970-01-01
    • 2013-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-06
    • 1970-01-01
    相关资源
    最近更新 更多