Note:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse en una cuenta gratuita, consulte Introducción a la cuenta gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al completar el laboratorio, sustituya estos valores por otros específicos de su entorno en la nube.
Integrar Rocket.Chat con dominios de identidad para conexión única
Introducción
Rocket.Chat es una plataforma de comunicación de código abierto segura y altamente personalizable para organizaciones con problemas de seguridad y privacidad sofisticados. Rocket.Chat proporciona un control total de los datos de usuario y las conversaciones. La plataforma soporta aplicaciones nativas, integración perfecta con aplicaciones de terceros, colaboración entre canales, conexión única (SSO) basada en lenguaje de marcado de afirmación de seguridad (SAML) y control de configuración mediante API.
Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) es un contenedor para gestionar usuarios y roles, federar y aprovisionar usuarios, integrar aplicaciones de forma segura mediante la configuración de Oracle SSO y administrar el proveedor de identidad (IdP) basado en SAML/OAuth.
En este tutorial, automatizaremos la instalación de Rocket.Chat e integraremos OCI IAM como su IdP para SSO.
Objetivos
-
Utilice la pila basada en Terraform para crear los siguientes recursos.
- Clave protegida por el almacén de claves y el módulo de seguridad de hardware (HSM).
- Certificados y autoridades de certificación (CA).
- Una instancia de OCI Compute para alojar Rocket.Chat.
- Un equilibrador de carga de OCI para acceder a Rocket.Chat de forma segura.
-
Despliegue automático de Rocket.Chat en la instancia informática y agregue un equilibrador de carga creado encima.
-
Configure Rocket.Chat y cree un IdP basado en SAML para OCI IAM.
-
Pruebe el flujo de SSO entre OCI IAM y Rocket.Chat.
Requisitos
-
Una suscripción activa a OCI.
-
Dominio de identidad y cuenta de administrador en él.
-
Familiarícese con OCI IAM y Terraform.
-
Una VCN existente y una subred pública.
-
Lista de seguridad con los siguientes puertos abiertos para el tráfico de entrada.
Tipo Puerto de origen CIDR de origen Puerto de Destino Protocolo Descripción Entrada Todas 0.0.0.0/0 22 TCP SSH Entrada Todas 0.0.0.0/0 3000 TCP Para el servidor Rocket.Chat Entrada Todas 0.0.0.0/0 443 TCP Puerto HTTPS estándar Entrada Todas 0.0.0.0/0 80 TCP Tráfico TCP para puertos: 80
Tarea 1: Despliegue de una pila para instalar Rocket.Chat y crear una aplicación SAML mediante una pila de Terraform automatizada
Rocket.Chat se puede desplegar mediante diferentes métodos. Para este tutorial, hemos utilizado la opción Desplegar con Docker y Docker Compose. Para obtener más información, consulte Despliegue de Rocket.Chat.
Para facilitar la instalación de Rocket.Chat, hemos creado una pila de automatización de Terraform. Esta pila:
- Cree una caja de host Linux de la unidad VM.Standard.E2.1.
- Instale Rocket.Chat en él.
- Cree un almacén de claves, una clave protegida por HSM, una autoridad de certificación y un certificado para la comunicación de capa de conexión segura (SSL) a través de Internet.
- Despliegue un equilibrador de carga y configúrelo para acceder a Rocket.Chat a través de SSL.
- Cree una aplicación SAML en un dominio de identidad existente.
Nota: Asegúrese de comprobar los límites de servicio de los recursos que se van a crear antes de la ejecución de la pila enlazada. Para obtener más información, consulte IAM con límites de dominios de identidad.
-
Descargue la pila completa Rocket.Chat desde aquí: Full_Stack_Rocket.Chat.zip.
Una vez descargado el archivo zip de pila completa Rocket.Chat, descomprima el archivo y sustituya el contenido del archivo
-rchat.pem
por el contenido correspondiente de la clave privada.Nota: Utilice OCI Resource Manager desde la consola de OCI para desplegar la pila para evitar fallos.
-
Conéctese a la consola de OCI como usuario administrador, vaya a Developer Services y, en Resource Manager, haga clic en Pilas.
-
Seleccione el compartimento y haga clic en Crear pila. En la sección Configuraciones de pila, seleccione el archivo zip de pila descargado en el paso 1 para desplegar la pila y haga clic en Siguiente.
-
En la página Configurar variables, introduzca los detalles necesarios para crear una instancia informática y otros recursos y haga clic en Siguiente.
Nota: Para crear una instancia informática y un equilibrador de carga, necesitará una VCN existente con conectividad pública.
-
En la página Revisar, revise los detalles proporcionados y haga clic en Crear.
-
En la página Detalles de pila, haga clic en Plan. Debe obtener una salida Correcto.
-
En la página Detalles de pila, haga clic en Aplicar. Debe obtener una salida Correcto.
-
Puede encontrar el equilibrador de carga asociado a la instancia informática que aloja Rocket.Chat y una aplicación SAML en el dominio de IAM después de la ejecución correcta de la pila.
Nota: La pila puede tardar unos 40 minutos en ejecutarse. Espere hasta que el trabajo se realice correctamente.
Tarea 2: Configurar la cuenta de administrador de Rocket.Chat
En esta tarea, actualizaremos el archivo de hosts en nuestro sistema local y, a continuación, validaremos los recursos desplegados.
Para Windows: C:\Windows\System32\Drivers\etc\hosts
.
Para Linux: /etc/hosts
Public IP Address of Load Balancer your-domain-name.com
Acceda a Rocket.Chat en https://your-domain-name.com:443
y se le redirigirá a la página de configuración.
Nota: Mantenga la contraseña de administrador segura, la necesitaremos al crear un SAML IdP en Rocket.Chat.
Tarea 3: Creación de un SAML IdP en Rocket.Chat para Single Sign-On
-
Conéctese a la instancia Rocket.Chat, vaya a Espacio de trabajo y Configuración.
-
En la ventana Configuración, introduzca SAML y haga clic en Abrir.
-
En la página Conexión, seleccione Activar. Introduzca los siguientes detalles y haga clic en Guardar cambios. Si se solicita la contraseña del administrador, introduzca la contraseña.
-
Proveedor personalizado: introduzca
idcs
. -
Actualizar punto de entrada personalizado: introduzca el punto de entrada personalizado. Por ejemplo,
https://idcs-xxxx.identity.oraclecloud.com/fed/v1/idp/sso
. -
URL de redirección de SLO de IDP: introduzca la URL de redirección de SLO IdP. Por ejemplo,
https://idcs-xxxx.identity.oraclecloud.com/fed/v1/idp/slo
. -
Emisor personalizado: introduzca el emisor personalizado. Por ejemplo,
https://your-domain-name.com/_saml/metadata/idcs
. -
Certificado personalizado: descargue el certificado de firma de la aplicación SAML creada mediante la pila y copie el contenido.
Nota: Excluya las líneas de BEGIN CERTIFICATE Y END CERTIFICATE.
-
Contenido de certificado público: copie todo el contenido del certificado.
-
Tipo de validación de firma: seleccione Validar firma de afirmación.
Nota: Utilice el mismo valor estático del proveedor personalizado; de lo contrario, el SSO podría fallar como se hace referencia en la aplicación SAML creada en la tarea 1.
-
-
En la página General, en la sección Interfaz de usuario, actualice el texto del botón y otros detalles si necesita cambiarlo y haga clic en Guardar cambios.
Tarea 4: Prueba de SSO para Rocket.Chat mediante OCI IAM
-
Abra el explorador e introduzca la URL de Rocket.Chat
https://demo.rocketchat.com:443
. -
Aparece la página de conexión de dominios de identidad de OCI IAM. Utilice el nombre de usuario y la contraseña del usuario creado anteriormente.
-
Tras la autenticación correcta, se redirige al usuario a la página inicial Rocket.Chat.
Nota: Debe tener un usuario común creado tanto en OCI IAM como en Rocket.Chat con la misma dirección de correo electrónico.
Escenarios comunes de solución de problemas para SSO de Rocket.Chat con OCI IAM
-
Asegúrese de tener Permitir uso compartido de recursos de origen cruzado (CORS) activado en Dominios, su dominio, Configuración y Configuración de sesión.
-
Si la instancia Rocket.Chat tarda tiempo en cargarse, puede intentar utilizar SSH en la instancia y reiniciar la redacción de Docker con los siguientes comandos.
docker compose down docker compose up -d
Enlaces relacionados
Agradecimientos
- Autor: Chetan Soni (ingeniero de soluciones en la nube)
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en Oracle Learning Explorer.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Integrate Rocket.Chat with Identity Domains for Single Sign-On
G12054-03
August 2024