Po zainstalowaniu pakietu Maximo® Application Suite w serwisie Microsoft™ Azure, Maximo Application Suite korzysta z samopodpisanych certyfikatów. Aby użyć powszechnie znanych certyfikatów podpisanych przez ośrodek certyfikacji jako Let's Encrypt, można zainstalować i skonfigurować Let's Encrypt na serwerze Microsoft Azure.
Informacje o tym zadaniu
Menedżer certyfikatów może tworzyć i usuwać rekordy DNS-01 w systemie DNS Microsoft Azure . Jednak serwer DNS musi najpierw uwierzytelnić się w usłudze Microsoft Azure . W poniższej metodzie do skonfigurowania usługi Let's Encrypt używane jest główne uwierzytelnianie usługi Microsoft Azure .
Procedura
- Utwórz nazwę użytkownika usługi w usłudze Microsoft Azure , używając parametrów połączenia z nazwą użytkownika usługi.
Na przykład:
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
Wskazówka: W przypadku wszystkich przykładów należy zastąpić parametry podane w przykładzie własnymi parametrami.
- Zaloguj się do serwisu Microsoft Azure , używając szczegółów połączenia z nazwą użytkownika usługi.
az login --service-principal -u $AZURE_CERT_MANAGER_SP_APP_ID -p $AZURE_CERT_MANAGER_SP_PASSWORD --tenant $AZURE_TENANT_ID
- Utwórz rolę DNS Contributor , aby powiązać strefę DNS z nazwą użytkownika usługi.
Na przykład:
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
- W polu Rekord DNSkliknij domenę i utwórz A zestaw rekordów
*.<<Cluster_unique_String>>.<<DNS_NAME>>.Na przykład *.i4l7mh.mas4azure.com, gdzie i4l7mh jest unikalnym łańcuchem klastra, a mas4azure jest nazwą DNS.
Wskazówka: Użyj tej samej wartości, która jest używana w rekordzie A .
- Zaloguj się do klastra Red Hat® OpenShift® .
Na przykład:
oc login --token=<<token_number>> --server=https://api.masocp-i4l7mh.mas4azure.com:6443
- Utwórz klucz tajny azuredns-config, który zawiera hasło użytkownika usługi.
Na przykład:
oc create secret generic azuredns-config --from-literal=client-secret=$AZURE_CERT_MANAGER_SP_PASSWORD -n ibm-common-services
- W konsoli Red Hat OpenShift utwórz ClusterIssuer na karcie Instancje w grupie
cert-manager.io .Na przykład:
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
Uwaga: W pakiecie Maximo Application Suite 8.10poczekaj na ponowne wygenerowanie tras i zweryfikuj wygenerowane trasy, aby sprawdzić, czy certyfikat został podpisany przez Let's encrypt.
- W konsoli Red Hat OpenShift , w obszarze wyszukaj pakiet w przestrzeni nazw.
- W konsoli Red Hat OpenShift w obszarze wybierz kartę Instances dla Suite CRD.
- Kliknij zasób niestandardowy i na karcie Instancje wybierz opcję YAML , aby dodać parametry cluster issue i domain w sekcji spec .
---
spec:
certificateIssuer:
duration: 8760h0m0s
name: prod-route53-issuer
renewBefore: 720h0m0s
domain: <<masinstance_id>>.<<domain>>
- Usuń sekcję finalizer z tego samego pliku YAML pakietu, aby wymusić uzgadnianie, a następnie zapisz plik YAML.
finalizers:
- core.mas.ibm.com/finalizer
- W sekcji Sieć w obszarze Trasy projektu mas-< mas_instance_id> -corepoczekaj, aż Trasy zostaną ponownie wygenerowane dla przestrzeni nazw.
Uwaga: Ponowne generowanie tras zajmuje trochę czasu.
Certyfikat w trasach jest podpisany przez szyfrowanie.
- Zaloguj się do ekranu administratora Maximo Application Suite i sprawdź poprawność osoby podpisującej certyfikat.