Remarques :
- Ce tutoriel nécessite un accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, reportez-vous à Introduction au niveau gratuit d'Oracle Cloud Infrastructure.
- Il utilise des exemples de valeur pour les informations d'identification, la location et les compartiments Oracle Cloud Infrastructure. A la fin de l'exercice, remplacez ces valeurs par des valeurs propres à votre environnement cloud.
Intégration de Rocket.Chat aux domaines d'identité pour l'accès avec connexion unique
Introduction
Rocket.Chat est une plateforme de communication open source sécurisée et hautement personnalisable pour les entreprises ayant des problèmes de sécurité et de confidentialité sophistiqués. Rocket.Chat offre un contrôle total sur les données utilisateur et les conversations. La plate-forme prend en charge les applications natives, l'intégration transparente avec des applications tierces, la collaboration multicanale, l'accès avec connexion unique (SSO) basé sur SAML (Security Assertion Markup Language) et le contrôle de configuration à l'aide d'API.
Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) est un conteneur destiné à la gestion des utilisateurs et des rôles, à la fédération et au provisionnement des utilisateurs, à l'intégration sécurisée d'applications via la configuration Oracle SSO et à l'administration de fournisseurs d'identités SAML/OAuth (IdP).
Dans ce tutoriel, nous automatiserons l'installation de Rocket.Chat et intégrerons OCI IAM en tant que IdP pour SSO.
Objectifs
-
Utilisez la pile basée sur Terraform pour créer les ressources suivantes.
- Clé protégée par le module de sécurité matérielle et de fichier de clés.
- Certificats et autorités de certification.
- Instance OCI Compute sur laquelle héberger Rocket.Chat.
- Un équilibreur de charge OCI pour accéder à Rocket.Chat en toute sécurité.
-
Déployez automatiquement Rocket.Chat sur l'instance de calcul et ajoutez un équilibreur de charge créé dessus.
-
Configurez Rocket.Chat et créez une instance IdP basée sur SAML pour OCI IAM.
-
Testez le flux SSO entre OCI IAM et Rocket.Chat.
Prérequis
-
Abonnement OCI actif.
-
Domaine d'identité et compte d'administrateur dessus.
-
Familiarisez-vous avec OCI IAM et Terraform.
-
Un VCN existant et un sous-réseau public.
-
La liste de sécurité avec les ports suivants est ouverte pour le trafic entrant.
Type Port source CIDR source Port de destination Protocole Description Entrant Toutes 0.0.0.0/0 22 TCP SSH Entrant Toutes 0.0.0.0/0 3 000 TCP Pour le serveur Rocket.Chat Entrant Toutes 0.0.0.0/0 443 TCP Port HTTPS standard Entrant Toutes 0.0.0.0/0 80 TCP Trafic TCP pour les ports : 80
Tâche 1 : déploiement d'une pile pour installer Rocket.Chat et créer une application SAML à l'aide d'une pile Terraform automatisée
Rocket.Chat peut être déployé à l'aide de différentes méthodes. Pour ce tutoriel, nous avons utilisé l'option Déployer avec Docker et Docker Compose. Pour plus d'informations, voir Déployer Rocket.Chat.
Pour faciliter l'installation de Rocket.Chat, nous avons créé une pile d'automatisation Terraform. Cette pile :
- Créez une zone Linux hôte de forme VM.Standard.E2.1.
- Installez Rocket.Chat dessus.
- Créez un fichier de clés, une clé protégée HSM, une autorité de certification et un certificat pour la communication SSL (Secure Sockets Layer) sur Internet.
- Déployez un équilibreur de charge et configurez-le pour accéder à Rocket.Chat via SSL.
- Créez une application SAML sous un domaine d'identité existant.
Remarque : veillez à vérifier les limites de service sur les ressources à créer avant l'exécution de la pile liée. Pour plus d'informations, reportez-vous à Limites d'IAM avec domaines d'identité.
-
Téléchargez la pile complète Rocket.Chat à partir d'ici : Full_Stack_Rocket.Chat.zip.
Une fois le fichier ZIP de pile complète Rocket.Chat téléchargé, décompressez le fichier et remplacez le contenu du fichier
-rchat.pem
par le contenu respectif de la clé privée.Remarque : utilisez OCI Resource Manager à partir de la console OCI pour déployer la pile afin d'éviter tout échec.
-
Connectez-vous à la console OCI en tant qu'administrateur, accédez à Services de développeur et, sous Resource Manager, cliquez sur Piles.
-
Sélectionnez le compartiment et cliquez sur Créer une pile. Dans la section Configurations de pile, sélectionnez le fichier ZIP de pile téléchargé à l'étape 1 pour déployer la pile, puis cliquez sur Suivant.
-
Sur la page Configurer les variables, entrez les détails requis pour créer une instance de calcul et d'autres ressources, puis cliquez sur Suivant.
Remarque : pour créer une instance de calcul et un équilibreur de charge, vous avez besoin d'un VCN existant avec une connectivité publique.
-
Sur la page Vérifier, vérifiez les détails fournis et cliquez sur Créer.
-
Sur la page Détails de la pile, cliquez sur Planifier. Vous devez obtenir une sortie Success.
-
Sur la page Détails de la pile, cliquez sur Appliquer. Vous devez obtenir une sortie Success.
-
Vous pouvez trouver un équilibreur de charge attaché à l'instance de calcul hébergeant Rocket.Chat et une application SAML dans votre domaine IAM après l'exécution réussie de la pile.
Remarque : l'exécution de la pile peut prendre environ 40 minutes. Attendez que le travail réussisse.
Tâche 2 : configurer le compte d'administration Rocket.Chat
Dans cette tâche, nous mettrons à jour le fichier hosts sur notre système local, puis validerons les ressources déployées.
Pour Windows : C:\Windows\System32\Drivers\etc\hosts
.
Pour Linux : /etc/hosts
Public IP Address of Load Balancer your-domain-name.com
Accédez à Rocket.Chat à l'adresse https://your-domain-name.com:443
et vous serez redirigé vers la page de configuration.
Remarque : gardez le mot de passe d'administrateur sécurisé, nous en aurons besoin lors de la création d'un IdP SAML dans Rocket.Chat.
Tâche 3 : créer un SAML IdP dans Rocket.Chat pour l'accès avec connexion unique
-
Connectez-vous à votre instance Rocket.Chat, accédez à Espace de travail et à Paramètres.
-
Dans la fenêtre Paramètres, entrez SAML et cliquez sur Ouvrir.
-
Sur la page Connexion, sélectionnez Activer. Entrez les détails suivants et cliquez sur Enregistrer les modifications. Si vous êtes invité à saisir le mot de passe d'administrateur, saisissez-le.
-
Fournisseur personnalisé : entrez
idcs
. -
Mettre à jour le point d'entrée personnalisé : Entrez votre point d'entrée personnalisé. Par exemple,
https://idcs-xxxx.identity.oraclecloud.com/fed/v1/idp/sso
. -
URL de réacheminement d'IDP SLO : entrez votre URL de réacheminement d'IDP SLO IdP. Par exemple,
https://idcs-xxxx.identity.oraclecloud.com/fed/v1/idp/slo
. -
Emetteur personnalisé : entrez un émetteur personnalisé. Par exemple,
https://your-domain-name.com/_saml/metadata/idcs
. -
Certificat personnalisé : téléchargez le certificat de signature à partir de l'application SAML créée à l'aide de la pile et copiez le contenu.
Remarque : Excluez les lignes BEGIN CERTIFICATE AND END CERTIFICATE.
-
Contenu de certificat public : copiez l'intégralité du contenu du certificat.
-
Type de validation de signature : sélectionnez Valider la signature d'assertion.
Remarque : utilisez la même valeur statique de fournisseur personnalisé, sinon l'authentification unique peut échouer car elle est référencée dans l'application SAML créée dans la tâche 1.
-
-
Sur la page Général, sous la section Interface utilisateur, mettez à jour le texte du bouton et d'autres détails si vous devez le modifier, puis cliquez sur Enregistrer les modifications.
Tâche 4 : test de SSO pour Rocket.Chat à l'aide d'OCI IAM
-
Ouvrez votre navigateur et entrez l'URL de Rocket.Chat
https://demo.rocketchat.com:443
. -
La page de connexion aux domaines d'identité OCI IAM apparaît. Utilisez le nom utilisateur et le mot de passe de l'utilisateur créé précédemment.
-
Une fois l'authentification réussie, l'utilisateur est redirigé vers la page d'accueil Rocket.Chat.
Remarque : vous devez avoir un utilisateur commun créé à la fois dans OCI IAM et dans Rocket.Chat avec la même adresse électronique.
Scénarios de dépannage courants pour Rocket.Chat SSO avec OCI IAM
-
Assurez-vous que l'option Autoriser le partage de ressources multiorigines (CORS) est activée sous Domaines, votre domaine, Paramètres et Paramètres de session.
-
Si le chargement de l'instance Rocket.Chat prend du temps, vous pouvez essayer d'utiliser SSH dans l'instance et redémarrer Docker Composer avec les commandes suivantes.
docker compose down docker compose up -d
Liens connexes
Remerciements
- Auteur - Chetan Soni (ingénieur solutions cloud)
Ressources de formation supplémentaires
Parcourez d'autres ateliers sur docs.oracle.com/learn ou accédez à davantage de contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, rendez-vous sur education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir de la documentation sur le produit, visitez Oracle Help Center.
Integrate Rocket.Chat with Identity Domains for Single Sign-On
G12056-03
August 2024