Blog de Amazon Web Services (AWS)
AWS Single Sign-On (SSO), la próxima evolución
Contendido originalmente escrito por Steve Roberts, Evangelista Técnico.
La gestión eficiente de las identidades de los usuarios a gran escala requiere nuevas soluciones que conecten las fuentes de identidad mutua utilizadas por muchas organizaciones. A lo largo de su viaje en la nube, nuestros clientes eligen establecer una única fuente de identidad (IdP) como estrategia de acceso para el proveedor de servicios (sus propias aplicaciones, SaaS y AWS).
AWS anunció la próxima evolución de AWS Single Sign-On, que permite a las empresas que utilizan Azure AD aprovechar su almacenamiento de identidad existente con AWS SSO, así como la sincronización automática de identidades y grupos de usuarios. Ahora los usuarios pueden iniciar sesión en las distintas cuentas y aplicaciones que componen sus entornos de AWS utilizando la identidad única de Azure AD, sin necesidad de recordar nombres de usuario y contraseñas adicionales, y utilizarán la experiencia de inicio de sesión con la que estén familiarizados. Además, los administradores también pueden centrarse en administrar un único origen de identidad de usuario (IdP) en Azure AD y tener la comodidad de configurar el acceso a todas las cuentas y aplicaciones de AWS de una forma única y centralizada.
Imaginemos que soy administrador de una empresa que ya usa Azure AD para identidades de usuario y que ahora quiero administrar mis objetos en el entorno de AWS utilizando identidades existentes. No tengo interés en duplicar manualmente mis usuarios y grupos entre Azure AD y AWS Single Sign On y, en consecuencia, mantener dos proveedores de identidad, por lo que habilitaré la sincronización automática. Los usuarios de mi organización iniciarán sesión en el entorno de AWS utilizando la experiencia con la que ya están familiarizados (Azure AD). Para obtener más información acerca de cómo habilitar el inicio de sesión único para aplicaciones en Azure AD, haga clic aquí. Para obtener más información sobre la administración de permisos para cuentas y aplicaciones de AWS, consulte la Guía del usuario de AWS Single Sign-On.
Conexión de Azure AD como proveedor de identidades (IdP) a AWS Single Sign-On
Mi primer paso es conectar Azure AD con AWS Sigkle Signle Sign-On. Inicialmente, iniciaré sesión en Azure Portal desde mi cuenta y navegaré a la opción «Azure Active Directory». En el lado izquierdo, seleccionaré la opción «Aplicaciones empresariales»:
Así que selecciono la opción «+ Nueva aplicación», y luego «Aplicación no Gallery» *:
*Esta característica requiere Azure AD Premium.
Una vez seleccionada esta opción, aparecerá una nueva pestaña. En esta nueva pestaña, agregué el nombre «AWS Single Sign-On» * al nombre de mi aplicación y, a continuación, hice clic en «Agregar».
Después de unos segundos, se creará mi nueva aplicación y seré redirigido a la configuración de la aplicación:
* No hay necesidad de añadir el mismo nombre, puede ser aleatorio.
Ahora, configuraré la configuración para habilitar el inicio de sesión único e intercambiar metadatos de federación entre Azure AD y AWS SSO. Selecciono la opción «Inicio de sesión único»:
Luego haga clic en la opción «SAML»:
En esta siguiente pantalla, bajaré a la opción «3», luego descargaré al archivo XML de metadatos de federación. Usaré este archivo.xml para los siguientes pasos:
Con el archivo Federation Metadata .xml en la mano, iré a la consola de AWS Single Sign-On. A continuación, selecciono la opción «Habilitar AWS SSO». Después de aproximadamente 30 segundos, mi cuenta de AWS ya estará habilitada para el inicio de sesión único y, a continuación, puedo continuar con la configuración de confianza con Azure AD.
Antes de poder cambiar el proveedor de identidades (IdP) a Azure AD, selecciono la opción «Configuración» y, a continuación, en «Origen de identidad», la opción «Cambiar»:
Ahora, primero seleccionaré la opción «Proveedor de identidad externo»:
Para que la confianza sea exitosa, necesito seleccionar la opción de descarga para los metadatos de AWS SSO SAML . Utilizaré este archivo en el portal de Azure AD.
Luego tengo dos archivos.xml (uno recopilado de Azure y uno recopilado de AWS):
Ahora, necesito agregar el archivo XML recopilado de Azure AD al SSO de AWS (lo subiré en la opción de metadatos de Identity Provider):
Haga clic en «Siguiente: Revisar» y, a continuación, revisar la información de texto y confirmar el cambio del proveedor de identidad:
Una vez que seleccione la opción «Cambiar origen de identidad», se completa la configuración del grupo de AWS:
Ahora, de vuelta a Azure AD, seleccionaré la opción «Cargar archivo de metadatos» en la parte superior de la página de configuración. Esta vez, cargaré el archivo collected.xml en el portal de AWS y guardará la configuración:
Si ya tengo un usuario en AWS SSO con el mismo nombre de usuario (UPN) que Azure AD, ahora puedo probar la configuración seleccionando la opción «Probar esta aplicación»:
Una vez que comience la prueba, seré redirigido a la página del IdP (https://login.microsoftonline.com/):
Seleccionaré mi cuenta de AWS SSO existente (en este ejemplo, la cuenta «Billy») y, después de la autenticación, se me redirigirá al proveedor de servicios (AWS):
Recordando que el usuario para la prueba existía en AWS SSO con el mismo nombre de usuario:
Es posible que las organizaciones con un número relativamente pequeño de usuarios prefieran mantener cuentas de usuario en AWS SSO en lugar de optar por el aprovisionamiento automático. Sin embargo, recomendamos habilitar el aprovisionamiento automático para mayor comodidad en la administración de objetos. Como resultado, los nuevos usuarios agregados a un grupo de Azure AD obtienen acceso automáticamente, sin necesidad de acciones adicionales. En consecuencia, los usuarios que se eliminen de un grupo en Azure AD perderán automáticamente el acceso a los permisos asociados en AWS SSO.
Habilitación del aprovisionamiento automático
Ahora que he confirmado que Azure AD está configurado y funciona como proveedor de identidades, habilitaré el aprovisionamiento automático para cuentas de usuario. Esto significa que cuando se agregan nuevas cuentas a Azure AD y se agregan a la aplicación AWS Single Sign-On, una vez que el usuario inicia sesión por primera vez en el portal de AWS, se crea automáticamente un objeto correspondiente en AWS SSO. Esto significa que como administrador, no necesito hacer ningún trabajo adicional de administración de objetos.
Volviendo a la consola de inicio de sesión único de AWS, navego a la pestaña «Configuración» y, a continuación, selecciono la opción «Habilitar aprovisionamiento automático».
Esto abrirá una nueva página que contiene los valores para el punto final de SCIM y el token de acceso portador OAuth (que está oculto de forma predeterminada porque es un token de protocolo de autorización). Copiaré ambos valores para agregarlos a la aplicación creada en Azure AD (por razones de seguridad, no comparta estos valores).
Volviendo a la aplicación creada en Azure AD, selecciono la opción «Provisioning»:
En esta nueva ventana, selecciono la opción «Automático». Por lo tanto, rellene con la información que se copió previamente en AWS SSO. Para «URL de inquilino», pego la información de SCIM Endpoint y para «Token secreto», pego la información de Access Token. También agregaré un correo electrónico de supervisión si hay un fallo de comunicación entre las partes.
Tan pronto como confirmo que la conexión está funcionando, selecciono la opción «Guardar».
Ahora, seleccionaré la opción «Asignaciones», justo después de la opción de enviar el correo electrónico de bloqueo. Haga clic en la opción «Sincronizar usuarios de Azure Active Directory a customappsso». Por lo tanto, eliminaré los atributos FacsimiletElephoneNumber y móvil (no se usarán) y para el atributo mailNickname, cambiaré la opción de Atributo fuente a ObjectID:
Una vez que haga clic en «Guardar», volveré a la página anterior y activaré la opción de sincronización seleccionada «On» en «Estado de aprovisionamiento» y luego «Guardar» de nuevo.
Esto será «Sincronización inicial», por lo que tomará más tiempo en comparación con las sincronizaciones posteriores (sincronización delta) que ocurren cada 40 minutos. Para validar el progreso de la sincronización, puedo acceder a la opción Detalles de sincronización o incluso a Registros de auditoría.
También puedo acceder a la pestaña Usuarios de AWS Single Sign-On y validar que los usuarios se crearon correctamente en el panel de navegación.
Tengo los siguientes usuarios en Azure AD>AWS Single Sign-On Application:
1) Grupo de desarrolladores, con miembros
a. Billy y Luis
2) Usuarios de Joao, Caio y John que no forman parte del grupo Desenvolvedores (Desarrolladores o Developers).
En la ficha Aprovisionamiento, valido el estado de aprovisionamiento:
Confirmo en el entorno de AWS que el grupo de desenvolvedores y sus respectivos usuarios se crearon correctamente:
Confirmo en el entorno de AWS que todos los usuarios se han creado correctamente:
He configurado el inicio de sesión único, ¿y ahora qué?
Azure AD será ahora mi fuente de identidad para mis usuarios, así como para sus grupos. La sincronización periódica creará automáticamente usuarios coincidentes en AWS Single Sign-On, de modo que mis usuarios puedan iniciar sesión en AWS únicamente con credenciales de Azure AD. Para gestionar los permisos, necesito configurarlos mediante la consola de AWS Single Sign-On. AWS Single Sign-On aprovecha el concepto de conjunto de permisos. El conjunto de permisos es un conjunto de políticas definidas por AWS Identity and Access Management (IAM). Una vez establecido el conjunto de permisos, lo aplico a un grupo o usuario.
Con el conjunto de permisos, puedo asociar una o más directivas de control para mi grupo Desenvolvedores o incluso usuarios, controlando lo que se les permite hacer después de iniciar sesión. Puede iniciar sesión a través de la consola de AWS o la CLI de AWS. Para obtener más información sobre el uso de inicio de sesión único en la CLI de AWS, haga clic aquí.
En esta publicación, demostré cómo puede aprovechar las nuevas características de AWS Single Sign-On para vincular la identidad de los usuarios de Azure AD con cuentas y aplicaciones para la experiencia de inicio de sesión único, y también cómo utilizar el aprovisionamiento automático de usuarios para reducir la complejidad al administrar y usar identidades. Ahora los administradores pueden utilizar una única fuente de confianza para administrar a sus usuarios, y los usuarios ya no necesitan administrar un inicio de sesión o una contraseña adicionales para acceder a sus cuentas y aplicaciones de AWS.
Esta nueva función está disponible para todos los usuarios de las regiones de AWS Single Sign-On compatibles. Para validar la disponibilidad regional, haga clic aquí.
Sobre el autor
Steve Roberts is a Senior Technical Evangelist, based in Seattle, WA, specializing in .NET tools and technologies. Steve’s career as a software developer spans almost thirty years with a focus on creating developer tools and IDE integrations to help developers be more productive in their chosen languages and platforms. Prior to joining the technical evangelism team Steve spent seven years as a Senior Development Engineer working on the SDKs and tools for .NET developers using the AWS platform. He was the development lead for the AWS Tools for PowerShell and the AWS Tools for Microsoft Visual Studio Team Services, and also worked on the AWS Toolkits for Visual Studio and Visual Studio Code, plus the AWS SDK for .NET. Outside of the office Steve is a keen photographer and astrophotographer and most weekends he can be found roaming Mount Rainier National Park in search of that ‘new angle’, wildlife critter, or dark skies.
Revisor técnico – Idioma local
Caio Ribeiro César currently works as a Specialized Solutions Architect for Microsoft Technologies in the AWS Cloud. He started his career as a sysadmin and continued for over 13 years in areas such as Information Security, Identity Online and Email Platforms.