Create certificates
IAG requires certificates for secure communication between components and with Gateway Manager.
Certificate types and communication scenarios
IAG uses certificates for different communication scenarios, each requiring mutual TLS authentication:
- Gateway Manager certificates: Mutual TLS between IAG and Gateway Manager for secure platform connectivity
- Client-server certificates: Mutual TLS between gateway clients and servers for secure resource management
- Server-runner certificates: Mutual TLS between gateway servers and runner nodes for distributed execution
For more information, see Choose a deployment architecture.
Mutual TLS requirements
For mutual TLS (mTLS) to function properly, each node requires:
- Certificate Authority (CA) certificate file: Used to verify the authenticity of certificates presented by other nodes
- Public key certificate: Signed by the CA to prove the node’s identity
- Private key: Used to decrypt communications and prove ownership of the public certificate
You can share the CA file among all nodes within the cluster or use multiple CA files signed by the same authority.
Self-signed certificate generation
Gateway Manager certificates
Create certificates for secure communication between your gateway cluster and Gateway Manager. Gateway Manager supports self-signed certificates, CA-issued certificates, and CA-issued wildcard certificates.
To generate a self-signed Gateway Manager certificate, run the following OpenSSL command on the Linux server where you installed your gateway server:
For OpenSSL versions before 3.0
You can also provide your own certificates. For example, you might obtain certificates from a trusted certificate authority for production environments. To use your own Gateway Manager certificates, specify the certificate file and private key file with the following configuration variables:
GATEWAY_CONNECT_CERTIFICATE_FILE: Default location is/etc/gateway/certificates/gw-manager.pemGATEWAY_CONNECT_PRIVATE_KEY_FILE: Default location is/etc/gateway/certificates/gw-manager-key.pem
For more information, see Connect variables.
Upload certificates to Gateway Manager
After creating your Gateway Manager certificate, you must upload it to Gateway Manager so Itential Platform can recognize and trust it. This trust relationship enables your gateway to establish a secure connection with Platform.
- Open Itential Platform in your browser.
- Navigate to the Gateway Manager app.
- Navigate to the Certificates tab.
- Click Upload Certificate.
- Upload your certificate.
- Click Add Certificate.
Gateway Manager validates your certificate during upload:
- Valid: The certificate details display and you can accept the certificate by selecting Add Certificate.
- Invalid: The certificate details cannot display and the uploaded certificate is marked as Invalid. A certificate might be marked as invalid if it is expired or self-signed. You can still choose to accept and trust an invalid certificate.
- Malformed: The certificate is rejected because it is likely malformed. For example, Gateway Manager might flag your certificate as malformed if the Subject Alternative Name (SAN) in the certificate does not match the host it represents.
For information on viewing, downloading, and deleting certificates, see Manage certificates.
Client-Server TLS certificates for mutual authentication
For communication within your gateway cluster, generate certificates for each node type in your architecture:
Configure certificate environment variables
After generating your certificates, configure the environment variables to point each node to its certificate files.
For more information, see Configuration variables.
CA certificate (all application modes)
Set the CA file location for all application modes (client, server, and runner):
GATEWAY_APPLICATION_CA_CERTIFICATE_FILE
Client
GATEWAY_CLIENT_CERTIFICATE_FILEGATEWAY_CLIENT_PRIVATE_KEY_FILE
Server
GATEWAY_SERVER_CERTIFICATE_FILEGATEWAY_SERVER_PRIVATE_KEY_FILE
Runner
GATEWAY_RUNNER_CERTIFICATE_FILEGATEWAY_RUNNER_PRIVATE_KEY_FILE
Disable TLS
Disabling TLS can be helpful when you first configure your cluster architecture to verify that everything works before placing certificates on your gateway nodes. Use the following configuration variables to disable TLS depending on the application mode:
GATEWAY_CLIENT_USE_TLS=falseGATEWAY_SERVER_USE_TLS=falseGATEWAY_RUNNER_USE_TLS=false
Itential strongly recommends enabling TLS in production environments.
Production certificate considerations
For production environments implementing mutual TLS, consider:
- Certificate Authority (CA) Certificates: Obtain certificates from a trusted CA for enhanced security
- Certificate Management: Implement certificate rotation and renewal processes
- Security Policies: Follow organizational security requirements for certificate generation
- Certificate Storage: Secure certificate storage and access controls
- Certificate Validation: Ensure proper certificate chain validation for mutual authentication
Troubleshoot TLS connections
If you experience issues while setting up your TLS certificates, you can enable additional gRPC logs to help identify and troubleshoot problems:
These environment variables provide additional information about the connections being formed between nodes.