Blog de Amazon Web Services (AWS)

Aprovisionamiento de SCIM bajo demanda de Azure AD a AWS IAM Identity Center con PowerShell

Por Aidan Keane, arquitecto de soluciones sénior en AWS

 

6 de junio de 2023: realizamos actualizaciones menores en la sección » Otorgue permiso a la API Graph para acceder al directorio predeterminado en Azure AD «.

En esta publicación, mostraré cómo puede utilizar un script de PowerShell para iniciar una sincronización bajo demanda entre Azure Active Directory y AWS IAM Identity Center (AWS IAM Identity Center) y evitar el programa de sincronización predeterminado de 40 minutos entre ambos proveedores de identidades. Esta solución ayuda a las empresas a sincronizar rápidamente los cambios realizados en los usuarios, grupos o permisos en Azure AD con AWS IAM Identity Center. Esto permite que los cambios de usuario o permisos se reflejen rápidamente en las cuentas de AWS asociadas.

Prerrequisitos

Necesita lo siguiente para completar esta sesión:

Esta publicación se centra en los pasos necesarios para configurar la solución de sincronización bajo demanda. Encontrará información específica sobre cómo configurar y usar PowerShell y los módulos de Azure PowerShell en Instalación de Azure PowerShell.

Figure 1: Triggering the SCIM Endpoint to sync all users and groups

Figura 1: Activar el endpoint de SCIM para que sincronice todos los usuarios y grupos

Otorgue permiso a la API Graph para acceder al directorio predeterminado en Azure AD

Para empezar, otorgue los permisos necesarios para que la aplicación tenga acceso al extremo del directorio.

Para otorgar permisos

  1. Inicie sesión en el Portal de Azure y navegue hasta el panel de control de Azure AD.
  2. En el panel de navegación de la izquierda, selecciona App registrations. Si no ves tu solicitud en la lista, selecciona la pestaña All applications.
    Para este ejemplo, utilizo una aplicación llamada AWS.

    Figure 2: Select the AWS app registration

    Figura 2: Seleccione el registro de la aplicación de AWS

  3. Elige API permissions en el panel de navegación.
  4. Elige la opción Add a permission.

    Figura 3: Seleccione el permiso Agregar API

  5. En la página de configuración que se abre, elija la opción Microsoft Graph.

    Figure 4: Request API permissions

    Figura 4: Solicitar permisos de API

    En What type of permissions does your application require, selecciona Application permissions e introduce Application.ReadWrite.OwnedBy en el campo de búsqueda de permisos. Selecciona Application.ReadWrite.OwnedBy y elige Add permissions en la parte inferior de la página. Repita este paso para el permiso Synchronization.ReadWrite.All.

    Figure 5: Request API permissions – Add permissions

    Figura 5: Solicitar permisos de API — Agregar permisos

  6. En la página de permisos de la API, selecciona Grant admin consent for Default Directory y selecciona Yes.

    Figure 6: Grant permission to the Application

    Figura 6: Otorgar permiso a la solicitud

Crea un certificado y un secreto para acceder a la aplicación

Para empezar, cree un certificado y un secreto que garanticen un acceso seguro a la aplicación de AWS.

Para crear un certificado y un secreto

  1. Elija Certificate & Secrets en el menú de navegación de la izquierda y, a continuación, elija New client secret.

    Figure 7: Creating a client secret for 1 year

    Figura 7: Creación de un secreto de cliente para 1 año

  2. Seleccione la longitud deseada del certificado.
  3. Proporcione una descripción y seleccione Add.
    1. Copia el valor del certificado que se ha generado y guárdalo para usarlo más adelante en este proceso.
    2. Después de guardar el valor para usarlo más adelante, selecciona Home en la esquina superior izquierda de la pantalla.

    Figure 8: Make sure you click Copy to clipboard to store the value of the secret

    Figura 8: Asegúrese de hacer clic en Copiar al portapapeles para almacenar el valor del secreto

Requisitos previos para activar el endpoint del SCIM

Necesita los siguientes elementos para ejecutar el código de PowerShell que activa el endpoint.

  1. Desde el registro de la solicitud, recupere los elementos que se muestran a continuación. Tenga en cuenta que debe utilizar el secret-client guardado anteriormente cuando se creó el certificado.
    • ID de inquilino
    • Mostrar nombre
    • ID de aplicación
    • Secret-Client
  2. Copie los elementos en un bloc de notas en el orden anterior para poder introducirlos todos mediante una sola acción de copiar y pegar mientras ejecuta el script.
  3. En el menú, seleccione Azure Active Directory
  4. Elija App registrations y seleccione la AWS App que se configuró.
  5. Copie el Application (client) ID y el Directory (tenant) ID.

Figure 9: App registration contains all the items needed for the PowerShell script

Figura 9: El registro de la aplicación contiene todos los elementos necesarios para el script de PowerShell

Activa el endpoint de SCIM con PowerShell

Ahora que has completado todos los pasos anteriores, debes copiar el código del repositorio de GitHub a tu máquina local y ejecutarlo. Hemos configurado el código para que se ejecute manualmente, pero también puede automatizarlo para activar un libro de ejecución de Azure Automation cuando se agreguen usuarios a Azure mediante alertas. También puede configurar CloudWatch Events para que ejecute una función Lambda a intervalos periódicos.

Para activar el punto final del SCIM

  1. Copia el código del repositorio de GitHub.
  2. Guarde el código con el editor de código que prefiera o puede descargar Visual Studio Code. Asigne al archivo un nombre fácil de usar, como Sync.ps1.
  3. Navega hasta la ubicación en la que se puso el archivo y ejecútalo ./sync.ps1.
  4. Cuando se le solicite, introduzca los valores del bloc de notas. Puedes pegarlos todos a la vez para no tener que copiar y pegar cada elemento individual.

    Nota: Al copiar y pegar en Windows, seleccione el icono de PowerShell y, a continuación, Edit > Paste.

    Figure 10: Windows Command Prompt – Select Paste to copy all items needed to trigger the sync

    Figura 10: Línea de comandos de Windows: seleccione Paste para copiar todos los elementos necesarios para activar la sincronización

Después de pegar los valores en la ventana de PowerShell, verá la entrada del script tal como se muestra en la siguiente captura de pantalla. El secreto del cliente y la contraseña son valores seguros y están enmascarados por motivos de seguridad.

Figure 11: PowerShell script with input values pasted in

Figura 11: Secuencia de comandos de PowerShell con valores de entrada pegados

Una vez iniciado el trabajo en PowerShell, se muestran dos mensajes. Uno que indica que se está iniciando la sincronización y un mensaje siguiente cuando se ha completado la sincronización. Ambos se muestran en la siguiente figura.

Figure 12: Output from a successful run of the PowerShell script

Figura 12: Resultado de una ejecución correcta del script de PowerShell

Ver el estado y los registros de la sincronización

Para comprobar que el trabajo se ejecutó correctamente, puede comprobar el tiempo de finalización en el portal de Azure. Puede comprobar la hora en que se ejecutó el script consultando el tiempo de finalización junto con el estado actual.

Para ver el estado y los registros

  1. En el menú, seleccione Azure Active Directory.
  2. Elija Enterprise applications y seleccione la AWS App.
  3. En el menú de navegación de la izquierda, selecciona Provisioning y, a continuación, selecciona View provisioning details. Muestra la última vez que se completó la sincronización.

    Figure 13: View the Provisioning details about the job

    Figura 13: Ver los detalles de aprovisionamiento del trabajo

Resumen

En esta publicación, demuestro cómo se puede utilizar un script de PowerShell para activar el endpoint de SCIM para sincronizar a pedido Azure AD con AWS IAM Identity Center. Puedes encontrar el código en este repositorio de GitHub y usarlo para sincronizar los cambios de usuarios y grupos a pedido.

 

 Este artículo fue traducido del Blog de AWS en Inglés


Acerca del autor

Aidan Keane arquitecto de soluciones sénior y especializado en las cargas de trabajo de Microsoft en AWS. Ha trabajado con tecnologías en la nube durante más de 5 años y cuenta con más de 20 años de experiencia técnica. Fuera del trabajo, es un entusiasta de los deportes que disfruta del golf, andar en bicicleta y ver el Liverpool FC, pasar tiempo con la familia y viajar a Irlanda y Sudamérica.

 

 

 

 

Revisores

Luciano Bernardes trabalha atualmente como Sr Solutions Architect na AWS, especializado em workloads Microsoft. Com 16 anos de experiência no mercado, trabalhou a maior parte em consultoria técnica especializada em Microsoft, em clientes de várias verticais, com demandas voltadas para infraestrutura on-premises e em nuvem. Como SA, trabalha próximo a clientes e parceiros de consultoria em U.S. e LATAM, para apoiá-los em tomadas de decisão e revisão de arquitetura de workoads Microsoft na nuvem AWS.

 

 

 

 

JuanMa Silva quien es arquitecto de soluciones con especialidad en Microsoft para México y MCO. Cuenta con 15 años de experiencia en la industria de IT, en posiciones de Sysadmin, consultor para ayudar a migrar clientes a la nube y modernización de aplicaciones, soporte aplicaciones de misión critica basados en tecnologia Microsoft.