13.9. 数据源安全性


数据源安全指的是加密或模糊处理数据源连接的密码。这些密码可以以纯文本形式存储在配置文件中,但这代表了安全风险。

数据源安全性的首选解决方案是使用安全域或密码库。以下是每个示例。

使用安全域保护数据源

定义了数据源的安全域。

 <security-domain name="DsRealm" cache-type="default">
  <authentication>
    <login-module code="ConfiguredIdentity" flag="required">
      <module-option name="userName" value="sa"/>
      <module-option name="principal" value="sa"/>
      <module-option name="password" value="sa"/>
    </login-module>
  </authentication>
</security-domain>
注意

如果安全域将与多个数据源一起使用,则安全域中应禁用缓存。这可以通过将 cache-type 属性的值设置为 none 或删除属性 altoget 来实现。但是,如果需要缓存,则应为每个数据源使用单独的安全域。

然后,数据源配置引用 DsRealm 安全域。

<datasources>
  <datasource jndi-name="java:jboss/datasources/securityDs"
    pool-name="securityDs">
    <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url>
      <driver>h2</driver>
      <new-connection-sql>select current_user()</new-connection-sql>
      <security>
        <security-domain>DsRealm</security-domain>
      </security>
    </datasource>
</datasources>

有关使用安全域的更多信息,请参阅 如何配置身份管理 指南。

使用密码 Vault 保护数据源

<security>
  <user-name>admin</user-name>
  <password>${VAULT::ds_ExampleDS::password::N2NhZDYzOTMtNWE0OS00ZGQ0LWE4MmEtMWNlMDMyNDdmNmI2TElORV9CUkVBS3ZhdWx0}</password>
</security>

有关使用密码 Vault 的更多信息,请参阅如何配置服务器安全指南

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.