Link Search Menu Expand Document Documentation Menu

为 OpenSearch Dashboards 配置 TLS

默认情况下,为便于测试和入门,OpenSearch Dashboards 通过 HTTP 运行。要为 HTTPS 启用 TLS,请在 opensearch_dashboards.yml 中更新以下设置。

设置 描述
server.ssl.enabled 启用 OpenSearch Dashboards 服务器与用户网页浏览器之间的 SSL 通信。HTTPS 设置为 true,HTTP 设置为 false
server.ssl.supportedProtocols 指定支持的 TLS 协议数组。可能的值包括 TLSv1TLSv1.1TLSv1.2TLSv1.3。默认值为 ['TLSv1.1', 'TLSv1.2', and 'TLSv1.3']
server.ssl.cipherSuites 指定 TLS 密码套件数组。可选。
server.ssl.certificate 如果 server.ssl.enabled 设置为 true,则指定 OpenSearch Dashboards 有效 PEM(Privacy Enhanced Mail)服务器证书的完整路径。您可以生成自己的证书或从证书颁发机构 (CA) 获取证书。
server.ssl.key 如果 server.ssl.enabled 设置为 true,则指定服务器证书密钥的完整路径,例如 /usr/share/opensearch-dashboards-1.0.0/config/my-client-cert-key.pem。您可以生成自己的证书或从 CA 获取证书。
server.ssl.keyPassphrase 设置密钥的密码。如果密钥没有密码,请省略此设置。可选。
server.ssl.keystore.path 使用 JKS (Java KeyStore) 或 PKCS12/PFX (Public-Key Cryptography Standards) 文件代替 PEM 证书和密钥。
server.ssl.keystore.password 设置密钥库的密码。必填。
server.ssl.clientAuthentication 指定要使用的 TLS 客户端身份验证模式。可以是以下之一:none(无)、optional(可选)或 required(必填)。如果设置为 required,您的网页浏览器需要发送一个由 server.ssl.certificateAuthorities 中配置的 CA 签名的有效客户端证书。默认值为 none
server.ssl.certificateAuthorities 指定一个或多个用于客户端身份验证的证书颁发机构 (CA) 证书的完整路径数组。如果 server.ssl.clientAuthentication 设置为 optionalrequired,则此项为必填。
server.ssl.truststore.path 使用 JKS 或 PKCS12/PFX 信任库文件代替 PEM CA 证书。
server.ssl.truststore.password 设置信任库的密码。必填。
opensearch.ssl.verificationMode 建立 OpenSearch 和 OpenSearch Dashboards 之间的通信。有效值为 full(完整)、certificate(证书)或 none(无)。如果启用了 TLS,建议使用 full,它会启用主机名验证。certificate 会检查证书但不检查主机名。none 不执行任何检查(适用于 HTTP)。默认值为 full
opensearch.ssl.certificateAuthorities 如果 opensearch.ssl.verificationMode 设置为 fullcertificate,则指定一个或多个 CA 证书的完整路径数组,该数组构成 OpenSearch 集群的信任链。例如,如果您使用中间 CA 颁发了管理员、客户端和节点证书,则可能需要包含根 CA *和* 中间 CA。
opensearch.ssl.truststore.path 使用 JKS 或 PKCS12/PFX 信任库文件代替 PEM CA 证书。
opensearch.ssl.truststore.password 设置信任库的密码。必填。
opensearch.ssl.alwaysPresentCertificate 如果设置为 true,则向 OpenSearch 集群发送客户端证书,这在 OpenSearch 中启用 mTLS 时是必需的。默认值为 false
opensearch.ssl.certificate 如果 opensearch.ssl.alwaysPresentCertificate 设置为 true,则指定 OpenSearch 集群有效客户端证书的完整路径。您可以生成自己的证书或从 CA 获取证书。
opensearch.ssl.key 如果 opensearch.ssl.alwaysPresentCertificate 设置为 true,则指定客户端证书密钥的完整路径。您可以生成自己的证书或从 CA 获取证书。
opensearch.ssl.keyPassphrase 设置密钥的密码。如果密钥没有密码,请省略此设置。可选。
opensearch.ssl.keystore.path 使用 JKS 或 PKCS12/PFX 密钥库文件代替 PEM 证书和密钥。
opensearch.ssl.keystore.password 设置密钥库的密码。必填。
opensearch_security.cookie.secure 如果为 OpenSearch Dashboards 启用了 TLS,请将此设置更改为 true。对于 HTTP,请将其设置为 false
opensearch_security.session.keepalive 确定会话 TTL 是否在每次用户活动时重置(保持“活跃”状态)。可选。默认值为 true
opensearch_security.session.ttl 定义用户会话的生存时间 (TTL),单位为毫秒。可选。默认值为 3600000(1 小时)。

以下 opensearch_dashboards.yml 配置显示了 OpenSearch 和 OpenSearch Dashboards 在同一台机器上运行,并使用了演示配置

server.host: '0.0.0.0'
server.ssl.enabled: true
server.ssl.certificate: /usr/share/opensearch-dashboards/config/client-cert.pem
server.ssl.key: /usr/share/opensearch-dashboards/config/client-cert-key.pem
opensearch.hosts: ["https://:9200"]
opensearch.ssl.verificationMode: full
opensearch.ssl.certificateAuthorities: [ "/usr/share/opensearch-dashboards/config/root-ca.pem", "/usr/share/opensearch-dashboards/config/intermediate-ca.pem" ]
opensearch.username: "kibanaserver"
opensearch.password: "kibanaserver"
opensearch.requestHeadersAllowlist: [ authorization,securitytenant ]
opensearch_security.multitenancy.enabled: true
opensearch_security.multitenancy.tenants.preferred: ["Private", "Global"]
opensearch_security.readonly_mode.roles: ["kibana_read_only"]
opensearch_security.cookie.secure: true

如果您使用 Docker 安装选项,可以将自定义的 opensearch_dashboards.yml 文件传递给容器。要了解更多信息,请参阅 Docker 安装页面

启用这些设置并启动应用程序后,您可以通过 https://:5601 连接到 OpenSearch Dashboards。如果您的证书是自签名的,您可能需要确认浏览器警告。为避免此类警告(或完全的浏览器不兼容),最佳实践是使用来自受信任 CA 的证书。

剩余 350 字符

有问题?

想要贡献?