Hinweis:
- Dieses Tutorial erfordert Zugriff auf Oracle Cloud. Informationen zur Registrierung für einen kostenlosen Account finden Sie unter Erste Schritte mit Oracle Cloud Infrastructure Free Tier.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. In der Übung ersetzen Sie diese Werte durch die Werte, die für Ihre Cloud-Umgebung spezifisch sind.
Single Sign-On in Oracle Fusion Cloud Transportation Management 6.4.3 implementieren
Einführung
Sie können Anwendungen mit Oracle Cloud Infrastructure Identity and Access Management-(OCI IAM-)Domains integrieren, um die Authentifizierung und Single Sign-On (SSO) mit verschiedenen Methoden zu aktivieren. Während viele Anwendungen Standardprotokolle wie SAML und OAuth unterstützen, unterstützt Oracle Fusion Cloud Transportation Management (Oracle Transportation Management) die HTTP-Header-basierte Authentifizierung für SSO.
Das App-Gateway fungiert als Authentifizierungsproxy zwischen OCI IAM und Oracle Transportation Management. Es ist in zwei Deployment-Optionen verfügbar: einem Docker-Image und einem virtuellen Appliance-Image. Dieses Tutorial konzentriert sich auf das Deployment und die Verwendung der Docker-basierten Version.
Durch die Implementierung von SSO können Sie die Sicherheitsfunktionen von OCI IAM nutzen, einschließlich MFA, adaptiver Sicherheit, Anmelde-Policys usw. Dadurch wird eine zusätzliche Ebene der Zugriffskontrolle durchgesetzt, um Ihre Oracle Transportation Management-Instanz weiter zu schützen.
Ziele
-
Erstellen Sie eine Unternehmensanwendung in Ihrer OCI-Domain, die Oracle Transportation Management darstellt.
-
Erstellen Sie ein App-Gateway in Ihrer OCI-Domain, und verknüpfen Sie es mit der Unternehmensanwendung.
-
Laden Sie die erforderlichen Dateien zum Einrichten des Docker-Images herunter.
-
Erstellen Sie eine OCI Compute-Instanz, und aktualisieren Sie Netzwerkkonfigurationen, um Ingress zuzulassen.
-
Richten Sie das Docker-Image ein, um das App-Gateway auszuführen.
-
SSO-Konfiguration der Oracle Transportation Management-Serverkonfiguration aktualisieren.
-
Validieren Sie den Anmeldeablauf, um sicherzustellen, dass die SSO-Authentifizierung funktioniert.
Voraussetzungen
-
Zugriff auf einen OCI-Mandanten. Weitere Informationen dazu finden Sie unter Oracle Cloud Infrastructure Free Tier.
-
Identitätsdomainadministratorrolle für die OCI-IAM-Identitätsdomain. Weitere Informationen finden Sie unter Erläuterungen zu Administratorrollen.
-
Eine Oracle Transportation Management-Instanz.
-
Administratorzugriff auf die Anwendungsebene von Oracle Transportation Management.
Aufgabe 1: Unternehmensanwendung einrichten
Die folgenden Details sind für Oracle Transportation Management erforderlich, bevor Sie fortfahren:
-
Liste der Ressourcen und Schutzstufe: Beispiel:
/home
,/jobs
oder/*
. Auch wenn diese öffentlichen Zugriff oder Benutzerauthentifizierung erfordern. -
Host/IP mit Port, auf dem die Oracle Transportation Management-Anwendung ausgeführt wird, z.B. der Ursprungsserver.
-
Der HTTP-Header, den Oracle Transportation Management erwartet, dass OCI IAM erfolgreich ist. Dieser Header wird mit einem Benutzer in der Oracle Transportation Management-Datenbank abgestimmt. In diesem Tutorial verwenden wir
appuid
.
Führen Sie die Schritte aus:
-
Öffnen Sie das Navigationsmenü der Oracle Cloud-Konsole, und klicken Sie auf Identität & Sicherheit. Klicken Sie unter Identität auf Domänen. Wählen Sie das Compartment aus, um die Domain zu suchen.
-
Klicken Sie auf den Namen Ihrer Domain und unter Integrierte Anwendungen auf Anwendung hinzufügen.
-
Wählen Sie Unternehmensanwendung aus, und klicken Sie auf Workflow starten.
-
Geben Sie einen Namen für die Anwendung ein. Die Anwendungs-URL ist der Host und Port des App-Gatewayservers. Dies kann auch eine URL sein, die eine Umleitung zum App-Gateway aufweist. Prüfen Sie In "Meine Apps" anzeigen. Wenn Sie diese App nur auf autorisierte Benutzer beschränken möchten, überprüfen Sie der Benutzer muss diese App erteilt werden.
-
Klicken Sie auf Weiter, Weiter, um die Konfigurationsbildschirme OAuth zu überspringen.
-
Klicken Sie auf Ressource hinzufügen, um die GTM-Ressourcen hinzuzufügen. Geben Sie einen Namen und eine Ressourcen-URL an. In unserem Fall lautet der Begriff
/.*
, wobei alle Ressourcen geschützt werden. Prüfen Sie Reguläre Ausdrücke verwenden. -
Klicken Sie auf die Schaltfläche Verwaltete Ressource hinzufügen, und wählen Sie die Ressource aus dem vorherigen Schritt 6 im Menü Ressource aus. Wählen Sie die Authentifizierungsmethode als Formular oder Zugriffstoken aus. Geben Sie unter Kopfzeilen
appuid
als Name undUser Name
als Wert ein.Hinweis: In unserem Beispiel haben wir
Default
als einzige Ressource undForm or Access token
als Authentifizierungsmethode zum Schutz aller Ressourcen ausgewählt. Dadurch wird sichergestellt, dass nur authentifizierte Benutzer Zugriff haben. Oracle Transportation Management benötigt außerdem den Headerappuid
mit dem Benutzernamen als Wert. Wir haben dies als Teil unserer ersten Aufgabe identifiziert, Details zu sammeln. -
Klicken Sie auf Fertigstellen, und aktivieren Sie die Anwendung, indem Sie auf die Option Aktivieren klicken.
-
Weisen Sie der Anwendung unter Ressourcen einige Benutzer/Gruppen zu. Sie können sowohl lokale als auch föderierte Benutzer auswählen. Stellen Sie jedoch sicher, dass diese Benutzer in der Oracle Transportation Management-Datenbank vorhanden sind.
Aufgabe 2: App-Gateway in OCI IAM registrieren
Das App-Gateway befindet sich vor Ihrer Anwendung, fängt Anforderungen ab, authentifiziert Benutzer und ermöglicht dann den Zugriff auf die Ressourcen.
Serverdetails erfassen:
Die folgenden Details sind für den App-Gateway-Server erforderlich, bevor Sie fortfahren:
-
Host-/IP-Adresse des App-Gatewayservers. Dabei kann es sich um eine OCI Compute-Instanz oder einen anderen Server handeln, der in einer Cloud oder On-Premises ausgeführt wird.
-
Der App-Gatewayserver benötigt eine Internetverbindung, um auf die OCI-IAM-Domain-URL zuzugreifen. Außerdem ist eine Konnektivität mit der vorgelagerten Oracle Transportation Management-Anwendung erforderlich.
-
Details zum Ursprungsserver (Host und Port) von Oracle Transportation Management, auf dem die Upstreamanwendung ausgeführt wird.
Führen Sie die Schritte aus:
-
Wählen Sie unter Identität die Option Domains aus, und klicken Sie auf die zuvor verwendete Domain.
-
Wählen Sie unter Sicherheit App-Gateways aus, und klicken Sie auf App-Gateway erstellen. Geben Sie einen Namen ein, und klicken Sie auf App-Gateway hinzufügen.
-
Klicken Sie auf Host hinzufügen. Geben Sie einen Namen unter Host-ID an, und fügen Sie die App-Gateway-Serverdetails unter Host und Port hinzu. Wenn Sie noch nicht über die Details verfügen, fügen Sie Platzhalterwerte hinzu und wiederholen Sie diesen Schritt, nachdem Sie Aufgabe 4 abgeschlossen haben.
-
Klicken Sie auf das Kontrollkästchen SSL aktiviert, geben Sie unter Zusätzliche Eigenschaften die folgenden Eigenschaften ein, und klicken Sie auf Host hinzufügen.
ssl_certificate /usr/local/nginx/conf/cert.pem; ssl_certificate_key /usr/local/nginx/conf/key.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5;
Hinweis: SSL am Load Balancer wird nicht beendet. Daher müssen Sie das Kontrollkästchen "SSL" aktivieren, um den Zugriff auf den App-Gateway-Server über SSL zu aktivieren. Die Dateinamen und der Pfad für das Zertifikat und den Schlüssel basieren auf dem tatsächlichen Pfad im Container.
-
Klicken Sie auf Weiter, um die Unternehmensanwendung und die Ursprungsserverdetails hinzuzufügen, die Sie in Aufgabe 1 erstellt haben.
-
Klicken Sie auf Anwendung hinzufügen, und wählen Sie die Unternehmensanwendung im Menü Anwendung aus. Wählen Sie unter Host auswählen den Host aus Schritt 3 aus. Geben Sie unter Ressourcenpräfix
/
ein, um die Unternehmensanwendung als Proxy zu verwenden. Geben Sie schließlich unter Ursprungsserver den Hostnamen/die IP des Oracle Transportation Management-Anwendungsservers ein. Klicken Sie auf Schließen.Hinweis: Wenn Sie
/
als Ressourcenpräfix verwenden, wird jede Anforderung, die nach/
liegt, an die Unternehmensanwendung weitergeleitet. -
Klicken Sie auf App-Gateway aktivieren. Notieren Sie die Client-ID und das Client Secret, da dies später erforderlich ist.
Aufgabe 3: Laden Sie die erforderlichen Dateien herunter, um den Container einzurichten und das Wallet zu generieren
-
Gehen Sie in der OCI-Konsole zu Identität, Domains, Ihrer Domain, Einstellungen, und klicken Sie auf Downloads.
-
Laden Sie das Docker-Image aus dem Einheitlichen Docker-Package des App-Gateways für Identity Cloud Service herunter.
-
Laden Sie als Nächstes das AppGateway Wallet-Tool herunter, mit dem ein Wallet generiert wird.
-
Entpacken Sie die heruntergeladenen ZIP-Dateien. Das Docking-Abbild hat das Format
.tar.gz
. -
Sie müssen die Imagedatei und den Wallet-Ordner vom lokalen Rechner auf den App-Gatewayserver kopieren. Im folgenden Beispiel wird gezeigt, wie Sie mit dem Befehl scp aus der lokalen bash-Shell den Inhalt des Wallet-Toolordners an das Dateiverzeichnis auf dem Server senden.
scp -i /Users/mac/ssh_private.key -r /Users/mac/idcs-appgateway-wallet-tool-23.2.92-2301160723 opc@xxx.xxx.xxx.xxx:files
Aufgabe 4: OCI-Compute-Instanz erstellen und Netzwerksicherheitslisten aktualisieren
Hinweis: Wenn Sie einen lokalen Server/virtuellen Rechner in Ihrer eigenen Umgebung oder in einem anderen Cloud-Provider einrichten, können Sie die folgenden Schritte als Referenz für die Konfigurationen verwenden.
-
Gehen Sie in der OCI-Konsole zu Compute, und klicken Sie auf Instanzen. Wählen Sie das richtige Compartment aus.
-
Klicken Sie auf Instanz erstellen. Geben Sie den Namen ein, und wählen Sie eine Availability-Domain aus.
-
Wählen Sie BS-Image als Oracle Linux 8 aus, und wählen Sie eine entsprechende Ausprägung aus. Wir verwenden
E5 Flex/1 OCPU/8GB
-Speicher. -
Wählen Sie das VCN und das öffentliche Subnetz aus, in dem Sie dies platzieren möchten.
-
Generieren Sie ein SSH-Schlüsselpaar, um eine Secure-Shell-Verbindung (SSH) herzustellen, oder laden Sie einen bereits vorhandenen Public Key hoch.
-
Klicken Sie auf Erstellen, und notieren Sie sich die Adresse IPv4.
-
Öffnen Sie das Subnetz, und klicken Sie auf die zugehörige Sicherheitsliste.
-
Klicken Sie auf Ingress-Regeln hinzufügen, und fügen Sie Folgendes hinzu, um den Ingress von HTTPS über TCP und SSH zuzulassen.
Source Type: CIDR Source CIDR: 0.0.0.0/0 IP Protocol: TCP Source Port Range: All Destination Port Range: 443
Source Type: CIDR Source CIDR: 0.0.0.0/0 IP Protocol: SSH Source Port Range: All Destination Port Range: 22
Aufgabe 5: App-Gatewayserver mit dem Docker-Image konfigurieren
-
Stellen Sie mit Ihrem Private Key eine SSH-Verbindung zur Compute-Instanz her, die in Aufgabe 4 erstellt wurde.
ssh -i /Users/mac/ssh_private.key opc@xxx.xxx.xxx.xxx
-
Führen Sie den folgenden Befehl aus, um Docker und andere Librarys zu installieren und den Service zu starten. Prüfen Sie anschließend, ob der Docking-Dienst ausgeführt wird.
sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io sudo dnf install libnsl* sudo systemctl enable docker sudo systemctl start docker
sudo systemctl status docker
-
Fügen Sie als Nächstes den angemeldeten Benutzer (in diesem Fall
opc
) zur sudoers-Liste hinzu.sudo usermod -a -G docker $USER
-
Öffnen Sie den Firewallport, um die Kommunikation zu aktivieren. Wir verwenden Port
443
hier.sudo firewall-cmd --zone=public --permanent --add-port=443/tcp sudo systemctl stop firewalld sudo systemctl start firewalld
-
Erstellen Sie ein Verzeichnis und beginnen Sie mit der Konsolidierung der Dateien, die zum Erstellen des Containers erforderlich sind. Wir verwenden
/home/opc/files
für dieses Tutorial.mkdir files cd files
-
Generieren Sie ein selbstsigniertes Zertifikat mit openSSL.
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server-key.pem -out server-cert.pem
Hinweis: Die Verwendung selbstsignierter Zertifikate wird in einer Produktionsumgebung nicht empfohlen. Verwenden Sie stattdessen Zertifikate, die von Ihrer CA ausgestellt wurden.
-
Erstellen Sie die Umgebungsdatei
appgateway
, in der die Domaininformationen enthalten sind.vi appgateway-env
CG_APP_TENANT=idcs-XXX IDCS_INSTANCE_URL=https://idcs-XXX.identity.oraclecloud.com:443 NGINX_DNS_RESOLVER=<resolver IP>
Hinweis: Ersetzen Sie
XXX
durch Ihre OCI-IAM-Domaindetails. Informationen zur DNS-Resolver-IP finden Sie in den Name Server-Details in der Datei/etc/resolv.conf
. -
Generieren Sie die Wallet-Datei
cwallet.sso
mit dem Tool. Dazu führen Sie den folgenden Befehl aus. Ersetzen SieClient ID
durch die zuvor notierte App-Gatewayclient-ID. Klicken Sie auf Eingabetaste, und geben Sie das Client Secret ein, wenn Sie dazu aufgefordert werden.env LD_LIBRARY_PATH=./lib ./cgwallettool --create -i <Client ID>
-
Nachdem alle Dateien bereit sind, aktualisieren Sie die Berechtigungen für jede Datei. Dadurch wird sichergestellt, dass der Eigentümer lesen, schreiben und ausführen kann; während Gruppen und andere nur lesen und ausführen können.
chmod -R 755 <filename>
-
Laden Sie das Image in das lokale Repository, und validieren Sie es.
sudo docker load -i appgateway-aarch64-25.1.03-2501230623.tar.gz docker images
-
Erstellen Sie den Container auf Basis der Dateien, und validieren Sie ihn. Nachdem Sie den folgenden Befehl ausgeführt haben, muss der Status für den Container UP lauten.
sudo docker run -p 443:443 -d --name appgateway --env-file /home/opc/files/appgateway-env --env HOST_MACHINE=`hostname -f` --volume /home/opc/files/cwallet.sso:/usr/local/nginx/conf/cwallet.sso --volume /home/opc/files/server-key.pem:/usr/local/nginx/conf/key.pem --volume /home/opc/files/server-cert.pem:/usr/local/nginx/conf/cert.pem local.local/idcs-appgateway-docker_linux_arm64_v8:25.1.03-2501230623
docker ps
Aufgabe 6: SSO-Konfiguration in Oracle Transportation Management aktualisieren
Hinweis: Dieses Tutorial ist spezifisch für Oracle Transportation Management 6.4.3. Weitere Informationen zum Festlegen der verschiedenen Parameter finden Sie im Sicherheitshandbuch für Oracle Transportation Management hier: Sicherheitshandbuch. Weitere Versionen finden Sie unter Transportation and Global Trade Management On-Premise Documentation Web Library.
-
Für den SSO-Zugriff auf Oracle Transportation Management muss der aufrufende Code den folgenden Parameter als Teil der HTTP-Anforderung übergeben (wobei der Benutzername die GID des Benutzers in der Datenbank ist). Der
appuid
-Header wird im HTTP-Header übergeben. Der Wert dieses Headers muss mit dem Benutzernamen in der Datenbank übereinstimmen.appuid=username
-
Melden Sie sich bei der Oracle Transportation Management-Admin-Konsole an, und navigieren Sie zu Benutzermanager. Erstellen/aktualisieren Sie den Benutzer, um sicherzustellen, dass ein gültiger Benutzername mit dem OCI-Benutzer übereinstimmt.
-
Die SSO-Konfiguration muss in der Datei
glog.properties
aktualisiert werden. Melden Sie sich beim Server an, und navigieren Sie zu/app/appgtmdevl/Oracle/gtm643/glog/config
. Aktualisieren Sie die folgenden Parameter.glog.security.sso=true glog.security.sso.app0idName=appuid glog.security.sso.appUidLoCation=3 glog.security.sso.logoutButton=true glog.security.sso.logoutUrl-https://idcs-XXX.identity.oraclecloud.com/sso/vl/user/logout
-
Anschließend muss die OHS-Konfiguration aktualisiert werden. Siehe die folgenden Beispiele für den Pfad, um die Datei
httpd.conf
zu suchen.cd /app/OTMappserver/Oracle/Middleware/Oracle_Home/user_projects/domains/otmweb/config/fmwconfig/components/OHS/OTMappserver
cd /app/OTMappserver/Oracle/Middleware/Oracle_Home/user_projects/domains/otmweb/config/fmwconfig/components/OHS/instances/OTMappserver
-
Erstellen Sie ein Backup der Datei, und legen Sie dann die folgenden Parameter in der Konfiguration fest.
SimulateHttps On AddCertHeader HTTPS
Beispiel:
Listen 1234 NameVirtualHost *:1234 <VirtualHost *:1234> ServerName XXX.XXX DocumentRoot /app/XXX/Oracle/gtm643/web/htdocs DirectoryIndex index.htm <IfModule ossl_module> SSLEngine off </IfModule> <Directory "/app/XXX/Oracle/gtm643/web/htdocs"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> Header set Cache-Control maxage=21600 ExpiresActive On ExpiresDefault "access plus 6 hours" SimulateHttps On AddCertHeader HTTPS </VirtualHost>
-
Starten Sie die Anwendung und Web Tier neu, um sicherzustellen, dass die Änderungen wirksam werden.
-
Stellen Sie sicher, dass Netzwerk-Ingress/Egress vom App-Gatewayserver zur Oracle Transportation Management-Instanz zulässig ist. Verwenden Sie Aufgabe 4.8 als Referenz.
Aufgabe 7: Über SSO anmelden und validieren
-
Greifen Sie über einen Browser auf die Servlet-URL zu. Beispiel-URL:
https://appgatewayserver.domain:443/GC3/glog.webserver.util.FrameGC3Servlet
. -
Beachten Sie, dass eine Umleitung zur OCI IAM-Anmeldung erfolgen muss. Geben Sie die Zugangsdaten des Benutzers und die Anmeldung ein.
-
Nach erfolgreicher Authentifizierung werden Sie bei Oracle Transportation Management angemeldet.
Verwandte Links
Bestätigungen
- Autor - Tonmendu Bose (Senior Cloud Engineer)
Weitere Lernressourcen
Sehen Sie sich weitere Übungen zu docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube-Kanal zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um ein Oracle Learning Explorer zu werden.
Die Produktdokumentation finden Sie im Oracle Help Center.
Implement Single Sign-On in Oracle Fusion Cloud Transportation Management 6.4.3
G36631-01
Copyright ©2025, Oracle and/or its affiliates.