Manage certificates for SQL Server Integration Services Scale Out

Applies to: SQL Server SSIS Integration Runtime in Azure Data Factory

To secure the communication between Scale Out Master and Scale Out Workers, SSIS Scale Out uses two certificates - one for the Master and one for the Workers.

Scale Out Master certificate

In most cases, the Scale Out Master certificate is configured during the installation of Scale Out Master.

In the Integration Services Scale Out Configuration - Master Node page of the SQL Server Installation wizard, you can choose to create a new self-signed TLS/SSL certificate or use an existing TLS/SSL certificate.

New certificate. If you don't have special requirements for certificates, you can choose to create a new self-signed TLS/SSL certificate. You can further specify the CNs in the certificate. Make sure the host name of the master endpoint to be used later by Scale Out Workers is included in the CNs. By default, the computer name and IP address of the master node are included.

Existing certificate. If you choose to use an existing certificate, click Browse to select a TLS/SSL certificate from the Root certificate store of the local computer.

Change the Scale Out Master certificate

You may want to change your Scale Out Master certificate due to certificate expiration or for other reasons. To change the Scale Out Master certificate, do the following things:

1. Create a TLS/SSL certificate.

Create and install a new TLS/SSL certificate on the Master node with the following command:

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

For example:

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

2. Bind the certificate to the Master port

Check the original binding with the following command:

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

For example:

netsh http show sslcert ipport=0.0.0.0:8391

Delete the original binding and set up the new binding with the following commands:

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}

For example:

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. Update the Scale Out Master service configuration file

Update the Scale Out Master service configuration file, \<drive\>:\Program Files\Microsoft SQL Server\140\DTS\Binn\MasterSettings.config, on the Master node. Update SSLCertThumbprint to the thumbprint of the new TLS/SSL certificate.

4. Restart the Scale Out Master service

5. Reconnect Scale Out Workers to Scale Out Master

For each Scale Out Worker, either delete the Worker and then add it back with Scale Out Manager, or do the following things:

a. Install the client TLS/SSL certificate to the Root store of the local computer on the Worker node.

b. Update the Scale Out Worker service configuration file.

Update the Scale Out Worker service configuration file, \<drive\>:\Program Files\Microsoft SQL Server\140\DTS\Binn\WorkerSettings.config, on the Worker node. Update MasterHttpsCertThumbprint to the thumbprint of the new TLS/SSL certificate.

c. Restart the Scale Out Worker service.

Scale Out Worker certificate

Scale Out Worker certificate is generated automatically during the installation of Scale Out Worker.

Change the Scale Out Worker certificate

If you want to change Scale Out Worker certificate, do the following things:

1. Create a certificate

Create and install a certificate with the following command:

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

For example:

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

2. Install the client certificate to the Root store of the local computer on the Worker node

3. Grant service access to the certificate

Delete the old certificate and grant Scale Out Worker service access to the new certificate with following command:

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}

For example:

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

4. Update the Scale Out Worker service configuration file

Update the Scale Out Worker service configuration file, \<drive\>:\Program Files\Microsoft SQL Server\140\DTS\Binn\WorkerSettings.config, on the Worker node. Update WorkerHttpsCertThumbprint to the thumbprint of the new certificate.

5. Install the client certificate to the Root store of the local computer on the Master node

6. Restart the Scale Out Worker service

Next steps

For more info, see the following articles: