paint-brush
Navegando por las integraciones de Microsoft Entra ID para Slack, MongoAtlas, Salesforce y máspor@socialdiscoverygroup
436 lecturas
436 lecturas

Navegando por las integraciones de Microsoft Entra ID para Slack, MongoAtlas, Salesforce y más

por Social Discovery Group9m2023/12/27
Read on Terminal Reader

Demasiado Largo; Para Leer

Microsoft Entra ID es una solución fácil de usar para la gestión de identidades y accesos. Sin embargo, a pesar de las instrucciones meticulosamente expuestas de los proveedores, los especialistas suelen encontrar problemas al configurar integraciones con plataformas como Slack, Salesforce o Datadog. El equipo de los ODS también enfrentó estos desafíos y, en este artículo, ofreceremos ideas sobre cómo afrontarlos y resolverlos.
featured image - Navegando por las integraciones de Microsoft Entra ID para Slack, MongoAtlas, Salesforce y más
Social Discovery Group HackerNoon profile picture
0-item


En la era del rápido avance de la tecnología de la nube, donde la infraestructura como servicio (IaaS) y la plataforma como servicio (PaaS) son parte integral de numerosos proyectos, la demanda de una integración perfecta de diversos servicios en la nube es innegable. Microsoft, un actor importante en este panorama, invirtió un tiempo considerable en crear el servicio Microsoft Entra ID fácil de usar. Sin embargo, a pesar de las instrucciones meticulosamente expuestas de los proveedores, los especialistas suelen encontrar problemas al configurar integraciones con plataformas como Slack, Salesforce o Datadog. La documentación se queda corta a la hora de proporcionar respuestas a preguntas específicas.


El equipo de Social Discovery Group también enfrentó estos desafíos y, en este artículo, ofreceremos información sobre cómo navegarlos y resolverlos.

En su cartera de más de 50 plataformas de citas, Social Discovery Group utiliza diversas tecnologías y servicios en la nube para garantizar su seguridad y confiabilidad. Contamos con amplia experiencia en la integración y configuración de diferentes sistemas, incluidas conexiones peer-to-peer entre varias nubes.


Microsoft Entra ID es una solución en la nube para la gestión de identidades y accesos, que actúa como un servicio de directorio y autenticación que opera en la nube. Microsoft Entra ID ofrece servicios de autenticación y autorización para varios servicios de Microsoft y de terceros. En este artículo, exploraremos la integración de los siguientes sistemas en la nube: Slack, MongoAtlas, ElasticCloud, Salesforce y Datadog.


Flojo

Ante la falta de una guía precisa, decidimos crear la nuestra propia, detallando todos los quebraderos de cabeza que surgieron en el camino. Entonces, naveguemos a la sección "Aplicación empresarial" en Azure.

Aplicación empresarial, Azure


Es necesario crear una nueva aplicación corporativa (esto se puede hacer con unos pocos clics). A continuación, acceda a la aplicación que acabamos de crear y configure Single Sign-On – SAML. Realice cambios de arriba a abajo:


  1. Identificador: https://slack.com
  2. URL de respuesta: https://<NOMBRE DE DOMINIO>.slack.com/sso/saml (en caso de que haya ingresado a Grid: https://<NOMBRE DE DOMINIO>.enterprise.slack.com/sso/saml)
  3. URL de inicio de sesión: https://<NOMBRE DE DOMINIO>.slack.com/sso/saml/start
  4. URL de cierre de sesión: https:// <NOMBRE DE DOMINIO>.slack.com/sso/saml/logout

Cree un rol de "Miembro" (o elija otro nombre). A continuación, cree un usuario de prueba en Microsoft Entra ID y agréguelo a nuestra aplicación. Luego, vaya al Centro de administración en Slack. Siga los pasos: Slack Admin - Autenticación - Configuración SAML - Configurar


Centro de administración en Slack


El siguiente paso es configurar SAML. Recomendamos prestar atención a la configuración "Nombre para mostrar". Además, en la configuración, desmarque "Actualizar perfil al iniciar sesión", no permita cambiar la dirección de correo electrónico y el nombre para mostrar.

Configuración SAML


También existe una opción para personalizar el texto en el botón de inicio de sesión y prohibir a los usuarios iniciar sesión utilizando cualquier otro método excepto SSO. Después de esto, deberías poder iniciar sesión en Slack usando tu cuenta de Microsoft. Si se necesitan campos o configuraciones adicionales, esto se puede hacer a través de Azure AD Provision.


Provisión de Azure AD


Provisión de Azure AD


Para agregar un nuevo atributo, vaya a Atributos de usuario y seleccione Agregar nueva asignación. Elija el atributo de origen que desee que se muestre en Slack y asócielo con el atributo de Slack correspondiente.


Atributos de usuario

Atributos de usuario


Después de agregar los atributos necesarios y guardar la configuración, continúe con Provision on Demand para probar la funcionalidad. Si obtiene un resultado positivo, recibirá lo siguiente:


Provisión bajo demanda, resultado exitoso


A continuación, debe ir a Slack y especificar qué atributos mostrar en el perfil de usuario completo y dónde recuperarlos. Vaya a Perfiles y elija la información que se mostrará y de dónde se obtendrá. En este caso SCIM corresponde a Azure AD.


Perfiles flojos


Perfiles flojos


A continuación, recomendamos agregar los usuarios necesarios de Active Directory a Slack para experimentar una integración perfecta. También queremos llamar la atención sobre un problema encontrado al eliminar usuarios: si un usuario se elimina manualmente de Slack (a través del centro de administración de Slack), persistirá un error que indica que el usuario no puede transferirse a Slack debido a permisos insuficientes. Esto ocurre porque Entra ID retiene información sobre los usuarios dentro del alcance y les asigna una identificación única. Entra ID percibe que eliminar y volver a agregar un usuario en Slack es un usuario nuevo, lo que genera problemas de permisos durante las actualizaciones.


Consulta la documentación aquí .


MongoAtlas

Para MongoAtlas, el proceso sigue un camino similar. También necesitarás crear una nueva aplicación corporativa; para mayor facilidad, ingrese "MongoDB Atlas — SSO" en el campo de búsqueda. Puede encontrar instrucciones más detalladas aquí.


A continuación, vaya a la configuración de Inicio de sesión único, donde deberá ingresar lo siguiente:

  1. En el campo de texto "Identificador", ingrese la URL usando la siguiente plantilla: https://www.okta.com/saml2/service-provider/<Customer_Unique>

  2. En el campo de texto "URL de respuesta", ingrese la URL usando la plantilla:

    https://auth.mongodb.com/sso/saml2/<Cliente_Único>

  3. En el campo de texto "URL de inicio de sesión", ingrese la URL usando la plantilla: https://cloud.mongodb.com/sso/<Customer_Unique>

Recomendamos prestar atención a la sección Atributos y configurarla como se muestra en la siguiente captura de pantalla (era imprescindible agregar "memberOf").


Sección de atributos


A continuación, en la página "Configuración del inicio de sesión único con SAML", vaya a la sección "Certificado de firma SAML" y busque los metadatos XML para la federación. Seleccione "Descargar" para descargar el certificado y guardarlo localmente (XML de metadatos de federación). Lo necesitaremos más adelante en MongoDB Atlas.


Certificados SAML


Configuración de MongoDB Atlas: SSO


En la sección "Configuración de MongoDB Atlas - SSO", copie las URL respectivas. A continuación, navegue hasta MongoDB Atlas -> Organización -> Configuración -> Configuración de autenticación federada .


Configuración de autenticación federada


Comience agregando el proveedor de credenciales Microsoft Entra ID en Atlas. Ingrese las URL respectivas mencionadas en el paso anterior desde el portal de Microsoft (URI del emisor, URL de inicio de sesión, URL de inicio de sesión único) , cargue el Certificado de firma del proveedor de identidad y configure las configuraciones restantes como se muestra en la captura de pantalla a continuación .


Certificado de firma del proveedor de identidad


Haga clic en "Siguiente" y guarde el archivo de metadatos localmente, ya que deberá cargarlo más adelante en Azure en la página de configuración de inicio de sesión único.


Validación de dominio


A continuación, agregue, asigne y valide el dominio, por ejemplo, utilizando los registros TXT correspondientes generados en MongoDB Atlas. Después de eso, vincula tu dominio con el proveedor de credenciales y pasa a la parte más interesante: la configuración de roles.


Proveedores de identidad


Hemos creado los siguientes roles como ejemplo, cada uno con permisos específicos otorgados a proyectos. Luego, debe asignar estos roles a roles de Azure. Vaya a "Roles de aplicación" para su aplicación, cree y agregue roles con valores que coincidan exactamente con los nombres que acaba de asignar a estos roles en MongoAtlas.


Asignaciones de roles


Roles de la aplicación


Luego, agregue usuarios a la aplicación en la aplicación empresarial Microsoft Entra ID y asígneles las funciones adecuadas. Active "Iniciar sesión con Azure SSO" en la sección Gestión de federaciones en MongoDB Atlas y verifique el correcto funcionamiento de los ajustes configurados.

Consulte la documentación aquí para obtener instrucciones más detalladas.

Nube elástica

Pasemos a la integración con Elastic Cloud. Los pasos fundamentales para crear una aplicación en Enterprise Application Entra ID son similares a los anteriores. Allí podrá encontrar información sobre dónde obtener el Identificador o la URL de cierre de sesión. Sin embargo, encontramos un problema con los atributos, por lo que proporcionaremos una captura de pantalla de nuestra configuración de trabajo.


Nube elástica, atributos


Atributos


Creamos dos roles: lector y superusuario.


Roles


Aquí puedes crear tantos roles como necesites. La configuración de roles en Elasticsearch se configura en Asignaciones de roles y tiene el siguiente aspecto:


Mapeos de roles


Ahora viene la parte interesante. Es necesario hacer dos cosas: agregar la configuración de SSO de Azure para Kibana y Elasticsearch. Para lograr esto, siga estos pasos:

  1. Navegue a la sección de edición de su implementación de Elasticsearch Cloud para actualizar la configuración de elasticsearch.yml. Agregue las siguientes líneas:


“ xpack:

security:

authc:

realms:

saml:

saml-azure-ad:

order: 2

attributes.principal: "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"

attributes.groups: "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/role"

attributes.name: "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"

attributes.mail: "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"

idp.metadata.path: "APP Federation metadata URL"

idp.entity_id: "Azure Entra ID Identifier"

sp.entity_id: "Kibana endpoint"

sp.acs: "Kibana endpoint/api/security/v1/saml"

sp.logout: "Kibana endpoint/logout" “

Después de agregar y modificar los valores resaltados en rojo para que coincidan con su configuración, haga clic en "Guardar". Elastic Cloud validará todos los cambios e iniciará la actualización del clúster. Este proceso puede tardar unos minutos.

  1. Después de completar exitosamente el paso anterior, debe editar la configuración de kibana.yml para permitir inicios de sesión desde Microsoft Entra ID además del inicio de sesión predeterminado. Para hacer esto, agregue las siguientes líneas a la configuración:

“ xpack.security.authc.providers:

saml.saml1:

order: 0

realm: saml-azure-ad

description: "Log in with Azure Entra ID"

basic.basic1:

order: 1 ”

Después de completar los dos pasos anteriores, debería estar disponible otra opción de inicio de sesión en su página de inicio de sesión de Kibana. A continuación, continúe agregando usuarios a la aplicación en la aplicación empresarial Microsoft Entra ID y asignándoles los roles necesarios.


Consulte la documentación aquí para obtener más información.



Fuerza de ventas

La integración con Salesforce fue un poco más compleja que las anteriores. Los pasos iniciales son similares, pero se debe prestar atención a la sección de Aprovisionamiento. Existen matices con respecto a la especificación de las credenciales de administrador bajo las cuales se producirá la sincronización de la cuenta, y es necesario habilitar la asignación de atributos.


Mapeo de atributos


Aquí hay un ejemplo de nuestros ajustes de configuración en la captura de pantalla. No encontramos ningún problema importante con los atributos, pero también proporcionaremos una captura de pantalla de los que utilizamos.


Atributos y reclamaciones


En Salesforce en sí, no hubo matices particulares y procedimos con los siguientes pasos como se describe en esta guía .


perro de datos

Durante la integración con Datadog, también encontramos algunos problemas. La documentación principal que nos guió se puede encontrar aquí . Para conocer los matices de solución de problemas, consultamos esta guía.


Todo empezó sin problemas y al principio parecía que no habría ningún problema. Como de costumbre, creamos una nueva aplicación empresarial en Microsoft Entra ID.


Aplicación empresarial en Microsoft Entra ID


En la sección "Configurar el inicio de sesión único con SAML", preste atención a la ubicación que seleccionó para su cuenta de Datadog. En nuestro caso, fue la región de Europa.


Configurar el inicio de sesión único con SAML


Como se mencionó anteriormente, para MongoAtlasDB, agregamos el atributo adicional "memberOf" para el mapeo de roles.


Atributo adicional "memberOf"


Guarde todas las configuraciones y descargue el XML de metadatos de federación. Cargue este archivo en la configuración de SAML en Datadog. Aquí hay un enlace conveniente como referencia. Configuración de Datadog SAML (reemplace "UE" con la zona de dominio adecuada si su ubicación es diferente). Debería verse como la captura de pantalla a continuación.


Configuración de SAML de Datadog


En la configuración de Métodos de inicio de sesión de la organización, conserve solo lo necesario (en mi caso, desactivé el inicio de sesión con contraseña y Google Authenticate). Agregue roles en Azure en el registro de la aplicación para Microsoft Entra ID.


Roles en el registro de la aplicación.


Aquí viene la parte más interesante. Navegue a Asignaciones de grupos SAML -> Asignaciones de roles en Datadog y agregue la clave, el valor y el rol. Parece sencillo. Vea la captura de pantalla a continuación.


Asignaciones de roles en Datadog


Pero no funciona y sigue dando el error "No hay AuthNMappings para este usuario".


Error del perro de datos


Durante bastante tiempo, intentamos comprender qué estábamos haciendo mal, revisando toda la documentación, los registros y las páginas de solución de problemas. Desafortunadamente, no se mencionó esto en ninguna parte. Al final, la solución es sencilla: sigue la configuración que se muestra en la siguiente captura de pantalla.


Clave de atributo de perro de datos


En el campo CLAVE, ingrese la cadena: http://schemas.microsoft.com/ws/2008/06/identity/claims/role

Después de hacer esto, todo empezó a funcionar correctamente.


"Esta es solo una pequeña parte de los sistemas que integramos con Microsoft Entra ID. Esperamos que los conocimientos compartidos aquí sirvan como un recurso útil, agilicen sus procesos de integración y ahorren tiempo valioso. En conclusión, las siguientes ventajas de usar Microsoft Se puede destacar Entra ID: inicio de sesión único, que no requiere ingresar la contraseña varias veces; no se requieren componentes adicionales; facilidad de configuración y administración; políticas de grupo y grupos; registro de dispositivos; y seguridad de alto nivel.