Remarques :
- Ce tutoriel nécessite l'accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, reportez-vous à Introduction à Oracle Cloud Infrastructure Free Tier.
- Il utilise des exemples de valeur pour les informations d'identification, la location et les compartiments Oracle Cloud Infrastructure. Lorsque vous terminez votre atelier, remplacez ces valeurs par celles propres à votre environnement cloud.
Implémenter l'accès avec connexion unique dans Oracle Fusion Cloud Transportation Management 6.4.3
Introduction
Vous pouvez intégrer des applications aux domaines Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) pour activer l'authentification et l'accès avec connexion unique (SSO) via différentes méthodes. Bien que de nombreuses applications prennent en charge des protocoles standard tels que SAML et OAuth, Oracle Fusion Cloud Transportation Management (Oracle Transportation Management) prend en charge l'authentification basée sur l'en-tête HTTP pour SSO.
La passerelle d'application agit comme un proxy d'authentification entre OCI IAM et Oracle Transportation Management. Il est disponible dans deux options de déploiement : une image Docker et une image d'appliance virtuelle. Ce tutoriel se concentre sur le déploiement et l'utilisation de la version basée sur Docker.
L'implémentation de SSO aide à tirer parti des fonctionnalités de sécurité d'OCI IAM, notamment l'authentification à plusieurs facteurs, la sécurité adaptative, les stratégies de connexion, etc. Cela permet d'appliquer une couche supplémentaire de contrôle d'accès pour mieux protéger votre instance Oracle Transportation Management.
Objectifs
-
Créez une application d'entreprise dans votre domaine OCI qui représente Oracle Transportation Management.
-
Créez une passerelle d'application dans votre domaine OCI et associez-la à l'application Enterprise.
-
Téléchargez les fichiers requis pour configurer l'image Docker.
-
Créez une instance OCI Compute et mettez à jour les configurations réseau pour autoriser l'entrée.
-
Configurez l'image Docker pour exécuter la passerelle d'application.
-
Mettre à jour la configuration SSO de la configuration du serveur Oracle Transportation Management.
-
Validez le flux de connexion pour vous assurer que l'authentification SSO fonctionne.
Prérequis
-
Accès à une location OCI. Pour plus d'informations, reportez-vous à Niveau libre d'Oracle Cloud Infrastructure.
-
Rôle d'administrateur de domaine d'identité pour le domaine d'identité OCI IAM. Pour plus d'informations, reportez-vous à Présentation des rôles d'administrateur.
-
Instance Oracle Transportation Management.
-
Accès administrateur à la couche d'application d'Oracle Transportation Management.
Tâche 1 : configurer une application Enterprise
Les détails suivants sont requis pour Oracle Transportation Management avant de continuer :
-
Liste des ressources et niveau de protection : par exemple,
/home
,/jobs
ou/*
. En outre, si elles nécessitent un accès public ou une authentification de l'utilisateur. -
Hôte/adresse IP avec le port sur lequel l'application Oracle Transportation Management est exécutée, tel que le serveur d'origine.
-
En-tête HTTP qu'Oracle Transportation Management attend de la transmission d'OCI IAM, qui sera rapproché d'un utilisateur dans la base de données Oracle Transportation Management. Nous utilisons
appuid
dans ce tutoriel.
Suivez les étapes décrites:
-
Ouvrez le menu d'accès de la console Oracle Cloud et cliquez sur Identité & sécurité. Sous Identité, cliquez sur Domaines. Choisissez le compartiment dans lequel trouver le domaine.
-
Cliquez sur le nom du domaine, puis sous Applications intégrées, cliquez sur Ajouter une application.
-
Sélectionnez Application Enterprise, puis cliquez sur Lancer le workflow.
-
Attribuez un nom à l'application. L'URL d'application correspond à l'hôte et au port du serveur de passerelle d'application. Il peut également s'agir d'une URL qui a une redirection vers la passerelle d'application. Cochez la case Afficher dans Mes applications. Si vous voulez limiter cette application aux utilisateurs autorisés uniquement, cochez Cette application doit être accordée à l'utilisateur.
-
Cliquez à nouveau sur Suivant, puis sur Suivant pour ignorer les écrans de configuration OAuth.
-
Cliquez sur Ajouter une ressource pour ajouter les ressources GTM. Indiquez un nom et une URL de ressource. Dans notre cas, ce sera
/.*
car nous protégeons toutes les ressources. Cochez la case Utiliser des expressions régulières. -
Cliquez sur le bouton Ajouter une ressource gérée, puis sélectionnez la ressource de l'étape 6 précédente dans le menu Ressource. Sélectionnez la méthode d'authentification Formulaire ou jeton d'accès. Sous En-têtes, entrez
appuid
en tant que nom etUser Name
en tant que valeur.Remarque : dans notre exemple, nous avons sélectionné
Default
comme seule ressource etForm or Access token
comme méthode d'authentification pour protéger toutes les ressources. Cela garantit que seuls les utilisateurs authentifiés sont autorisés à y accéder. Oracle Transportation Management a également besoin d'un en-têteappuid
avec le nom utilisateur comme valeur. Nous avons identifié cela dans le cadre de notre tâche initiale de collecte de détails. -
Cliquez sur Terminer, puis activez l'application en cliquant sur l'option Activer.
-
Affectez des utilisateurs/groupes à l'application sous Ressources. Vous pouvez choisir des utilisateurs locaux et fédérés, mais assurez-vous que ces utilisateurs existent dans la base de données Oracle Transportation Management.
Tâche 2 : inscription d'une passerelle d'application dans OCI IAM
La passerelle d'application se trouve devant votre application, intercepte les demandes, authentifie les utilisateurs, puis autorise l'accès aux ressources.
Collecter les détails du serveur :
Les détails suivants sont requis sur le serveur app-gateway avant de continuer :
-
Adresse IP/hôte du serveur de la passerelle d'application. Il peut s'agir d'une instance OCI Compute ou de tout autre serveur exécuté dans un cloud ou sur site.
-
Le serveur de passerelle d'application a besoin d'une connectivité Internet pour accéder à l'URL de domaine OCI IAM. Il a également besoin d'une connectivité à l'application Oracle Transportation Management en amont.
-
Détails du serveur d'origine Oracle Transportation Management (hôte et port) sur lequel l'application en amont s'exécute.
Suivez les étapes décrites:
-
Sous Identité, sélectionnez Domaines, puis cliquez sur le domaine que vous avez utilisé auparavant.
-
Sous Sécurité, sélectionnez Passerelles d'application et cliquez sur Créer une passerelle d'application. Entrez un nom et cliquez sur Ajouter une passerelle d'application.
-
Cliquez sur Ajouter un hôte. Indiquez un nom dans Identificateur d'hôte et ajoutez les détails du serveur de passerelle d'application sous Hôte et Port. Si vous ne disposez pas encore des détails, ajoutez des valeurs d'espace réservé et réexécutez cette étape après avoir terminé la tâche 4.
-
Cochez la case SSL activé, entrez les informations ci-dessous dans Propriétés supplémentaires et cliquez sur Ajouter un hôte.
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;
Remarque : nous ne terminons pas SSL au niveau de l'équilibreur de charge. Nous devons donc cocher la case SSL pour activer l'accès au serveur de passerelle d'application via SSL. Les noms de fichier et le chemin du certificat et de la clé sont basés sur le chemin réel dans le conteneur.
-
Cliquez sur Suivant pour ajouter les détails de l'application Enterprise et du serveur d'origine que vous avez créés dans la tâche 1.
-
Cliquez sur Ajouter une application et sélectionnez l'application Enterprise dans le menu Application. Sous Sélectionner un hôte, choisissez l'hôte à l'étape 3. Dans Préfixe de ressource, entrez
/
pour créer un proxy pour l'application Enterprise. Enfin, dans Serveur d'origine, entrez le nom d'hôte/adresse IP du serveur d'applications Oracle Transportation Management. Cliquez sur Fermer.Remarque : lorsque vous utilisez
/
comme préfixe de ressource, chaque demande passée par/
est transmise à l'application d'entreprise. -
Cliquez sur Activer la passerelle d'application. Notez la valeur des champs ID du client et Clé secrète du client, car cela sera requis ultérieurement.
Tâche 3 : télécharger les fichiers requis pour configurer le conteneur et générer le portefeuille
-
Dans la console OCI, accédez à Identité, Domaines, votre domaine, Paramètres et cliquez sur Téléchargements.
-
Téléchargez l'image Docker à partir du package Docker unifié de passerelle d'application pour Identity Cloud Service.
-
Ensuite, téléchargez l'outil de portefeuille AppGateway qui sera utilisé pour générer un portefeuille.
-
Décompressez les fichiers ZIP téléchargés. L'image docker sera au format
.tar.gz
. -
Vous devez copier le fichier image et le dossier de portefeuille de votre ordinateur local vers le serveur de passerelle d'application. Voici un exemple qui montre comment utiliser la commande scp de votre shell bash local pour envoyer le contenu du dossier d'outils de portefeuille vers le répertoire de fichiers du serveur.
scp -i /Users/mac/ssh_private.key -r /Users/mac/idcs-appgateway-wallet-tool-23.2.92-2301160723 opc@xxx.xxx.xxx.xxx:files
Tâche 4 : création d'une instance de calcul OCI et mise à jour des listes de sécurité réseau
Remarque : si vous configurez un serveur/une machine virtuelle local dans votre propre environnement ou dans un autre fournisseur cloud, vous pouvez utiliser les étapes suivantes comme référence pour les configurations.
-
Dans la console OCI, accédez à Compute et cliquez sur Instances. Sélectionnez le bon compartiment.
-
Cliquez sur Créer une instance. Entrez le nom et sélectionnez un domaine de disponible.
-
Sélectionnez Image de système d'exploitation en tant qu'Oracle Linux 8 et sélectionnez une forme appropriée. Nous utilisons la mémoire
E5 Flex/1 OCPU/8GB
. -
Sélectionnez le VCN et le sous-réseau public sur lesquels vous souhaitez placer cette valeur.
-
Générez une paire de clés SSH pour la connexion à l'instance à l'aide d'une connexion Secure Shell (SSH) ou téléchargez une clé publique que vous possédez déjà.
-
Cliquez sur Créer et notez l'adresse IPv4.
-
Ouvrez le sous-réseau et cliquez sur la liste de sécurité qui lui est associée.
-
Cliquez sur Ajouter des règles entrantes et ajoutez ce qui suit pour autoriser l'entrée de HTTPS sur TCP et 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
Tâche 5 : configurer le serveur de passerelle d'application à l'aide de l'image Docker
-
Connectez-vous via SSH à l'instance de calcul créée dans la tâche 4 à l'aide de votre clé privée.
ssh -i /Users/mac/ssh_private.key opc@xxx.xxx.xxx.xxx
-
Exécutez la commande suivante pour installer Docker et d'autres bibliothèques, puis démarrez le service. Vérifiez ensuite que le service docker est exécuté.
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
-
Ensuite, ajoutez l'utilisateur connecté (
opc
dans ce cas) à la liste sudoers.sudo usermod -a -G docker $USER
-
Ouvrez le port de pare-feu pour activer la communication. Nous utilisons le port
443
ici.sudo firewall-cmd --zone=public --permanent --add-port=443/tcp sudo systemctl stop firewalld sudo systemctl start firewalld
-
Créez un répertoire et commencez à consolider les fichiers requis pour créer le conteneur. Nous utilisons
/home/opc/files
pour ce tutoriel.mkdir files cd files
-
Générez un certificat autosigné à l'aide de la commande openSSL.
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server-key.pem -out server-cert.pem
Remarque : l'utilisation de certificats autosignés n'est pas recommandée dans un environnement de production. Utilisez plutôt des certificats émis par votre autorité de certification.
-
Créez le fichier d'environnement
appgateway
qui contient les informations sur le domaine.vi appgateway-env
CG_APP_TENANT=idcs-XXX IDCS_INSTANCE_URL=https://idcs-XXX.identity.oraclecloud.com:443 NGINX_DNS_RESOLVER=<resolver IP>
Remarque : remplacez
XXX
par les détails de domaine OCI IAM. Pour l'adresse IP du résolveur DNS, reportez-vous aux détails du serveur de noms trouvés dans le fichier/etc/resolv.conf
. -
Générez le fichier de portefeuille
cwallet.sso
à l'aide de cet outil. Pour ce faire, exécutez la commande suivante. RemplacezClient ID
par l'ID client de passerelle d'application indiqué précédemment. Cliquez sur Entrée et saisissez la clé secrète client lorsque vous y êtes invité.env LD_LIBRARY_PATH=./lib ./cgwallettool --create -i <Client ID>
-
Maintenant que tous les fichiers sont prêts, mettez à jour les autorisations pour chaque fichier. Cela garantit que le propriétaire peut lire, écrire et exécuter, tandis que les groupes et autres ne peuvent lire et exécuter que.
chmod -R 755 <filename>
-
Chargez l'image dans le référentiel local et validez-la.
sudo docker load -i appgateway-aarch64-25.1.03-2501230623.tar.gz docker images
-
Créez le conteneur en fonction des fichiers et validez-le. Après l'exécution de la commande suivante, le statut du conteneur doit être 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
Tâche 6 : Mettre à jour la configuration SSO dans Oracle Transportation Management
Remarque : ce tutoriel est spécifique à Oracle Transportation Management 6.4.3. Pour plus d'informations sur la définition des différents paramètres, consultez le guide de sécurité d'Oracle Transportation Management ici : Guide de sécurité. Pour les autres versions, reportez-vous à la Bibliothèque Web de documentation sur site Transport and Global Trade Management.
-
Pour l'accès SSO à Oracle Transportation Management, le code appelant doit transmettre le paramètre suivant dans le cadre de la demande HTTP (où le nom utilisateur est le GID de l'utilisateur dans la base de données). L'en-tête
appuid
sera transmis dans l'en-tête HTTP. La valeur de cet en-tête doit correspondre au nom utilisateur dans la base de données.appuid=username
-
Connectez-vous à la console d'administration Oracle Transportation Management et accédez à User Manager. Créez/mettez à jour l'utilisateur pour vous assurer qu'il existe un nom utilisateur valide qui correspond à l'utilisateur OCI.
-
La configuration SSO doit être mise à jour dans le fichier
glog.properties
. Connectez-vous au serveur et accédez à/app/appgtmdevl/Oracle/gtm643/glog/config
. Mettez à jour les paramètres suivants.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
-
La configuration OHS doit ensuite être mise à jour. Reportez-vous aux exemples suivants du chemin permettant de localiser le fichier
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
-
Effectuez une sauvegarde du fichier, puis définissez les paramètres suivants dans la configuration.
SimulateHttps On AddCertHeader HTTPS
Par exemple :
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>
-
Redémarrez l'application et le niveau Web pour vous assurer que les modifications prennent effet.
-
Assurez-vous que l'entrée/la sortie réseau du serveur de passerelle d'application vers l'instance Oracle Transportation Management est autorisée. Utilisez la tâche 4.8 pour référence.
Tâche 7 : connexion via SSO et validation
-
Accédez à l'URL du servlet à partir d'un navigateur. Exemple d'URL :
https://appgatewayserver.domain:443/GC3/glog.webserver.util.FrameGC3Servlet
. -
Notez qu'une redirection vers la connexion à OCI IAM doit être effectuée. Entrez les informations d'identification de l'utilisateur et la connexion.
-
Une fois l'authentification réussie, vous serez connecté à Oracle Transportation Management.
Liens connexes
Accusés de réception
- Auteur - Tonmendu Bose (ingénieur senior du cloud)
Ressources de formation supplémentaires
Explorez d'autres ateliers sur le site docs.oracle.com/learn ou accédez à d'autres contenus d'apprentissage gratuits sur le canal Oracle Learning YouTube. En outre, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir de la documentation sur le produit, consultez Oracle Help Center.
Implement Single Sign-On in Oracle Fusion Cloud Transportation Management 6.4.3
G36634-01
Copyright ©2025, Oracle and/or its affiliates.