Logotipo de Zephyrnet

Configurar la federación de identidades de ADFS con Amazon QuickSight

Fecha:

Edición empresarial de Amazon QuickSight puede integrarse con su Microsoft Active Directory (AD) existente, proporcionando acceso federado mediante lenguaje de marcado de aserción de seguridad (SAML) a los paneles. El uso de identidades existentes de Active Directory elimina la necesidad de crear y administrar identidades de usuario separadas en Administración de acceso de identidad de AWS (SOY). Los usuarios federados asumen un rol de IAM cuando se solicita acceso a través de un proveedor de identidad (IdP) como el Servicio de federación de Active Directory (AD FS) en función de la pertenencia al grupo de AD. Aunque puede conectar AD a QuickSight mediante AWS Directory Service, este blog se centra en el inicio de sesión federado en los paneles de QuickSight.

Con la federación de identidades, sus usuarios obtienen acceso con un solo clic a Amazon QuickSight aplicaciones utilizando sus credenciales de identidad existentes. También tiene el beneficio de seguridad de la autenticación de identidad por parte de su IdP. Puede controlar qué usuarios tienen acceso a QuickSight utilizando su IdP existente. Referirse a Uso de identidad federada e inicio de sesión único (SSO) con Amazon QuickSight para obtener más información.

En esta publicación, demostramos cómo puede usar una dirección de correo electrónico corporativa como una opción de autenticación para iniciar sesión en QuickSight. Esta publicación asume que tiene un servicio de federación de Microsoft Active Directory (ADFS) existente configurado en su entorno.

Resumen de la solución

Mientras se conectan a QuickSight desde un IdP, sus usuarios inician el proceso de inicio de sesión desde el portal de IdP. Una vez que los usuarios se autentican, inician sesión automáticamente en QuickSight. Después de que QuickSight verifique que están autorizados, sus usuarios pueden acceder a QuickSight.

El siguiente diagrama muestra un flujo de autenticación entre QuickSight y un IdP de terceros. En este ejemplo, el administrador ha configurado una página de inicio de sesión para acceder a QuickSight. Cuando un usuario inicia sesión, la página de inicio de sesión publica una solicitud a un servicio de federación que cumple con SAML 2.0. El usuario final inicia la autenticación desde la página de inicio de sesión del IdP. Para obtener más información sobre el flujo de autenticación, consulte Inicio de sesión desde el proveedor de identidad (IdP).

Flujo de IdP de QuickSight

La solución consta de los siguientes pasos de alto nivel:

  1. Cree un proveedor de identidad.
  2. Crear políticas de IAM.
  3. Cree roles de IAM.
  4. Configurar grupos y usuarios de AD.
  5. Crear una relación de confianza para usuarios autenticados.
  6. Configurar reglas de notificación.
  7. Configure el inicio de sesión único (SSO) de QuickSight.
  8. Configure la URL del estado de retransmisión para QuickStart.

Requisitos previos

Los siguientes son los requisitos previos para construir la solución explicada en esta publicación:

  • Un entorno de AD FS existente o recién implementado.
  • Un usuario de AD con permisos para administrar AD FS y la pertenencia a grupos de AD.
  • Un usuario de IAM con permisos para crear políticas y roles de IAM y administrar QuickSight.
  • El documento de metadatos de su IdP. Para descargarlo, consulte Explorador de metadatos de federación.

Crear un proveedor de identidad

Para agregar su IdP, complete los siguientes pasos:

  1. En la consola de IAM, elija Proveedores de identidad en el panel de navegación.
  2. Elige Agregar proveedor.
  3. tipo de proveedorSeleccione SAML.
  4. Nombre del proveedor, ingrese un nombre (por ejemplo, QuickSight_Federation).
  5. Documento de metadatos, cargue el documento de metadatos que descargó como requisito previo.
  6. Elige Agregar proveedor.
  7. Copie el ARN de este proveedor para usarlo en un paso posterior.

Agregar IdP en IAM

Crear políticas de IAM

En este paso, crea políticas de IAM que permiten a los usuarios acceder a QuickSight solo después de federar sus identidades. Para proporcionar acceso a QuickSight y también la capacidad de crear administradores, autores (usuarios estándar) y lectores de QuickSight, use los siguientes ejemplos de políticas.

El siguiente código es la política de autor:

{ "Statement": [ { "Action": [ "quicksight:CreateUser" ], "Effect": "Allow", "Resource": [ "*" ] } ], "Version": "2012-10-17"
}

El siguiente código es la política del lector:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "quicksight:CreateReader", "Resource": "*" } ] }

El siguiente código es la política de administración:

{ "Statement": [ { "Action": [ "quicksight:CreateAdmin" ], "Effect": "Allow", "Resource": [ "*" ] } ], "Version": "2012-10-17"
}

Crear roles de IAM

Puede configurar direcciones de correo electrónico para que las usen sus usuarios al aprovisionar a través de su IdP a QuickSight. Para hacer esto, agregue el sts:TagSession acción a la relación de confianza para el rol de IAM que utiliza con AssumeRoleWithSAML. Asegúrese de que los nombres de funciones de IAM comiencen con ADFS-.

  1. En la consola de IAM, elija Roles en el panel de navegación.
  2. Elige Crear nuevo rol.
  3. Tipo de entidad de confianza, seleccione Federación SAML 2.0.
  4. Elija el IdP de SAML que creó anteriormente.
  5. Seleccione Permitir el acceso a la consola de administración de AWS y mediante programación.
  6. Elige Siguiente.
    Crear roles de IAM
  7. Elija la política de administración que creó, luego elija Siguiente.
  8. Nombre, introduzca ADFS-ACCOUNTID-QSAdmin.
  9. Elige Crear.
  10. En Relaciones de confianza pestaña, edite las relaciones de confianza de la siguiente manera para que pueda pasar etiquetas principales cuando los usuarios asuman el rol (proporcione su ID de cuenta e IdP):
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::ACCOUNTID:saml-provider/Identity_Provider" }, "Action":[ "sts:AssumeRoleWithSAML", "sts:TagSession"], "Condition": { "StringEquals": { "SAML:aud": "https://signin.aws.amazon.com/saml" }, "StringLike": { "aws:RequestTag/Email": "*" } } } ]
}

  1. Repita este proceso para el rol. ADFS-ACCOUNTID-QSAuthor y adjunte la política de IAM del autor.
  2. Repita este proceso para el rol. ADFS-ACCOUNTID-QSReader y adjunte la política de IAM del lector.

Configurar grupos y usuarios de AD

Ahora necesita crear grupos de AD que determinen los permisos para iniciar sesión en AWS. Cree un grupo de seguridad de AD para cada uno de los tres roles que creó anteriormente. Tenga en cuenta que el nombre del grupo debe seguir el mismo formato que los nombres de funciones de IAM.

Un enfoque para crear los grupos de AD que identifican de forma única la asignación de roles de IAM es seleccionar una convención de nomenclatura de grupo común. Por ejemplo, sus grupos de AD comenzarían con un identificador, por ejemplo AWS-, que distinguirá a sus grupos de AWS de otros dentro de la organización. A continuación, incluya el número de cuenta de AWS de 12 dígitos. Finalmente, agregue el nombre de rol coincidente dentro de la cuenta de AWS. Debe hacer esto para cada función y cuenta de AWS correspondiente que desee admitir con acceso federado. La siguiente captura de pantalla muestra un ejemplo de la convención de nomenclatura que usamos en esta publicación.

Grupos de anuncios

Más adelante en esta publicación, creamos una regla para seleccionar grupos de AD que comiencen con AWS-, la regla eliminará AWS-ACCOUNTID- del nombre de los grupos de AD para que coincida con el rol de IAM respectivo, razón por la cual usamos esta convención de nomenclatura aquí.

Posteriormente, los usuarios de Active Directory se pueden agregar a los grupos, lo que brinda la capacidad de asumir el acceso a los roles correspondientes en AWS. Puede agregar usuarios de AD a los grupos respectivos según su modelo de permisos comerciales. Tenga en cuenta que cada usuario debe tener una dirección de correo electrónico configurada en Active Directory.

Crear una relación de confianza para usuario autenticado

Para agregar una relación de confianza para usuario autenticado, complete los siguientes pasos:

  1. Abra la consola de administración de AD FS.
  2. Elija (clic derecho) Confiando en fideicomisos de fiesta, A continuación, elija Agregar confianza de parte dependiente.
    Agregar confianza de parte dependiente
  3. Elige Reclamos conscientes, A continuación, elija Inicio.
  4. Seleccione Importar datos sobre la parte de confianza publicados en línea o en una red local.
  5. Dirección de metadatos de la federación, introduzca https://signin.aws.amazon.com/static/saml-metadata.xml.
  6. Elige Siguiente.
    Fuente de datos del asistente ADFS
  7. Ingrese un nombre para mostrar descriptivo, por ejemplo, Amazon QuickSight Federation, luego elija Siguiente.
  8. Elija su política de control de acceso (para esta publicación, Permitir a todos), entonces escoge Siguiente.
    Control de acceso ADFS
  9. En Listo para agregar confianza sección, elija Siguiente.
    ADFS listo para agregar
  10. Deje los valores predeterminados, luego elija Cerrar.

Configurar reglas de notificación

En esta sección, crea reglas de reclamo que identifican cuentas, establece atributos LDAP, obtiene los grupos de AD y los relaciona con los roles creados anteriormente. Complete los siguientes pasos para crear las reglas de notificación para NameId, RoleSessionName, Get AD Groups, Roles y (opcionalmente) Session Duration:

  1. Seleccione la relación de confianza para usuario autenticado que acaba de crear y, a continuación, elija Editar política de emisión de reclamos.
  2. Agregar una regla llamada NameId con los siguientes parámetros:
    1. Plantilla de regla de reclamación, escoger Transformar un reclamo entrante.
    2. Nombre de la regla de reclamación, ingrese ID de nombre
    3. Tipo de reclamo entrante, escoger Nombre de la cuenta de Windows.
    4. Tipo de reclamación saliente, escoger ID de nombre.
    5. Formato de ID de nombre saliente, escoger Identificador persistente.
    6. Seleccione Pasar por todos los valores de reclamación.
    7. Elige Acabado.
      ID de nombre
  3. Agregar una regla llamada RoleSessionName con los siguientes parámetros:
    1. Plantilla de regla de reclamación, escoger Enviar atributos LDAP como reclamos.
    2. Nombre de la regla de reclamación, introduzca RoleSessionName.
    3. Almacén de atributos, escoger Directorio Activo.
    4. Atributo LDAP, escoger Correos electrónicos.
    5. Tipo de reclamación saliente, introduzca https://aws.amazon.com/SAML/Attributes/RoleSessionName.
    6. Agrega otro Correos electrónicos atributo LDAP y para Tipo de reclamación saliente, introduzca https://aws.amazon.com/SAML/Attributes/PrincipalTag:Email.
    7. Elige OK.
      RolSessionNameRoleSessionName
  4. Agregar una regla llamada Get AD Groups con los siguientes parámetros:
    1. Plantilla de regla de reclamación, escoger Enviar reclamos usando una regla personalizada.
    2. Nombre de la regla de reclamación, ingrese Obtener grupos de AD
    3. Regla personalizada, ingrese el siguiente código:
      c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => add(store = "Active Directory", types = ("http://temp/variable"), query = ";tokenGroups;{0}", param = c.Value);

    4. Elige OK.
      Obtener grupos de AD
  1. Agregar una regla llamada Roles con los siguientes parámetros:
    1. Plantilla de regla de reclamación, escoger Enviar reclamos usando una regla personalizada.
    2. Nombre de la regla de reclamación, ingrese Roles
    3. Regla personalizada, ingrese el siguiente código (proporcione su ID de cuenta e IdP):
      c:[Type == "http://temp/variable", Value =~ "(?i)^AWS-ACCOUNTID"]=> issue(Type = "https://aws.amazon.com/SAML/Attributes/Role", Value = RegExReplace(c.Value, "AWS-ACCOUNTID-", "arn:aws:iam:: ACCOUNTID:saml-provider/your-identity-provider-name,arn:aws:iam:: ACCOUNTID:role/ADFS-ACCOUNTID-"));

    4. Elige Acabado.Roles

Opcionalmente, puede crear una regla llamada Session Duration. Esta configuración determina cuánto tiempo está abierta y activa una sesión antes de que los usuarios deban volver a autenticarse. El valor es en segundos. Para esta publicación, configuramos la regla para 8 horas.

  1. Agregar una regla llamada Session Duration con los siguientes parámetros:
    1. Plantilla de regla de reclamación, escoger Enviar reclamos usando una regla personalizada.
    2. Nombre de la regla de reclamación, introduzca Session Duration.
    3. Regla personalizada, ingrese el siguiente código:
      => issue(Type = "https://aws.amazon.com/SAML/Attributes/SessionDuration", Value = "28800");

    4. Elige Acabado.Duración de la sesión

Debería poder ver estas cinco reglas de reclamo, como se muestra en la siguiente captura de pantalla.
Todas las reglas de reclamos

  1. Elige OK.
  2. Ejecute los siguientes comandos en PowerShell en su servidor AD FS:
Set-AdfsProperties -EnableIdPInitiatedSignonPage $true Set-AdfsProperties -EnableRelayStateForIdpInitiatedSignOn $true

  1. Detenga e inicie el servicio AD FS desde PowerShell:
net stop adfssrv net start adfssrv

Configurar la sincronización de correo electrónico

Con la edición QuickSight Enterprise integrada con un IdP, puede restringir el uso de direcciones de correo electrónico personales por parte de los nuevos usuarios. Esto significa que los usuarios solo pueden iniciar sesión en QuickSight con sus direcciones de correo electrónico configuradas localmente. Este enfoque permite a los usuarios evitar ingresar manualmente una dirección de correo electrónico. También garantiza que los usuarios no puedan usar una dirección de correo electrónico que pueda diferir de la dirección de correo electrónico configurada en Active Directory.

QuickSight utiliza las direcciones de correo electrónico preconfiguradas que se pasan a través del IdP cuando proporciona nuevos usuarios a su cuenta. Por ejemplo, puede hacer que solo se utilicen las direcciones de correo electrónico asignadas por la empresa cuando los usuarios se aprovisionan en su cuenta de QuickSight a través de su IdP. Cuando configura la sincronización de correo electrónico para usuarios federados en QuickSight, los usuarios que inician sesión en su cuenta de QuickSight por primera vez tienen direcciones de correo electrónico preasignadas. Estos se utilizan para registrar sus cuentas.

Para configurar la sincronización de correo electrónico para usuarios federados en QuickSight, complete los siguientes pasos:

  1. Inicie sesión en su panel de QuickSight con una cuenta de administrador de QuickSight.
  2. Elija el icono de perfil.
    Inicio de sesión único de QuickSight
  3. En el menú desplegable, elija en Administrar QuickSight.
  4. En el panel de navegación, elija Inicio de sesión único (SSO).
  5. Sincronización de correo electrónico para usuarios federados, seleccione ON, A continuación, elija permitir en la ventana emergente
  6. Elige Guardar.Configuración de inicio de sesión único

Configure la URL del estado de retransmisión para QuickStart

Para configurar la URL del estado de retransmisión, complete los siguientes pasos (revise la información de entrada según sea necesario para que coincida con la configuración de su entorno):

  1. Ingrese al Generador de estado de retransmisión de ADFS para generar su URL.
  2. Cadena de URL de IDP, introduzca https://ADFSServerEndpoint/adfs/ls/idpinitiatedsignon.aspx.
  3. Identificador de la parte que confía, introduzca urn:amazon:webservices or https://signin.aws.amazon.com/saml.
  4. Estado de retransmisión/aplicación de destino, ingrese sus usuarios autenticados para acceder. En este caso, es https://quicksight.aws.amazon.com.
  5. Elige Generar URL.Generador de estado de relé
  6. Copie la URL y cárguela en su navegador.

Se le debe presentar un inicio de sesión en su página de destino de IdP.

Página de inicio de sesión de ADFS

Asegúrese de que el usuario que inicia sesión tenga un atributo de dirección de correo electrónico configurado en Active Directory. Un inicio de sesión exitoso debería redirigirlo al panel de QuickSight después de la autenticación. Si no se le redirige a la página del panel de control de QuickSight, asegúrese de ejecutar los comandos enumerados anteriormente después de configurar sus reglas de reclamación.

Resumen

En esta publicación, demostramos cómo configurar identidades federadas en un tablero de QuickSight y asegurarnos de que los usuarios solo puedan iniciar sesión con una dirección de correo electrónico preconfigurada en su Active Directory existente.

Nos encantaría saber de usted. Háganos saber lo que piensa en la sección de comentarios.


Sobre la autora

Adeleke Coker es arquitecto de soluciones globales con AWS. Ayuda a los clientes a acelerar globalmente las implementaciones de cargas de trabajo y las migraciones a escala a AWS. En su tiempo libre, le gusta aprender, leer, jugar y ver eventos deportivos.

punto_img

Información más reciente

punto_img