Manage TLS encryption and certificates
Configure and manage TLS encryption and certificates to protect data in transit and ensure that your environment complies with your organization’s security policies.
In RHOSO 18.0, TLS everywhere (TLS-e) cannot be disabled after it is enabled. Certificate lifecycle management is handled by the cert-manager Operator, which replaces FreeIPA, certmonger, and tripleo-ipa from Red Hat OpenStack Platform (RHOSP) 17.1. In RHOSO 18.0, there is no undercloud, no novajoin, or no IdM integration to configure. Certificates are issued, renewed, and rotated automatically.
TLS default configuration and custom certificates Copy linkLink copied!
When you deploy your cloud environment, most API connections are protected by TLS by default. You can customize these settings to apply trusted certificates from your own internal certificate authority (CA) to comply with your organization’s security requirements.
You might be required to protect public APIs by using your own internal certificate authority(CA). To replace the automatically generated certificates you must create a secret that contains your additional CA certs, including all certificates in needed chains of trust.
You can apply trusted certificates from your own internal CA to public interfaces on RHOSO. The public interface is where ingress traffic meets the service’s route. Do not attempt to manage encryption on internal pod-level interfaces.
If you decide to apply trusted certificates from your own internal CA, you will need the following information:
- DNS names
-
For each service you apply your own custom certificate to, you will need its DNS hostname for the process of generating the certificate. You can get a list of public hostnames by using the command:
oc get -n openstack routes.Note To use a single certificate for two or more services, use a wildcard in the DNS name field, or list multiple DNS names in the subject alt names field. If you do not use a wildcard, then you must update the certificate if a route hostname changes. - Duration
- To update a service’s certificate in OpenShift, the service must be restarted. The duration for the certificate is the longest amount of time a service can stay live without being restarted, subject to your internal security policies.
- Usages
- You must include -
key encipherment,digital signature, andserver authwithin the list of usages in your certificate.
Updating TLS to use custom certificates requires edits to both the control plane and the data plane.
The following are the default TLS settings that are used if not annotated and changed:
apiVersion: core.openstack.org/v1beta1
kind: OpenStackControlPlane
metadata:
name: myctlplane
spec:
tls:
ingress:
ca:
duration: 87600h
cert:
duration: 43800h
enabled: true
podLevel:
enabled: true
internal:
ca:
duration: 87600h
cert:
duration: 43800h
libvirt:
ca:
duration: 87600h
cert:
duration: 43800h
ovn:
ca:
duration: 87600h
cert:
duration: 43800h
Add custom CA certificates to the control plane Copy linkLink copied!
Add custom certificate authority (CA) certificates to the control plane so that OpenStack services can validate certificates from your internal CA or third-party providers.
About this task Copy linkLink copied!
To validate custom CA certificates on your control plane, you must add your custom CA certificate into a bundle that includes all certificates that OpenStack services can verify against.
Procedure Copy linkLink copied!
Apply custom certificates to public service endpoints Copy linkLink copied!
Apply signed certificates from your own certificate authority (CA) to public service endpoints to replace automatically generated route certificates and meet your organization’s security requirements.
Before you begin Copy linkLink copied!
- You have a list of each of the public services for which to apply your custom service certificates. You can get this list using the
oc route list -n openstackcommand. Use this information for the number of certificates you must create, the DNS names for those certificates, and finding the relevant services to edit in theopenstack_control_plane.yamlcustom resource (CR). - You have a service certificate for the public services.
Procedure Copy linkLink copied!
Update the control plane with a single custom certificate Copy linkLink copied!
Apply a single shared certificate from your own certificate authority (CA) to all public service endpoints to simplify certificate management and replace the automatically generated route certificates.
Before you begin Copy linkLink copied!
- You have a list of each of the public services for which to apply your custom service certificate. You can get this list by using the
oc route list -n openstackcommand. Use this information for the DNS names for the certificate, and for finding the relevant services to edit in theopenstack_control_plane.yamlcustom resource (CR).
Procedure Copy linkLink copied!
Use your CA certificates on remote clients Copy linkLink copied!
Configure remote clients to trust the certificate authority (CA) used by your deployment so that OpenStack CLI commands authenticate securely without SSL verification errors.
Before you begin Copy linkLink copied!
- You have deployed RHOSO with default certificates, or have used custom certificates that are not signed by a public certificate authority.