Przeskocz do opisu głównego

IBM CP4BA Importowanie certyfikatu usługi zewnętrznej

· 3 minut czytania
Sławomir Cichy
Backend Engineer @ Sci Software

Aby zintegrować się z usługą zewnętrzną, należy najpierw zaimportować jej certyfikat Transport Layer Security (TLS) w formacie Privacy Enhanced Mail (PEM) na listę zaufanych operatorów. Certyfikat jest dodawany do magazynu zaufanych certyfikatów każdego komponentu w pakiecie Cloud Pak. Źródło: Importing the certificate of an external service

Podsumowując, cała ścieżka dodawania certyfikatu do IBM Cloud Pak składa się z czterech kroków. Poniżej znajdziesz wszystkie polecenia i instrukcje, których potrzebujesz, aby wykonać to zadanie.

tip

Aby zainstalować sobie polecenia oc zajrzyj na stronę Getting started with the OpenShift CLI. Tam znajdziesz instrukcje dotyczące instalacji i konfiguracji narzędzia pozwalającego tobie sterować klastrem OpenShift z lokalnej linii komend.

Polecenie kubectl pobieramy ze strony https://storage.googleapis.com/kubernetes-release/release/v1.23.2/bin/windows/amd64/kubectl.exe i umieszczamy w odpowiednim katalogu.

Krok 1. Zaloguj się do klastra OpenShift

Najpierw musisz zalogować się do klastra OpenShift za pomocą narzędzia oc.

oc login https://api.68acab470454c5ff80d0bb37.eu1.techzone.ibm.com:6443 -u <username> -p <password>

gdzie:

  • <username> to twoja nazwa użytkownika (np. kubeadmin)
  • <password> to twoje hasło.
info

Upewnij się, że pracujesz w odpowiedniej przestrzeni nazw (namespace) dla IBM Cloud Pak. Ustaw ją wydając polecenie:

oc project cp4ba

Krok 2. Pobierz certyfikat

Pobierz certyfikat TLS z usługi zewnętrznej, z którą chcesz się zintegrować. W tym przykładzie używamy usługi https://apim.eu.workato.com. Użyj jednej z poniższych metod, aby pobrać certyfikat i zapisać go w pliku .crt (w poniższych przykładach nazwa pliku to apim-eu-workato-com-cert.crt).

  • Użyj narzędzia keytool do pobrania łańcucha certyfikatów z usługi zewnętrznej i zapisania go w pliku .crt:
keytool -printcert -sslserver https://apim.eu.workato.com -rfc > apim-eu-workato-com-cert.crt 
  • Użyj narzędzia openssl do pobrania certyfikatu z usługi zewnętrznej i zapisania go w pliku .crt.:
echo | \
openssl s_client -showcerts -connect apim.eu.workato.com:443 | \
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > apim-eu-workato-com-cert.crt

Krok 3. Utwórz Kubernetes Secret

Następnie utwórz Kubernetes Secret, który będzie przechowywał certyfikat. Secret jest tworzony w przestrzeni nazw cp4ba i ma nazwę apim-eu-workato-com.

kubectl create secret generic apim-eu-workato-com --from-file=tls.crt=apim-eu-workato-com-cert.crt -n cp4ba

Krok 4. Zaktualizuj konfigurację Cloud Pak

Ostatnim krokiem jest zaktualizowanie pliku YAML w konsoli OpenShift, aby wdrożenie korzystało z nowo utworzonego secret.

  1. Zaloguj się do konsoli OpenShift.
  2. Przejdź do Operators > Installed Operators i kliknij IBM Cloud Pak for Business Automation.
  3. Przejdź do zakładki z wdrożeniem, zwykle icp4adeploy, i wybierz YAML.
  4. W pliku YAML znajdź sekcję shared_configuration i dodaj nazwę swojego secret (apim-eu-workato-com) do listy trusted_certificate_list.
    # ...
    spec:
    shared_configuration:
    trusted_certificate_list:
    - apim-eu-workato-com
    # ...
  5. Zapisz zmiany. Operator automatycznie zaktualizuje wdrożenie, aby komponenty mogły ufać nowemu certyfikatowi.
warning

Zwróć uwagę na to czy konfiguracja się zapisała. Czasami zdarza się, że konsola OpenShift nie zapisuje zmian w pliku YAML. Jest to spowodowane tym, że treść zakładki YAML zawiera również dane statusowe niektórych pod'ów i dane te mogą się zmieniać. To przeszkadza, ale trzeba się z tym pogodzić. W takim przypadku przeładuj konfigurację (przycisk Reload) i spróbuj ponownie dokonać zmian.

01_adding_new_certificate