配置
本文档适用于 NeoDash 的不受支持版本,作为 Neo4j Labs 的一部分。对于受支持的 NeoDash 版本的用户,请参阅NeoDash 商业版。 |
在使用自定义 NeoDash 部署时,可以配置多个设置。这些主要与独立模式和 SSO 配置有关。
对于简单的(非 Docker 化)部署,可以在构建应用程序后修改 dist/config.json
来更改这些配置参数。对于 Docker 镜像,这些参数可以作为环境变量传递。有关 Docker 部署的更多信息,请参阅独立模式。
NeoDash 的示例配置(默认,在编辑器模式下运行)如下所示:
{ "ssoEnabled": false, "ssoProviders": [], "ssoDiscoveryUrl": "https://example.com", "standalone": false, "standaloneProtocol": "neo4j", "standaloneHost": "localhost", "standalonePort": "7687", "standaloneDatabase": "neo4j", "standaloneDashboardName": "My Dashboard", "standaloneDashboardDatabase": "dashboards", "standaloneDashboardURL": "", "standaloneAllowLoad": false, "standaloneLoadFromOtherDatabases": false, "standaloneMultiDatabase": false, "standaloneDatabaseList": "neo4j" "loggingMode": "0", "loggingDatabase": "logs", "customHeader": "", }
配置选项
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
ssoEnabled |
布尔值 |
false |
如果启用,允许用户使用 SSO 连接到 Neo4j。这需要设置一个有效的 |
ssoProviders |
列表 |
[] |
在数据库上使用多个 SSO 提供商时,您可以配置要在 NeoDash 上使用的提供商列表(按 ID)。如果为空,将显示所有提供商。 |
ssoDiscoveryUrl |
字符串 |
如果 |
|
standalone |
布尔值 |
false |
确定 NeoDash 是在编辑器模式 (false) 还是读取器模式 (true) 下运行。术语“读取器模式”和“独立模式”可互换使用。 |
standaloneProtocol |
字符串 |
neo4j |
在独立模式下运行时,用于 Neo4j 驱动程序的协议。应设置为 |
standaloneHost |
字符串 |
localhost |
在独立模式下运行时,要连接的主机名。这应该只是主机名,不包含协议或端口。 |
standalonePort |
字符串 |
7687 |
在独立模式下运行时,要连接的 Bolt 端口。 |
standaloneDatabase |
字符串 |
neo4j |
在独立模式下运行时,用于报告的数据库。报告中使用的 Cypher 查询将从该数据库读取数据。 |
standaloneUsername ⚠️ |
字符串 |
… |
一个隐藏配置参数允许您默认设置独立模式的用户名。请记住,这存在安全风险,因为它会将 Neo4j 用户名暴露给任何可以访问 NeoDash 部署的人。 |
standalonePassword ⚠️ |
字符串 |
… |
一个隐藏配置参数允许您默认设置独立模式的密码。如果设置了此值,连接也会自动建立。请记住,这存在安全风险,因为它会将 Neo4j 用户名暴露给任何可以访问 NeoDash 部署的人。 |
standaloneDashboardName |
字符串 |
我的仪表盘 |
在独立模式下运行时要加载的仪表盘的确切名称(区分大小写)。这必须是作为图中的节点保存的仪表盘。 |
standaloneDashboardDatabase |
字符串 |
neo4j |
包含已保存仪表盘节点的 Neo4j 数据库的名称。默认情况下是 neo4j,除非您使用的是 Neo4j 企业版,它允许您使用多个数据库。 |
standaloneDashboardURL |
字符串 |
neo4j |
如果您没有将仪表盘保存在 Neo4j 中,并且想使用来自 URL 的仪表盘运行独立模式部署,请将此参数设置为指向仪表盘 JSON 的完整 URL。 |
standaloneAllowLoad |
布尔值 |
false |
如果设置为 yes,“加载仪表盘”按钮将在独立模式下启用,允许用户从 Neo4j 加载其他仪表盘。默认情况下此参数为 false,除非您使用的是 Neo4j 企业版,它允许您使用多个数据库。注意:当在独立模式下启用加载时,仅允许从数据库加载,不允许从文件加载。 |
standaloneLoadFromOtherDatabases |
布尔值 |
false |
如果 standaloneAllowLoad 设置为 true,此参数启用或禁用用户从 standaloneDashboardDatabase 中定义的数据库以外的其他数据库加载仪表盘。如果 standaloneAllowLoad 设置为 false,此参数不起作用。 |
standaloneMultiDatabase |
布尔值 |
false |
如果此参数设置为 true,独立配置将忽略 standaloneDatabase 参数,并允许用户在登录屏幕上从 standaloneDatabaseList 中提供的数据库中选择要连接的数据库,通过下拉列表。默认情况下此参数为 false,除非您使用的是 Neo4j 企业版,它允许您使用多个数据库。 |
standaloneDatabaseList |
字符串 |
neo4j |
如果 standaloneMultiDatabase 设置为 true,此参数必须包含一个逗号分隔的数据库名称列表,这些名称将作为选项显示在用户登录时的数据库下拉列表中(例如,'neo4j,database1,database2' 将在连接屏幕中用值 'neo4j'、'database1' 和 'database2' 填充数据库下拉列表)。如果 standaloneMultiDatabase 设置为 false,此参数不起作用。 |
loggingMode |
字符串 |
none |
确定 NeoDash 是否应创建任何用户活动日志。可能的值包括: ⚠️ 日志使用当前用户凭据(或如果配置了 standaloneUsername 则使用该用户名)在 Neo4j 数据库中创建;必须授予对日志数据库的写入访问权限,才能让任何用户创建日志。 ⚠️ * 从文件加载/保存到文件不会记录(仅记录从/到数据库的操作) |
loggingDatabase |
字符串 |
logs |
当 loggingMode 设置为 '0' 以外的任何值时,用于记录日志的数据库。日志记录(节点)将在此数据库中创建。 |
customHeader |
字符串 |
none |
设置后,仪表盘标题将显示参数值作为固定字符串,否则将显示当前连接的主机和端口。 |
配置 SSO
如果您的 Neo4j 数据库启用了单点登录,NeoDash 可以使用 SSO 作为基于密码登录的替代方案。要启用 SSO,请将 ssoEnabled
设置为 true
。然后,将 ssoDiscoveryUrl
设置为您的 discovery.json
文件所在的位置(通常是数据库的主机名,后跟 /discovery.json
)。
请注意,SSO 仅在独立模式启用时可用。
身份验证提供商
要将 NeoDash 设置为使用外部身份提供商,可以在 nginx 中添加一个 `/auth_provider` 资源(在 /conf/default.conf
中)
location /auth_provider { default_type application/json; return 200 '{ "auth_config" : { "oidc_providers" : [ ... ] } }'; }
对于基本部署,将请求路由到 Neo4j 数据库 HTTPS 端口上的 /auth_provider
可能就足够了。
配置独立模式
独立模式或读取器模式会覆盖 NeoDash 的功能,允许您向用户部署固定的仪表盘。可以通过更改 standalone
配置参数来启用独立模式。
-
如果独立模式为
false
,所有其他配置参数将被忽略。NeoDash 将在编辑器模式下运行,并需要手动登录。 -
如果独立模式为
true
,NeoDash 将读取所有配置参数。预定义仪表盘将自动加载,并且无法对仪表盘进行更改。有两种有效的独立部署类型:-
一种从 Neo4j 读取固定仪表盘的独立部署。使用
standaloneDashboardName
和standaloneDashboardDatabase
配置参数来定义。 -
一种从 URL 读取固定仪表盘的独立部署。使用
standaloneDashboardURL
配置参数来定义。
-
-
独立模式也可以配置为允许用户在预定义仪表盘加载后加载其他仪表盘(仪表盘标题右侧会显示一个“加载仪表盘”按钮)。使用
standaloneAllowLoad
和standaloneLoadFromOtherDatabases
参数来定义此行为。 -
在独立模式下允许用户动态加载仪表盘时,他们可能还需要连接到不同的数据库,具体取决于加载的特定仪表盘。这可以通过将
standaloneMultiDatabase
设置为 true 并在`standaloneDatabaseList` 参数中提供一个逗号分隔的允许数据库名称列表来实现。