管理CA证书
当Logstash集群需要通过HTTPS协议连接外部数据源(如Elasticsearch、数据库等)时,必须持有能够验证服务端身份的CA证书,否则连接将因证书不受信任而被拒绝。对于连接CSS服务的Elasticsearch/OpenSearch集群,CSS服务已预置默认CA证书,开箱即用;而当Logstash需要连接其他第三方数据源(如自建Elasticsearch、MySQL、Kafka等)时,则需要用户手动上传对应的自定义CA证书,以完成服务端身份验证,保障数据传输安全。
功能介绍
CA证书是TLS/SSL安全连接的信任基础。在TLS握手过程中,服务端会将自身证书发送给客户端,客户端通过CA证书验证该证书的合法性,确认服务端身份后才建立加密连接。CA证书与TLS握手原理如图1所示。
如表1所示,对比了两类CA证书。
自定义证书文件要求
请按以下要求准备自定义证书文件,不满足要求将导致证书上传失败。
| 约束项 | 要求 |
|---|---|
| 命名规范 | 以字母开头,只能包含字母、数字、中划线(-)、下划线(_)、小数点(.),长度4~32位。 |
| 文件格式 | .cer、.crt、.rsa、.jks、.pem、.p10、.pfx、.p12、.csr、.der、.keystore |
| 文件大小 | 单个文件不超过1MB。 |
| 数量上限 | 单集群最多上传50个自定义证书。 |
查看默认CA证书
获取CSS服务预置的默认CA证书的名称和路径,在Logstash配置文件中引用,用于信任CSS服务的Elasticsearch/OpenSearch集群服务端。
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > Logstash”。
- 在集群列表,单击目标集群名称,进入集群详情页。
- 选择“证书管理 > 默认证书”。
- 在默认证书页面,查看并记录“证书名称”、“证书路径”等信息。
引用方式:在Logstash配置文件的cacert参数中填写<证书路径><证书名称>(如/opt/logstash/extend/certs)。
上传自定义CA证书
将自定义CA证书文件导入Logstash集群的证书管理系统,生成可被Logstash配置文件引用的证书路径。为Logstash连接第三方数据源提供自定义证书信任。
- 准备并上传自定义证书至OBS。
- 上传证书至Logstash集群。
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > Logstash”。
- 在集群列表,单击目标集群名称,进入集群详情页。
- 选择“证书管理 > 自定义证书”。
- 在自定义证书页面,单击“上传证书”,在对话框中完成配置。
表3 上传证书 参数
说明
OBS桶
选择已上传证书文件的OBS桶。
如果是IAM子用户,必须具备如下OBS权限才能看到可选的OBS桶:
obs:bucket:getBucketStoragePolicy obs:bucket:listAllMyBuckets
证书对象
单击“选择”,在对话框中勾选目标证书文件,单击“确定”。
- 配置完成后,单击“确定”,完成自定义证书上传。
- 证书上传完成后,在自定义证书列表中可查看到新上传的证书条目,并获取“证书名称”、“证书路径”等信息。
引用方式:在Logstash配置文件的cacert参数中填写<证书路径><证书名称>(如/opt/logstash/extend/certs)。
- (可选)清理过期或无用的证书。
删除证书前,请确认该证书已不再被任何Pipeline引用,否则删除后将导致相关Pipeline连接失败。
- 在自定义证书列表中,选择待删除的证书,单击操作列的“删除”。
- 在弹框中单击“确定”,删除证书。
常见问题:如何选择自定义CA证书格式?
常见选择:
- “.pem”:文本格式,最通用,Linux环境推荐。
- “.crt”/“.cer”:证书文件,常与“.key”配合使用。
- “.jks”/“.keystore”:Java密钥库,适用于基于Java的连接。
- “.pfx”/“.p12”:PKCS#12格式,含私钥和证书链。
如不确定,推荐使用“.pem”格式。
