Wenn Sie Maximo® Application Suite unter Microsoft Azureinstallieren, verwendet Maximo Application Suite selbst signierte Zertifikate. Wenn Sie gängige Zertifikate verwenden möchten, die von der Zertifizierungsstelle als Let' s Encrypt signiert wurden, können Sie Let' s Encrypt in Microsoft Azureinstallieren.
Informationen zu diesem Vorgang
Der Zertifikatmanager kann DNS-01 -Datensätze in Microsoft Azure DNS erstellen und löschen. Der DNS muss sich jedoch zuerst bei Microsoft Azure authentifizieren. Bei der folgenden Methode wird die Microsoft Azure Service-Principal-Authentifizierung verwendet, um Let' s Encrypt zu konfigurieren.
Vorgehensweise
- Erstellen Sie einen Serviceprinzipal in Microsoft Azure mithilfe der Verbindungsparameter des Serviceprinzipals.
Beispiel:
AZURE_DNS_ZONE_RESOURCE_GROUP=masperf
AZURE_DNS_ZONE=mas4azure.com
AZURE_CERT_MANAGER_SP_APP_ID=3xx721x5-xx3x-4x10-x39x-xxx31335405
AZURE_CERT_MANAGER_SP_PASSWORD=X87xXxX6q6xxXxXxx7nYhZmbXxxxX~Tho
AZURE_TENANT_ID=xxx67057-50x9-4xx4-98x3-xxxx64xxx9x9
AZURE_SUBSCRIPTION_ID=x2xx5467-2502-4b05-x78x-744604x6531x
Tipp: Ersetzen Sie für alle Beispiele die im Beispiel angegebenen Parameter durch Ihre eigenen Parameter.
- Melden Sie sich bei Microsoft Azure mit den Service-Principal-Verbindungsdetails an.
az login --service-principal -u $AZURE_CERT_MANAGER_SP_APP_ID -p $AZURE_CERT_MANAGER_SP_PASSWORD --tenant $AZURE_TENANT_ID
- Erstellen Sie die Rolle DNS Contributor , um die DNS-Zone dem Service-Principal zuzuordnen.
Beispiel:
DNS_ID=$(az network dns zone show --name $AZURE_DNS_ZONE --resource-group $AZURE_DNS_ZONE_RESOURCE_GROUP --query "id" --output tsv)
az role assignment create --role "DNS Zone Contributor" --assignee-object-id $AZURE_CERT_MANAGER_SP_APP_ID --assignee-principal-type ServicePrincipal --scope $DNS_ID
- Klicken Sie in DNS-Datensatzauf Ihre Domäne und erstellen Sie A Datensatzgruppe
*.<<Cluster_unique_String>>.<<DNS_NAME>>.Beispiel: *.i4l7mh.mas4azure.com, wobei i4l7mh die eindeutige Zeichenfolge des Clusters und mas4azure der DNS-Name ist.
Tipp: Verwenden Sie denselben Wert wie im Datensatz A .
- Melden Sie sich beim Red Hat® OpenShift® -Cluster an.
Beispiel:
oc login --token=<<token_number>> --server=https://api.masocp-i4l7mh.mas4azure.com:6443
- Erstellen Sie einen geheimen Schlüssel azuredns-config, der das Kennwort für den Service-Principal enthält.
Beispiel:
oc create secret generic azuredns-config --from-literal=client-secret=$AZURE_CERT_MANAGER_SP_PASSWORD -n ibm-common-services
- Erstellen Sie in der Konsole Red Hat OpenShift auf der Registerkarte Instanzen der Gruppe
cert-manager.io eine ClusterIssuer .Beispiel:
apiversion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-prod
namespace: ibm-common-services
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: username.ibm.com
privateKeySecretRef:
name: letsencrypt-prod
solvers:
- dns01:
azureDNS:
clientID: 3xx721x5-xx3x-4x10-x39x-xxx31335405
clientSecretSecretRef:
name: azuredns-config
key: client-secret
subscriptionID: x2xx5467-2502-4b05-x78x-744604x6531x
tenantID: xxx67057-50x9-4xx4-98x3-xxxx64xxx9x9
resourceGroupName: masperf
hostedZoneName: mas4azure.com
environment: AzurePublicCloud
Anmerkung: Warten Sie in Maximo Application Suite 8.10, bis die Routen neu generiert wurden, und überprüfen Sie die generierten Routen, um zu prüfen, ob das Zertifikat von Let' s encrypt signiert wurde.
- Suchen Sie in der Konsole Red Hat OpenShift unter nach einer Suite in Ihrem Namespace.
- Wählen Sie in der Konsole Red Hat OpenShift unter die Registerkarte Instanzen für Ihr Suite CRD.
- Klicken Sie auf Ihre angepasste Ressource und wählen Sie auf der Registerkarte Instanzen im Abschnitt spec die Option YAML aus, um Parameter cluster issue und domain hinzuzufügen.
---
spec:
certificateIssuer:
duration: 8760h0m0s
name: prod-route53-issuer
renewBefore: 720h0m0s
domain: <<masinstance_id>>.<<domain>>
- Löschen Sie den Abschnitt finalizer aus derselben Suite-YAML, um einen Datenabgleich zu erzwingen, und speichern Sie dann die YAML-Datei.
finalizers:
- core.mas.ibm.com/finalizer
- Warten Sie in Networking unter Routes des Projekts mas-< mas_instance_id> -core, bis die Routes für den Namespace neu generiert werden.
Anmerkung: Die Neugenerierung der Routen dauert einige Zeit.
Das Zertifikat in den Routen wird von Let' s encrypt signiert.
- Melden Sie sich bei der Administratoranzeige von Maximo Application Suite an und überprüfen Sie den Unterzeichner des Zertifikats.