Note :
- Ce tutoriel nécessite l'accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, voir Introduction à l' niveau gratuit d'Oracle Cloud Infrastructure.
- Il utilise des exemples de valeurs pour les données d'identification, la location et les compartiments Oracle Cloud Infrastructure. À la fin de votre laboratoire, remplacez ces valeurs par celles propres à votre environnement en nuage.
Intégrer Rocket.Chat aux domaines d'identité pour l'authentification unique
Présentation
Rocket.Chat est une plate-forme de communication open source sécurisée et hautement personnalisable pour les organisations ayant des problèmes de sécurité et de confidentialité sophistiqués. Rocket.Chat fournit un contrôle total sur les données et les conversations des utilisateurs. La plate-forme prend en charge les applications natives, l'intégration transparente avec des applications de tierce partie, la collaboration intercanal, l'authentification unique basée sur SAML (Security Assertion Markup Language) et le contrôle de la configuration à l'aide d'API.
Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) est un conteneur pour la gestion des utilisateurs et des rôles, la fédération et le provisionnement des utilisateurs, l'intégration sécurisée des applications au moyen de la configuration d'Oracle SSO et l'administration des fournisseurs d'identités basée sur SAML/OAuth (IdP).
Dans ce tutoriel, nous automatiserons l'installation de Rocket.Chat et intégrerons OCI IAM en tant que IdP pour l'authentification unique.
Objectifs
-
Utilisez la pile basée sur Terraform pour créer les ressources suivantes.
- Clé protégée du magasin de clés et du module de sécurité matériel (HSM).
- Certificats et autorités de certification (CA).
- Une instance de calcul OCI pour 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éé au-dessus.
-
Configurez Rocket.Chat et créez une valeur IdP basée sur SAML pour OCI IAM.
-
Testez le flux d'authentification unique entre OCI IAM et Rocket.Chat.
Préalables
-
Un abonnement OCI actif.
-
Domaine d'identité et compte d'administrateur associé.
-
Connaissance du service IAM pour OCI et de Terraform.
-
Un VCN existant et un sous-réseau public.
-
Liste de sécurité avec les ports suivants ouverts pour le trafic entrant.
Type Port source CIDR source Port de destination Protocole Description Trafic entrant Tous 0.0.0.0/0 22 TCP SSH Trafic entrant Tous 0.0.0.0/0 3 000 TCP Pour le serveur Rocket.Chat Trafic entrant Tous 0.0.0.0/0 443 TCP Port HTTPS standard Trafic entrant Tous 0.0.0.0/0 80 TCP Trafic TCP pour les ports : 80
Tâche 1 : Déployer 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 va :
- Créez une zone Linux hôte de forme VM.Standard.E2.1.
- Installez Rocket.Chat dessus.
- Créez un magasin de clés, une clé protégée par le module de sécurité matériel, 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 par SSL.
- Créez une application SAML sous un domaine d'identité existant.
Note : Assurez-vous de vérifier les limites de service des ressources à créer avant l'exécution de la pile liée. Pour plus d'informations, voir Limites du service 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.Note : Utilisez le gestionnaire de ressources OCI à partir de la console OCI pour déployer la pile afin d'éviter tout échec.
-
Connectez-vous à la console OCI en tant qu'administrateur, naviguez jusqu'à Services de développement et, sous Gestionnaire de ressources, 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.
-
Dans la page Configurer des variables, entrez les détails requis pour créer une instance de calcul et d'autres ressources, puis cliquez sur Suivant.
Note : Pour créer une instance de calcul et un équilibreur de charge, vous aurez besoin d'un VCN existant doté d'une connectivité publique.
-
Dans la page Vérifier, vérifiez les détails fournis et cliquez sur Créer.
-
Dans la page Détails de la pile, cliquez sur Planifier. Vous devriez obtenir une sortie Réussite.
-
Dans la page Détails de la pile, cliquez sur Appliquer. Vous devriez obtenir une sortie Réussite.
-
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.
Note : 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 allons mettre à jour le fichier hosts sur notre système local, puis valider 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.
Note : Gardez le mot de passe de l'administrateur sécurisé, nous en aurons besoin lors de la création d'une adresse SAML IdP dans Rocket.Chat.
Tâche 3 : Créer un fichier SAML IdP dans Rocket.Chat pour l'authentification unique
-
Connectez-vous à votre instance Rocket.Chat, naviguez jusqu'à Espace de travail et Paramètres.
-
Dans la fenêtre Paramètres, entrez SAML et cliquez sur Ouvrir.
-
Dans la page Connexion, sélectionnez Activer. Entrez les détails suivants et cliquez sur Enregistrer les modifications. Si vous êtes invité à entrer le mot de passe de l'administrateur, entrez-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 redirection SLO du fournisseur d'identités : Entrez votre URL de redirection SLO IdP. Par exemple,
https://idcs-xxxx.identity.oraclecloud.com/fed/v1/idp/slo
. -
Émetteur personnalisé : Entrez l'é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.
Note : Excluez les lignes BEGIN CERTIFICATE et END CERTIFICATE.
-
Contenu du certificat public : Copiez le contenu entier du certificat.
-
Type de validation de signature : Sélectionnez Valider la signature d'assertion.
Note : Utilisez la même valeur statique de fournisseur personnalisé, sinon l'authentification unique risque d'échouer, car elle est référencée dans l'application SAML créée au cours de la tâche 1.
-
-
Dans la page Général, sous la section Interface utilisateur, mettez à jour le texte de bouton et d'autres détails si vous devez le modifier, puis cliquez sur Enregistrer les modifications.
Tâche 4 : Tester l'authentification unique pour Rocket.Chat à l'aide d'OCI IAM
-
Ouvrez votre navigateur et entrez l'URL pour Rocket.Chat
https://demo.rocketchat.com:443
. -
La page de connexion aux domaines d'identité IAM OCI s'affiche. Utilisez le nom d'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.
Note : Un utilisateur commun doit être créé à la fois dans OCI IAM et dans Rocket.Chat avec la même adresse de courriel.
Scénarios de dépannage courants pour l'authentification unique Rocket.Chat avec OCI IAM
-
Assurez-vous que l'option Autoriser le partage de ressources d'origine croisée (CORS) est activée sous Domaines, votre domaine, Paramètres et Paramètres de session.
-
Si le chargement de votre instance Rocket.Chat prend du temps, vous pouvez essayer SSH dans l'instance et redémarrer votre composition Docker à l'aide des commandes suivantes.
docker compose down docker compose up -d
Liens connexes
Confirmation
- Auteur - Chetan Soni (Ingénieur de solutions en nuage)
Autres ressources d'apprentissage
Explorez d'autres laboratoires sur la page docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal YouTube d'Oracle Learning. De plus, visitez 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
G12055-03
August 2024