Lorsque vous installez Maximo® Application Suite sur Microsoft Azure, Maximo Application Suite utilise des certificats autosignés. Si vous souhaitez utiliser des certificats connus signés par l'autorité de certification en tant que Let's Encrypt, vous pouvez installer et configurer Let's Encrypt sur Microsoft Azure.
A propos de cette tâche
Le gestionnaire de certificats peut créer puis supprimer des enregistrements DNS-01 dans le serveur de noms de domaine Microsoft Azure . Toutefois, le serveur de noms de domaine doit d'abord s'authentifier auprès de Microsoft Azure . La méthode suivante utilise l'authentification principale Microsoft Azure Service pour configurer Let's Encrypt.
Procédure
- Créez un principal de service dans Microsoft Azure à l'aide des paramètres de connexion du principal de service.
Exemple :
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
Astuce: Pour tous les exemples, remplacez les paramètres donnés dans l'exemple par vos propres paramètres.
- Connectez-vous à Microsoft Azure en utilisant les détails de connexion du principal de service.
az login --service-principal -u $AZURE_CERT_MANAGER_SP_APP_ID -p $AZURE_CERT_MANAGER_SP_PASSWORD --tenant $AZURE_TENANT_ID
- Créez le rôle DNS Contributor pour associer la zone DNS au principal de service.
Exemple :
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
- Dans Enregistrement DNS, cliquez sur votre domaine et créez un A ensemble d'enregistrements
*.<<Cluster_unique_String>>.<<DNS_NAME>>.Par exemple, *.i4l7mh.mas4azure.com, où i4l7mh est la chaîne unique du cluster et mas4azure est le nom DNS.
Astuce: Utilisez la même valeur que celle utilisée dans l'enregistrement A .
- Connectez-vous au cluster Red Hat® OpenShift® .
Exemple :
oc login --token=<<token_number>> --server=https://api.masocp-i4l7mh.mas4azure.com:6443
- Créez un secret azuredns-config, qui contient le mot de passe du principal de service.
Exemple :
oc create secret generic azuredns-config --from-literal=client-secret=$AZURE_CERT_MANAGER_SP_PASSWORD -n ibm-common-services
- Dans la console Red Hat OpenShift, créez un ClusterIssuer dans l'onglet Instances du groupe
cert-manager.io .Exemple :
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
Remarque: dans Maximo Application Suite 8.10, attendez que les routes soient régénérées et vérifiez les routes générées pour vérifier si le certificat est signé par Let's encrypt.
- Dans la console Red Hat OpenShift, à partir de , recherchez une suite dans votre espace de noms.
- Dans la console Red Hat OpenShift, sous , sélectionnez l'onglet Instances pour votre Suite CRD.
- Cliquez sur votre ressource personnalisée et, dans l'onglet Instances , sélectionnez YAML pour ajouter les paramètres cluster issue et domain dans la section spec .
---
spec:
certificateIssuer:
duration: 8760h0m0s
name: prod-route53-issuer
renewBefore: 720h0m0s
domain: <<masinstance_id>>.<<domain>>
- Supprimez la section finalizer du même fichier YAML de suite pour forcer une synchronisation, puis sauvegardez le fichier YAML.
finalizers:
- core.mas.ibm.com/finalizer
- Dans Networking sous Routes du projet mas-< mas_instance_id> -core, attendez que les Routes soient régénérées pour l'espace de nom.
Remarque: La régénération de Routes prend un certain temps.
Le certificat dans les routes est signé par Let's encrypt.
- Connectez-vous à l'écran de l'administrateur Maximo Application Suite et vérifiez le signataire du certificat.