管理 SQL Server Integration Services Scale Out 的证书

适用于: SQL Server Azure 数据工厂中的 SSIS Integration Runtime

为保护 Scale Out Master 与 Scale Out Worker 之间的通信,SSIS Scale Out 使用了两个证书 - 一个用于 Master,另一个用于 Worker。

Scale Out Master 证书

大多数情况下,Scale Out Master 证书在安装 Scale Out Master 的过程中配置。

在 SQL Server 安装向导的“Integration Services Scale Out 配置 - Master 节点”页中,可以选择新建自签名 TLS/SSL 证书,也可以选择使用现有 TLS/SSL 证书。

主节点配置

新证书。 如果对证书没有特殊要求,可以选择新建自签名 TLS/SSL 证书。 可在证书中进一步指定 CN。 请确保 CN 中包含 Scale Out Worker 稍后使用的主终结点的主机名。 默认情况下,计算机名和主节点的 IP 地址也包含在内。

现有证书。 如果选择使用现有证书,请单击“浏览”,以从本地计算机的根证书存储中选择 TLS/SSL 证书。

更改 Scale Out Master 证书

由于证书过期或其他原因,可能需要更改 Scale Out Master 证书。 要更改 Scale Out Master 证书,请执行以下操作:

1.创建 TLS/SSL 证书。

使用以下命令,在 Master 节点上创建并安装新的 TLS/SSL 证书:

MakeCert.exe -n CN={master endpoint host} SSISScaleOutMaster.cer -r -ss Root -sr LocalMachine -a sha1

例如:

MakeCert.exe -n CN=MasterMachine SSISScaleOutMaster.cer -r -ss Root -sr LocalMachine -a sha1

2.将证书绑定到主端口

使用以下命令检查原始绑定:

netsh http show sslcert ipport=0.0.0.0:{Master port}

例如:

netsh http show sslcert ipport=0.0.0.0:8391

使用以下命令删除原始绑定并设置新绑定:

netsh http delete sslcert ipport=0.0.0.0:{Master port}
netsh http add sslcert ipport=0.0.0.0:{Master port} certhash={TLS/SSL Certificate Thumbprint} certstorename=Root appid={original appid}

例如:

netsh http delete sslcert ipport=0.0.0.0:8391
netsh http add sslcert ipport=0.0.0.0:8391 certhash=0011001100110011001100110011001100110011 certstorename=Root appid={11111111-2222-3333-4444-555555555555}

3.更新 Scale Out Master 服务配置文件

在主节点上更新 Scale Out Master 服务配置文件 \<drive\>:\Program Files\Microsoft SQL Server\140\DTS\Binn\MasterSettings.config。 将 SSLCertThumbprint 更新为新 TLS/SSL 证书的指纹。

4.重启 Scale Out Master 服务

5.将 Scale Out Worker 重新连接到 Scale Out Master

对于每个 Scale Out Worker,均使用 Scale Out Manager 删除并重新添加 Worker,或执行以下操作:

a. 将客户端 TLS/SSL 证书安装到工作器节点上的本地计算机的根存储。

b. 更新 Scale Out Worker 服务配置文件。

在辅助节点上更新 Scale Out Worker 服务配置文件 \<drive\>:\Program Files\Microsoft SQL Server\140\DTS\Binn\WorkerSettings.config。 将 MasterHttpsCertThumbprint 更新为新 TLS/SSL 证书的指纹。

c. 重启 Scale Out Worker 服务。

Scale Out Worker 证书

Scale Out Worker 证书在安装 Scale Out Worker 的过程中自动生成。

更改 Scale Out Worker 证书

要更改 Scale Out Worker 证书,请执行以下操作:

1.创建证书

使用以下命令创建并安装证书:

MakeCert.exe -n CN={worker machine name};CN={worker machine ip} SSISScaleOutWorker.cer -r -ss My -sr LocalMachine

例如:

MakeCert.exe -n CN=WorkerMachine;CN=10.0.2.8 SSISScaleOutWorker.cer -r -ss My -sr LocalMachine

2.将客户端证书安装到辅助节点上本地计算机的根存储

3.为证书提供服务访问权限

删除旧证书,并使用以下命令为新证书授予 Scale Out Worker 服务访问权限:

certmgr.exe /del /c /s /r localmachine My /n {CN of the old certificate}
winhttpcertcfg.exe -g -c LOCAL_MACHINE\My -s {CN of the new certificate} -a {the account running Scale Out Worker service}

例如:

certmgr.exe /del /c /s /r localmachine My /n WorkerMachine
winhttpcertcfg.exe -g -c LOCAL_MACHINE\My -s WorkerMachine -a SSISScaleOutWorker140

4.更新 Scale Out Worker 服务配置文件

在辅助节点上更新 Scale Out Worker 服务配置文件 \<drive\>:\Program Files\Microsoft SQL Server\140\DTS\Binn\WorkerSettings.config。 将 WorkerHttpsCertThumbprint 更新为新证书的指纹。

5.将客户端证书安装到主节点上本地计算机的根存储

6.重启 Scale Out Worker 服务

后续步骤

有关详细信息,请参阅以下文章: