基础数据库身份验证



FoundationDB集群可以配置为使用SSL/TLS,但是是否可以在不知道集群fdb.cluster文件的情况下连接到集群?

换句话说,fdb.cluster文件等同于其他数据库系统中的用户名/密码安全方案吗?

fdb.cluster文件由 2 个主要部分组成(请参阅群集文件格式(:

  • 群集id(带可选description(
  • 一个或多个协调器IP:PORT对的列表。

任何客户端都必须能够访问列表中的至少一个协调器才能与群集通信,并且必须具有正确的群集 ID。否则,它将无法连接。没有内置的服务发现。

这意味着您必须为自己提供应用程序的初始群集文件。一旦它连接到协调器节点,它将能够获取完整的列表并自行更新群集文件(如果拓扑发生更改(。

部署的一种解决方案是,如果缺少文件,则让应用程序(或部署脚本(从内部 URL(或文件共享(下载最新的 fdb.cluster,以快速启动设置。

关于身份验证,除非使用 TLS/SSL,否则群集文件中的"id"部分充当伪明文密码。即使您有正确的协调器集,应用程序也必须具有正确的集群 ID。

尽管它应被视为典型 SQL 服务器中的数据库名称的等效项。如果您不使用SSL,则可以轻松找到并以明文形式传输。我想它在那里是为了防止愚蠢的错误,而不是其他任何事情(例如:键入不同集群的 IP:PORT(。

如果没有群集文件,则无法连接。这确实提供了一些较弱的安全性,但如果要在不受信任的网络中运行群集,则最好使用双向 TLS 支持。

相关内容

  • 没有找到相关文章

最新更新