En el post de la semana pasada, te presenté el inicio de sesión único (SSO) en la plataforma Acumatica Cloud ERP, lo que permite una experiencia de autenticación de usuario más fluida para los usuarios. Proporcioné un tratamiento superficial de Active Directory de Microsoft y Azure Active Directory, centrándome en las soluciones de proveedores externos de Google y Microsoft en mayor profundidad. Entré en bastante detalle en la implementación de OAuth 2.0 de cada empresa. Creo que vale la pena un post de seguimiento, revisando y proporcionando más detalles sobre Azure Active Directory para completar.
Como he mencionado antes, puede habilitar fácilmente Active Directory de Microsoft, Azure Active Directory o Live ID de Microsoft, o los ID de cliente OAuth 2.0 de Google sin demasiado esfuerzo.
He habilitado Google y Microsoft como proveedores externos para que los usuarios inicien sesión en mi instancia de Acumatica y he añadido Azure Active Directory. Habiendo añadido estos tres, los usuarios que inicien sesión en el sistema verán la siguiente pantalla de inicio de sesión en la figura 1 a continuación.
Cuando los usuarios eligen uno de los proveedores externos, se les redirige automáticamente a la página de inicio de sesión del proveedor de identidad seleccionado cuando navegan a su instancia de Acumatica ERP. Además, puede mostrar formularios de Acumatica ERP dentro de sus otros sitios web. Por ejemplo, puede incrustar un vínculo al formulario Tareas (EP.40.40.00) dentro de la página de Office 365 de su empresa para ver y acceder a su lista de tareas de Acumatica ERP directamente en Office 365.
Para más detalles sobre la integración de Google o LiveID ver mi post anterior aquí.
Integración con Microsoft Active Directory
Acumatica admite la integración tanto con Microsoft Active Directory (AD) como con Microsoft Azure Active Directory (Azure AD) para proporcionar una gestión centralizada de usuarios y accesos. Una vez que estos productos se han integrado con Acumatica, los usuarios de dominio pueden utilizar sus credenciales de dominio para iniciar sesión en el sistema.
Al integrar Acumatica Cloud ERP y Azure Active Directory (Azure AD), sus usuarios disponen de inicio de sesión único en todas las aplicaciones. Los usuarios pueden acceder a la instancia de Acumatica ERP en función de su cuenta organizativa en Azure AD. Los derechos de acceso de los usuarios en Acumatica ERP se han aplicado automáticamente, basándose en las reglas de asignación predefinidas entre los grupos de Azure AD y los roles de Acumatica ERP.
Además, puede configurar el inicio de sesión silencioso. Con el inicio de sesión silencioso, los usuarios son redirigidos automáticamente a la pantalla de inicio de sesión de Azure cuando intentan acceder a la instancia de Acumatica ERP. Puede configurar la integración con Azure Active Directory cuando implemente Acumatica ERP o en cualquier momento posterior. Cuando un usuario de dominio inicie sesión en Acumatica, se creará automáticamente una cuenta de usuario adecuada dentro de Acumatica con las casillas de nombre de usuario y contraseña no disponibles y con roles de usuario que coincidan con los grupos de dominio de AD.
Activación de Microsoft Active Directory
Lo primero que debe hacer para habilitar Active Directory es crear una cuenta de usuario de Active Directory que tenga derechos de Lectura en todo el bosque de AD. Esta cuenta de usuario debe tener al menos derechos de Lectura para las siguientes propiedades definidas en el esquema de Active Directory:
objectSid, distinguishedName, sAMAccountName, displayName, description, lastLogon, pwdLastSet, primaryGroupID y memberOf
.
A continuación, deberá realizar algunas modificaciones en el archivo Web.config de la instancia de la aplicación que desea integrar con Active Directory:
<system.web>
<activeDirectory enabled=”true” path=”domain_path” dc=”domain_name”
user=”user_name” password=”user_password” />
</system.web>
El parámetro path="domain_path" es obligatorio y debe ser la ruta de su servidor AD. El parámetro dc="nombre_dominio" es opcional y necesario sólo en el caso de que tenga más de un dominio en el bosque. Las credenciales de la cuenta de usuario pertenecen a la cuenta de usuario que ha creado en el paso anterior.
Como nota al margen, si integra Acumatica con los servicios de federación de Active Directory, también debe configurar la autenticación basada en reclamaciones.
Después de habilitar Active Directory, deberá asignar los grupos de Active Directory a los roles de usuario definidos en Acumatica ERP utilizando el formulario Roles de usuario (SM.20.10.05) - consulte según sea necesario la documentación de ayuda apropiada de su instancia de aplicación. Tenga en cuenta que habilitar la integración de Active Directory NO afecta el mecanismo estándar de autorización y autenticación de Acumatica. Con la integración de Active Directory habilitada, aún puede crear usuarios normales (no AD) en Acumatica.
Una vez completados estos pasos, los usuarios de dominio pueden iniciar sesión en Acumatica utilizando sus credenciales de dominio.
Habilitación de Microsoft Azure Active Directory
Puede configurar la integración con Azure Active Directory cuando implemente Acumatica Enterprise Resource Planning (ERP) o en cualquier momento posterior. Cuando un usuario de dominio inicie sesión en Acumatica ERP, se creará automáticamente una cuenta de usuario adecuada dentro de Acumatica ERP con los cuadros de nombre de usuario y contraseña no disponibles y con roles de usuario que coincidan con los grupos de dominio de AD.
Usuarios Locales y de Dominio
Una vez que hayas configurado la integración, algunos empleados tendrán tanto cuentas de usuario locales en Acumatica ERP como cuentas creadas automáticamente para estos empleados como usuarios de dominio. Puede eliminar las cuentas locales de los empleados que no realizan tareas de administración y configuración en Acumatica ERP. Las políticas de contraseña vigentes para los usuarios locales creados en Acumatica ERP no afectan a los usuarios de dominio. Por ejemplo, un usuario que haya iniciado sesión en Acumatica ERP como usuario de dominio de Active Directory no podrá cambiar la contraseña mediante Acumatica ERP. Sólo las políticas de contraseñas de dominio afectan a los usuarios de dominio.
Los nuevos usuarios de dominio obtendrán automáticamente el derecho a iniciar sesión en Acumatica ERP una vez que se unan a un dominio de Active Directory. Su membresía en los roles de Acumatica ERP se actualizará automáticamente para cumplir con la membresía de esos usuarios en los grupos de dominio de Active Directory. Si es necesario, puede asignar los usuarios a los diversos roles de Acumatica ERP independientemente de los grupos de dominio de Active Directory utilizando el formulario Roles de usuario (SM.20.10.05) como se mencionó anteriormente.
Para Azure Active Directory, primero registrarás tu instancia de Acumatica ERP en el Azure Portal y obtendrás las credenciales de OAuth 2.0 y registrarás el ID de cliente y el secreto de cliente (contraseña) que obtuviste para habilitar el inicio de sesión único con Azure Active Directory. Luego tendrás que asignar los grupos de Azure AD a los roles de Acumatica ERP de la misma manera que se mencionó anteriormente.
Para empezar, basta con ir a https://azure.microsoft.com. Véase la Figura 2 a continuación. Si no tienes una cuenta Azure, puedes empezar con una prueba gratuita (1) y hacer algunas pruebas iniciales. Esto es lo que hice para ser capaz de probar y trabajar a través de la integración de Azure Directory a mí mismo con el fin de escribir sobre ello aquí. Tenga en cuenta en este momento, que están en transición a un nuevo portal (2). Algunas de las funcionalidades avanzadas de Azure sólo están disponibles en el nuevo portal.
Después de obtener una cuenta, puedes registrar la instancia de Acumatica, configurar tu directorio, etc. A continuación se muestra el nuevo panel de control del portal de Azure en el que se gestionan varios servicios y recursos. Simplemente haga clic en Azure Active Directory en el panel de la izquierda hacia la parte inferior(Figura 3), y usted puede comenzar su habilitación de Azure AD.
Registro de la instancia de Acumatica con Azure AD
Además de gestionar su dominio AD a través del portal, tendrá que registrar su instancia particular de Acumatica. Después de seleccionar Azure Active Directory en el portal, debería aparecer la siguiente pantalla, tal y como se muestra en la Figura 4.
Ahora seleccione App Registrations en MANAGE en el panel izquierdo como se muestra arriba. En primer lugar, observe que tengo dos aplicaciones ya registradas ( Figura 5). Estas las creé anteriormente cuando probaba/experimentaba con mi implementación hace un par de semanas (1). Pero vamos a añadir un nuevo registro (2), y nombrar la instancia de la aplicación y especificar el tipo de aplicación y la URL de inicio de sesión (3). Ten en cuenta que la URL de inicio de sesión es mi instancia particular de Acumatica que se ejecuta en la nube, no mi instancia local. A diferencia del caso de LiveID de la publicación de la semana pasada, deberá tener una instancia de Acumatica ejecutándose en la nube y accesible para habilitar Azure AD con su instancia de Acumatica.
Después de añadir y rellenar los campos requeridos, arriba - haga clic en Crear y su registro está casi completo. Ahora notará que necesitará crear Claves para la instancia de la aplicación formando su secreto o contraseña que se genera automáticamente. Vea abajo en la Figura 6.
La pantalla anterior se presenta después de que el portal se registre y genere el identificador único de la aplicación. Que se muestra en el panel central izquierdo (1). Haga clic en la aplicación recién registrada y se mostrarán los detalles de la instancia (2) y el panel Configuración - en el extremo derecho. Ahora deberá seleccionar Claves (3) para generar su secreto/contraseña.
Rellene la descripción de la Clave, seleccione Expiración (1) y haga clic en Guardar (2). En este punto, aparecerá tu valor Secreto y deberás copiarlo inmediatamente, ya que cuando te muevas del panel Claves, no volverá a ser visible. Si no lo haces, tendrás que borrar tu instancia y empezar de nuevo. No querrás hacer eso.
Bien, ahora los pasos finales de habilitación y habrás terminado - si todo está configurado correctamente y tienes todas las piezas en su lugar.
Configuración de su instancia de Acumatica ERP
The matter remaining is adding the necessary web.config settings and testing. After you have obtained the required credentials from Azure AD portal, you have to register these credentials in your Acumatica ERP instance. Modify the Acumatica instance’s web.config by opening the file from the site’s instance location. The file is usually located in %Program Files%\ Acumatica ERP\<instance name>, where <instance name> is the name of the application instance website. Next, enable Azure AD integration byt adding the following parameters shown below in the ActiveDirectory section located under <system.web> of the web.config file:
<activeDirectory enabled=”true” protocol=”ADAL”
path=”tenant id@OnMicrosoft.com”
user=”application id”
password=”application secret“/>
Para aclarar, tu ID de inquilino es tu dominio (en mi caso es acumatica@OnMicrosoft.com.) El usuario y la contraseña son los que guardaste en el proceso de registro que vimos anteriormente.
Luego, en la sección System.identityModel del archivo web.config, agrega una referencia a tu instancia de Acumatica ERP, como se muestra a continuación.
<system.identityModel>
<identityConfiguration>…
…
<audienceUris>
<add value=”Acumatica instance URL” />
</audienceUris>
…
</identityConfiguration>
</system.identityModel>
Ahora, añade las siguientes referencias a la sección System.identityModel.services del web.config, como se muestra a continuación:
<system.identityModel.services>
<federationConfiguration>
<wsFederation passiveRedirectEnabled=”false”
issuer=”https://login.windows.net/tenant id.onmicrosoft.com/wsfed”
realm=”Acumatica instance URL”
requireHttps=”false” PersistentCookiesOnPassiveRedirects=”false” />
</federationConfiguration>
</system.identityModel.services>
Una vez más, el ID de inquilino es su dominio como se mencionó anteriormente. Después de terminar con las configuraciones anteriores, guarda el archivo web.config. Ahora que has terminado de habilitar Azure Active Directory, debes mapear los grupos de Azure AD a los roles en tu instancia de Acumatica ERP. Esto fue descrito anteriormente en la sección de Microsoft Active Directory.
Por último, puede ejecutar su instancia de Acumatica y también verá que la página de inicio de sesión de Acumatica mostrará un icono de Azure AD, como se muestra a continuación en la figura 8.
Después de hacer clic en el icono Azure AD, arriba... En en Acumatica y feliz como una perdiz - Figura 9, abajo.
Resumen
A medida que proliferan los sistemas informáticos de apoyo a los procesos empresariales, los usuarios se ven obligados a recordar un número cada vez mayor de credenciales. Los usuarios suelen iniciar sesión en muchos sistemas, cada uno de los cuales implica a menudo diferentes nombres de usuario e información de autenticación. Los administradores se enfrentan a la gestión de cuentas de usuario para cada sistema al que acceden sus usuarios, que deben coordinarse para mantener la integridad de la aplicación de la política de seguridad de una organización.
Estas son algunas de las ventajas que hay que tener en cuenta a la hora de implantar el inicio de sesión único:
- Mejora de la seguridad gracias a que los usuarios no tienen que recordar varios conjuntos de credenciales.
- Reducción del tiempo de inicio de sesión en los sistemas a dominios individuales, teniendo en cuenta los fallos de inicio de sesión debidos a lagunas de memoria.
- Reducción de los costes de TI gracias al menor número de llamadas al servicio de asistencia de TI para restablecer contraseñas.
- Comodidad para el usuario y usuarios satisfechos
Esto completa nuestra discusión sobre SSO por ahora. A medida que el panorama siga evolucionando, volveremos sobre el tema y tendremos más conocimientos que impartirle/transferirle -que esperamos que encuentre oportunos e informativos-, ayudándole a hacer uso de nuestra plataforma tecnológica para resolver sus retos empresariales y reducir sus costes operativos -ganando ineficiencias y agilidades-.