Nota
- Questa esercitazione richiede l'accesso a Oracle Cloud. Per iscriversi a un account gratuito, consulta Inizia a utilizzare Oracle Cloud Infrastructure Free Tier.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Quando completi il tuo laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
Implementare Single Sign-On in Oracle Fusion Cloud Transportation Management 6.4.3
Introduzione
Puoi integrare le applicazioni con i domini Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) per abilitare l'autenticazione e Single Sign-On (SSO) tramite vari metodi. Sebbene molte applicazioni supportino protocolli standard come SAML e OAuth, Oracle Fusion Cloud Transportation Management (Oracle Transportation Management) supporta l'autenticazione basata su intestazione HTTP per SSO.
Il gateway applicazioni funge da proxy di autenticazione tra OCI IAM e Oracle Transportation Management. È disponibile in due opzioni di distribuzione: un'immagine Docker e un'immagine dell'appliance virtuale. Questa esercitazione è incentrata sulla distribuzione e l'utilizzo della versione basata su Docker.
L'implementazione di SSO consente di sfruttare le funzionalità di sicurezza di OCI IAM, tra cui MFA, sicurezza adattiva, criteri di accesso e così via. Ciò consente di applicare un livello aggiuntivo di controllo dell'accesso per proteggere ulteriormente l'istanza di Oracle Transportation Management.
Obiettivi
-
Crea un'applicazione aziendale nel tuo dominio OCI che rappresenta Oracle Transportation Management.
-
Creare un gateway applicazioni nel dominio OCI e associarlo all'applicazione aziendale.
-
Scaricare i file necessari per impostare l'immagine Docker.
-
Creare un'istanza di OCI Compute e aggiornare le configurazioni di rete per consentire l'ingresso.
-
Impostare l'immagine Docker per eseguire il gateway applicazioni.
-
Aggiorna configurazione SSO della configurazione del server Oracle Transportation Management.
-
Convalidare il flusso di login per garantire il funzionamento dell'autenticazione SSO.
Prerequisiti
-
Accesso a una tenancy OCI. Per ulteriori informazioni, consulta Oracle Cloud Infrastructure Free Tier.
-
Ruolo di amministratore del dominio di Identity per il dominio di Identity IAM OCI. Per ulteriori informazioni, vedere Informazioni sui ruoli di amministratore.
-
Istanza di Oracle Transportation Management.
-
Accesso amministratore al livello di applicazione di Oracle Transportation Management.
Task 1: Impostazione di un'applicazione enterprise
Prima di procedere, sono necessari i seguenti dettagli su Oracle Transportation Management:
-
Lista di risorse e livello di protezione: ad esempio,
/home
,/jobs
o/*
. Anche se questi richiedono l'accesso pubblico o l'autenticazione degli utenti. -
Host/IP con porta su cui è in esecuzione l'applicazione Oracle Transportation Management, ad esempio il server di origine.
-
Intestazione HTTP che Oracle Transportation Management prevede di passare a IAM OCI, che verrà riconciliata con un utente nel database Oracle Transportation Management. Stiamo usando
appuid
in questo tutorial.
Seguire i passi indicati:
-
Aprire il menu di navigazione della console di Oracle Cloud e fare clic su Identità e sicurezza. In Identità fare clic su Domini. Scegliere il compartimento in cui trovare il dominio.
-
Fare clic sul nome del dominio e, in Applicazioni integrate, fare clic su Aggiungi applicazione.
-
Selezionare Applicazione enterprise e fare clic su Avvia workflow.
-
Immettere un nome per l'applicazione. L'URL applicazione è l'host e la porta del server gateway applicazioni. Questo può anche essere un URL che ha un reindirizzamento al gateway applicazioni. Selezionare Visualizza in applicazioni personali. Se si desidera limitare l'applicazione solo agli utenti autorizzati, selezionare È necessario concedere l'applicazione all'utente.
-
Fare clic su Avanti, quindi di nuovo su Avanti per saltare le schermate di configurazione OAuth.
-
Fare clic su Aggiungi risorsa per aggiungere le risorse GTM. Fornire un nome e un URL risorsa. Nel nostro caso sarà
/.*
in quanto stiamo proteggendo tutte le risorse. Selezionare Usa espressioni regex. -
Fare clic sul pulsante Aggiungi risorsa gestita e selezionare la risorsa dal passo 6 precedente nel menu Risorsa. Selezionare il metodo di autenticazione come token modulo o accesso. In Intestazioni immettere
appuid
come Nome eUser Name
come Valore.Nota: nel nostro esempio, abbiamo selezionato
Default
come unica risorsa eForm or Access token
come metodo di autenticazione per proteggere tutte le risorse. Ciò garantisce che l'accesso sia consentito solo agli utenti autenticati. Oracle Transportation Management richiede anche un'intestazioneappuid
con il nome utente come valore. Abbiamo identificato questo come parte del nostro compito iniziale di raccolta dei dettagli. -
Fare clic su Fine, quindi attivare l'applicazione facendo clic sull'opzione Attiva.
-
Assegnare alcuni utenti o gruppi all'applicazione in Risorse. È possibile scegliere sia utenti locali che federati, ma assicurarsi che questi utenti esistano nel database di Oracle Transportation Management.
Task 2: Registra gateway applicazioni in IAM OCI
Gateway applicazioni si trova di fronte all'applicazione, intercetta le richieste, autentica gli utenti e quindi consente l'accesso alle risorse.
Raccogli dettagli server:
Prima di continuare, sono necessari i seguenti dettagli sul server app-gateway:
-
Indirizzo host/IP del server Gateway applicazioni. Può trattarsi di un'istanza di OCI Compute o di qualsiasi altro server in esecuzione in un cloud o on premise.
-
Il server Gateway applicazioni ha bisogno della connettività Internet per accedere all'URL del dominio IAM OCI. Inoltre, richiede la connettività all'applicazione Oracle Transportation Management a monte.
-
Dettagli del server di origine (host e porta) di Oracle Transportation Management in cui è in esecuzione l'applicazione a monte.
Seguire i passi indicati:
-
In Identità selezionare Domini, quindi fare clic sul dominio utilizzato in precedenza.
-
In Sicurezza selezionare Gateway applicazione e fare clic su Crea gateway applicazione. Immettere un nome e fare clic su Aggiungi gateway applicazioni.
-
Fare clic su Aggiungi host. Fornire un nome in Identificativo host e aggiungere i dettagli del server gateway applicazioni in Host e Porta. Se non si dispone ancora dei dettagli, aggiungere i valori segnaposto e rivedere questo passo dopo aver completato il task 4.
-
Fare clic sulla casella di controllo SSL abilitato, immettere quanto riportato di seguito in Proprietà aggiuntive e fare clic su Aggiungi host.
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;
Nota: non viene interrotto il protocollo SSL nel load balancer. Pertanto, è necessario selezionare la casella di controllo SSL per abilitare l'accesso al server gateway applicazioni tramite SSL. I nomi dei file e il percorso del certificato e della chiave si basano sul percorso effettivo nel contenitore.
-
Fare clic su Avanti per aggiungere i dettagli dell'applicazione enterprise e del server di origine creati nel task 1.
-
Fare clic su Aggiungi applicazione e selezionare l'applicazione enterprise dal menu Applicazione. In Selezionare un host scegliere l'host dal Passo 3. In Prefisso risorsa immettere
/
per eseguire il proxy dell'applicazione enterprise. Infine, in Server di origine immettere il nome host/IP dell'Application Server Oracle Transportation Management. Fare clic su Chiudi.Nota: quando si utilizza
/
come prefisso di risorsa, ogni richiesta successiva a/
viene inoltrata all'applicazione enterprise. -
Fare clic su Attiva gateway applicazioni. Prendere nota dell'ID client e del segreto client, perché questo sarà richiesto in seguito.
Task 3: Scaricare i file necessari per impostare il contenitore e generare il wallet
-
Nella console OCI, andare a Identità, Domini, al dominio, a Impostazioni e fare clic su Download.
-
Scarica l'immagine Docker dal pacchetto Docker unificato gateway applicazioni per Identity Cloud Service.
-
Successivamente, scaricare lo strumento Wallet AppGateway che verrà utilizzato per generare un wallet.
-
Decomprimere i file zip scaricati. L'immagine docker sarà in formato
.tar.gz
. -
Sarà necessario copiare il file immagine e la cartella del wallet dal computer locale al server gateway applicazioni. Di seguito è riportato un esempio che mostra come utilizzare il comando scp dalla shell bash locale per inviare il contenuto della cartella degli strumenti del wallet alla directory dei file nel server.
scp -i /Users/mac/ssh_private.key -r /Users/mac/idcs-appgateway-wallet-tool-23.2.92-2301160723 opc@xxx.xxx.xxx.xxx:files
Task 4: Creare un'istanza di computazione OCI e aggiornare le liste di sicurezza di rete
Nota: se si sta impostando un server locale o un computer virtuale nel proprio ambiente o in un altro provider cloud, è possibile utilizzare i passi riportati di seguito come riferimento per le configurazioni.
-
Nella console OCI, andare a Computazione e fare clic su Istanze. Selezionare il compartimento corretto.
-
Fare clic su Crea istanza. Immettere Nome e selezionare un dominio disponibilità.
-
Selezionare l'immagine del sistema operativo come Oracle Linux 8 e selezionare una forma appropriata. Stiamo usando la memoria
E5 Flex/1 OCPU/8GB
. -
Selezionare la VCN e la subnet pubblica in cui si desidera collocarla.
-
Generare una coppia di chiavi SSH per connettersi all'istanza utilizzando una connessione Secure Shell (SSH) o caricare una chiave pubblica già inuso.
-
Fare clic su Crea e prendere nota dell'indirizzo IPv4.
-
Aprire la subnet e fare clic sulla lista di sicurezza associata.
-
Fare clic su Aggiungi regole di entrata e aggiungere quanto riportato di seguito per consentire l'ingresso di HTTPS su TCP e SSH.
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
Task 5: configurare il server Gateway applicazioni utilizzando l'immagine Docker
-
SSH nell'istanza di computazione creata nel task 4 utilizzando la chiave privata.
ssh -i /Users/mac/ssh_private.key opc@xxx.xxx.xxx.xxx
-
Eseguire il comando seguente per installare Docker e altre librerie e avviare il servizio. Verificare quindi che il servizio docker sia in esecuzione.
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
-
Successivamente, aggiungere l'utente collegato (
opc
in questo caso) all'elenco sudoers.sudo usermod -a -G docker $USER
-
Aprire la porta firewall per abilitare la comunicazione. Stiamo usando la porta
443
qui.sudo firewall-cmd --zone=public --permanent --add-port=443/tcp sudo systemctl stop firewalld sudo systemctl start firewalld
-
Creare una directory e iniziare a consolidare i file necessari per creare il contenitore. Stiamo usando
/home/opc/files
per questo tutorial.mkdir files cd files
-
Generare un certificato autofirmato utilizzando openSSL.
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server-key.pem -out server-cert.pem
Nota: l'uso dei certificati autofirmati non è consigliato in un ambiente di produzione. Utilizzare invece i certificati emessi dalla propria CA.
-
Creare il file di ambiente
appgateway
contenente le informazioni sul dominio.vi appgateway-env
CG_APP_TENANT=idcs-XXX IDCS_INSTANCE_URL=https://idcs-XXX.identity.oraclecloud.com:443 NGINX_DNS_RESOLVER=<resolver IP>
Nota: sostituire
XXX
con i dettagli del dominio IAM OCI. Per l'IP del resolver DNS, fare riferimento ai dettagli del nameserver presenti nel file/etc/resolv.conf
. -
Generare il file wallet
cwallet.sso
utilizzando lo strumento. A tale scopo, eseguire il comando seguente. SostituireClient ID
con l'ID client del gateway applicazioni indicato in precedenza. Fare clic su Restituisci e immettere il segreto client quando richiesto.env LD_LIBRARY_PATH=./lib ./cgwallettool --create -i <Client ID>
-
Ora che tutti i file sono pronti, aggiornare le autorizzazioni per ogni file. Ciò garantisce che il proprietario possa leggere, scrivere ed eseguire, mentre i gruppi e gli altri possono solo leggere ed eseguire.
chmod -R 755 <filename>
-
Caricare l'immagine nel repository locale e convalidarla.
sudo docker load -i appgateway-aarch64-25.1.03-2501230623.tar.gz docker images
-
Creare il contenitore in base ai file e convalidare. Dopo aver eseguito il comando seguente, lo stato del contenitore deve essere UP.
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
Task 6: Aggiorna configurazione SSO in Oracle Transportation Management
Nota: questa esercitazione è specifica di Oracle Transportation Management 6.4.3. Per ulteriori dettagli sull'impostazione dei vari parametri, consulta la guida per la sicurezza di Oracle Transportation Management qui: Security Guide. Per altre versioni, vedere Libreria Web di documentazione on-premise su Trasporti e Global Trade Management.
-
Per l'accesso SSO a Oracle Transportation Management, il codice di richiamo deve passare il parametro seguente nell'ambito della richiesta HTTP (dove il nome utente è il GID dell'utente nel database). L'intestazione
appuid
verrà passata nell'intestazione HTTP. Il valore di questa intestazione deve corrispondere al nome utente nel database.appuid=username
-
Eseguire il login alla console di amministrazione di Oracle Transportation Management e andare a User Manager. Creare/aggiornare l'utente per assicurarsi che esista un nome utente valido corrispondente all'utente OCI.
-
La configurazione SSO deve essere aggiornata nel file
glog.properties
. Eseguire il login al server e passare a/app/appgtmdevl/Oracle/gtm643/glog/config
. Aggiornare i parametri seguenti.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
-
Successivamente, è necessario aggiornare la configurazione OHS. Vedere gli esempi seguenti del percorso per individuare il file
httpd.conf
.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
-
Eseguire un backup del file, quindi impostare i parametri riportati di seguito nella configurazione.
SimulateHttps On AddCertHeader HTTPS
Esempio:
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>
-
Riavviare l'applicazione e il livello Web per garantire che le modifiche diventino effettive.
-
Assicurarsi che l'ingresso/uscita di rete dal server gateway applicazioni all'istanza di Oracle Transportation Management sia consentita. Utilizzare il task 4.8 come riferimento.
Task 7: Login tramite SSO e convalida
-
Accedere all'URL del servlet da un browser. URL di esempio:
https://appgatewayserver.domain:443/GC3/glog.webserver.util.FrameGC3Servlet
. -
Si noti che deve essere presente un reindirizzamento al login IAM OCI. Immettere le credenziali dell'utente e accedere.
-
Al termine dell'autenticazione verrà eseguito il login a Oracle Transportation Management.
Collegamenti correlati
Conferme
- Autore - Tonmendu Bose (ingegnere senior cloud)
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.
Per la documentazione del prodotto, visitare Oracle Help Center.
Implement Single Sign-On in Oracle Fusion Cloud Transportation Management 6.4.3
G36635-01
Copyright ©2025, Oracle and/or its affiliates.