Set up CA certificates for NetApp Backup and Recovery
Set up CA certificates so NetApp Backup and Recovery can validate secure connections to StorageGRID or ONTAP. Follow the steps that apply to your environment and the systems you want to protect.
Create a CA certificate for StorageGRID
If communication between the NetApp Backup and Recovery containers and StorageGRID should verify the StorageGRID certificate, complete the following steps.
The generated certificate should use the same common name (CN) and Subject Alternative Name that you provided in NetApp Backup and Recovery when you activated the backup.
-
Follow the steps in the StorageGRID documentation to create the StorageGRID certificate.
-
Update StorageGRID with the certificate if you have not already done so.
-
Log in to the Console agent as the root user. Run:
sudo su -
Find the NetApp Backup and Recovery (Cloud Backup Service) Docker volume. Run:
docker volume ls | grep cbsOutput example:
local service-manager-2_cloudmanager_cbs_volume"
The volume name differs among Standard, Private, and Restricted deployment modes. This example uses Standard mode. Refer to NetApp Console deployment modes. -
Find the mount point of the NetApp Backup and Recovery volume. Run:
docker volume inspect service-manager-2_cloudmanager_cbs_volume | grep MountpointOutput example:
"Mountpoint": "/var/lib/docker/volumes/service-manager-2_cloudmanager_cbs_volume/_data"
The mount point differs among Standard, Private, and Restricted deployment modes. This example shows a Standard cloud deployment. Refer to NetApp Console deployment modes. -
Change to the mount point directory. Run:
cd /var/lib/docker/volumes/service-manager-2_cloudmanager_cbs_volume/_data -
If the StorageGRID certificate is signed by the root CA and an intermediate CA, append both
pemfiles into one file namedsgws.crtin the current location. Do not add the leaf certificate to this file.
Steps for the cloudmanager_cbs container
Enable StorageGRID server certificate verification in NetApp Backup and Recovery (Cloud Backup Service).
-
Change to the Docker volume that you found in the earlier steps.
cd /var/lib/docker/volumes/service-manager-2_cloudmanager_cbs_volume/_data -
Change to the config directory.
cd cbs_config -
Create and save a configuration file as shown below with one of the following names, based on your deployment environment:
-
production-customer.jsonfor Standard mode and Restricted mode deployments -
darksite-customer.jsonfor Private mode deploymentsRefer to NetApp Console deployment modes.
Configuration file
{ "protocols": { "sgws": { "certificates": { "reject-unauthorized": true, "ca-bundle": "/config/sgws.crt" } } } }
-
-
Exit the container. Run:
exit -
Restart
cloudmanager_cbs. Run:docker restart cloudmanager_cbs
Steps for the cloudmanager_cbs_catalog container
Next, enable StorageGRID server certificate verification for the Cataloging Service.
-
Change to the Docker volume:
cd /var/lib/docker/volumes/service-manager-2_cloudmanager_cbs_volume/_data -
Configure the catalog. Run:
cd cbs_catalog_config -
Create a configuration file as shown below with one of the following names, based on your deployment environment:
-
production-customer.jsonfor Standard mode and Restricted mode deployments -
darksite-customer.jsonfor Private mode deploymentsRefer to NetApp Console deployment modes.
Catalog configuration file
{ "protocols": { "sgws": { "certificates": { "reject-unauthorized": true, "ca-bundle": "/config/sgws.crt" } } } }
-
-
Restart the catalog. Run:
docker restart cloudmanager_cbs_catalog
Update the Console agent certificate with the StorageGRID certificate based on the agent operating system
Ubuntu
-
Copy the SGWS certificate to
/usr/local/share/ca-certificates. Here is an example:cp /config/sgws.crt /usr/local/share/ca-certificates/where
sgws.crtis the root CA certificate. -
Update the host certificates with the StorageGRID certificate. Run:
sudo update-ca-certificates
Red Hat Enterprise Linux
-
Copy the SGWS certificate to
/etc/pki/ca-trust/source/anchors/.cp /config/sgws.crt /etc/pki/ca-trust/source/anchors/where
sgws.crtis the root CA certificate. -
Update the host certificates with the StorageGRID certificate.
update-ca-trust extract -
Update the
ca-bundle.crtcd /etc/pki/tls/certs/ openssl x509 -in ca-bundle.crt -text -noout -
To check whether the certificates are present, run the following command:
openssl crl2pkcs7 -nocrl -certfile /etc/pki/tls/certs/ca-bundle.crt | openssl pkcs7 -print_certs | grep subject | head
Create a CA certificate for ONTAP
If communication between the NetApp Backup and Recovery containers and ONTAP should validate the ONTAP certificate, complete the following steps.
NetApp Backup and Recovery uses the cluster management IP address to connect to ONTAP. Enter the cluster IP address in the Subject Alternative Name fields of the certificate. Specify this value when you generate the CSR in System Manager.
Use the System Manager documentation to create a new CA certificate for ONTAP.
-
Log in to the Console agent as root. Run:
sudo su -
Find the NetApp Backup and Recovery Docker volume. Run:
docker volume ls | grep cbsOutput example:
local service-manager-2_cloudmanager_cbs_volume
The volume name differs among Standard, Private, and Restricted deployment modes. This example shows a Standard cloud deployment. Refer to NetApp Console deployment modes. -
Find the mount point for the volume. Run:
docker volume inspect service-manager-2_cloudmanager_cbs_volume | grep MountpointOutput example:
"Mountpoint": "/var/lib/docker/volumes/service-manager-2_cloudmanager_cbs_volume/_data
The mount point differs among Standard, Private, and Restricted deployment modes. This example shows a Standard cloud deployment. Refer to NetApp Console deployment modes. -
Change to the mount point directory. Run:
cd /var/lib/docker/volumes/service-manager-2_cloudmanager_cbs_volume/_data -
Complete one of the following steps:
-
If the ONTAP certificate is signed by the root CA and an intermediate CA, then append the
pemfiles of both into one file namedontap.crtin the current location. -
If the ONTAP certificate is signed by a single CA, then rename the
pemfile asontap.crtand copy it in the current location. Do not add the leaf certificate to this file.
-
Steps for the cloudmanager_cbs container
Next, enable ONTAP server certificate verification in NetApp Backup and Recovery (Cloud Backup Service).
-
Change to the Docker volume that you found in the earlier steps.
cd /var/lib/docker/volumes/service-manager-2_cloudmanager_cbs_volume/_data -
Change to the config directory. Run:
cd cbs_config -
Create a configuration file as shown below with one of the following names, based on your deployment environment:
-
production-customer.jsonfor Standard mode and Restricted mode deployments -
darksite-customer.jsonfor Private mode deploymentsRefer to NetApp Console deployment modes.
Configuration file
{ "ontap": { "certificates": { "reject-unauthorized": true, "ca-bundle": "/config/ontap.crt" } } }
-
-
Exit the container. Run:
exit -
Restart NetApp Backup and Recovery. Run:
docker restart cloudmanager_cbs
Steps for the cloudmanager_cbs_catalog container
Enable ONTAP server certificate verification for the Cataloging Service.
-
Change to the Docker volume. Run:
cd /var/lib/docker/volumes/service-manager-2_cloudmanager_cbs_volume/_data -
Run:
cd cbs_catalog_config -
Create a configuration file as shown below with one of the following names, based on your deployment environment:
-
production-customer.jsonfor Standard mode and Restricted mode deployments -
darksite-customer.jsonfor Private mode deploymentsRefer to NetApp Console deployment modes.
Configuration file
{ "ontap": { "certificates": { "reject-unauthorized": true, "ca-bundle": "/config/ontap.crt" } } }
-
-
Restart NetApp Backup and Recovery. Run:
docker restart cloudmanager_cbs_catalog
Create a certificate for both ONTAP and StorageGRID
If you need to enable the certificate for both ONTAP and StorageGRID, then the configuration file looks like this:
Configuration file for both ONTAP and StorageGRID
{
"protocols": {
"sgws": {
"certificates": {
"reject-unauthorized": true,
"ca-bundle": "/config/sgws.crt"
}
}
},
"ontap": {
"certificates": {
"reject-unauthorized": true,
"ca-bundle": "/config/ontap.crt"
}
}
}