Tutorial: Federación de identidades de Amazon QuickSight e IAM - Amazon QuickSight

Tutorial: Federación de identidades de Amazon QuickSight e IAM

   Se aplica a: Enterprise Edition y Standard Edition 
   Público al que va dirigido: administradores de Amazon QuickSight y desarrolladores de Amazon QuickSight 
nota

La federación de identidades de IAM no admite la sincronización de grupos de proveedores de identidades con Amazon QuickSight.

En el siguiente tutorial, encontrará una guía sobre cómo configurar el IdP Okta como un servicio de federación para Amazon QuickSight. Si bien en este tutorial se muestra la integración de AWS Identity and Access Management (IAM) y Okta, también puede replicar esta solución con los IdP SAML 2.0 que elija.

En el siguiente procedimiento, se crea una aplicación en el IdP Okta mediante su acceso directo “AWS Account Federation”. Okta describe esta aplicación de integración de la siguiente manera:

“Al federar Okta a las cuentas de Identity and Access Management (IAM) de Amazon Web Services (AWS), los usuarios finales obtienen acceso mediante un inicio de sesión único a todos los roles de AWS asignados concon sus credenciales de Okta. En cada Cuenta de AWS, los administradores configuran la federación y los roles de AWS para confiar en Okta. Cuando los usuarios inician sesión en AWS, obtienen la experiencia de inicio de sesión único de Okta para ver los roles de AWS asignados. A continuación, pueden seleccionar el rol que deseen, lo que definirá sus permisos durante la sesión autenticada. Los clientes con un gran número de cuentas de AWS pueden utilizar la aplicación AWS Single Sign-On como alternativa”. (https://www.okta.com/aws/)

Creación de una aplicación de Okta utilizando el acceso directo a la aplicación “AWS Account Federation” de Okta
  1. Inicie sesión en el panel de Okta. Si no tiene una, cree una cuenta gratuita de Okta Developer Edition mediante esta URL con la marca Quicksight. Cuando haya activado su correo electrónico, inicie sesión en Okta.

  2. En el sitio web de Okta, seleccione Consola para desarrolladores <> en la esquina superior izquierda y, a continuación, seleccione IU clásica.

  3. Seleccione Agregar aplicaciones y, luego, Agregar aplicación.

  4. Ingrese aws en Search y seleccione AWS Account Federation en los resultados de la búsqueda.

  5. Seleccione Agregar para crear una instancia de esta aplicación.

  6. En Etiqueta de la application, ingrese AWS Account Federation - QuickSight.

  7. Elija Siguiente.

  8. En SAML 2.0, Estado de retransmisión predeterminado, ingrese https://quicksight.aws.amazon.com.

  9. Abra el menú contextual (haga clic con el botón derecho) de Metadatos del proveedor de identidades y guarde el archivo. Nombre el archivo metadata.xml. Necesita esto para el siguiente procedimiento.

    El contenido del archivo es similar a este:

    <md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" entityID="http://www.okta.com/exkffz2hATwiVft645d5"> <md:IDPSSODescriptor WantAuthnRequestsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"> <md:KeyDescriptor use="signing"> <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:X509Data> <ds:X509Certificate> MIIDpjCCAo6gAwIBAgIGAXVjA82hMA0GCSqGSIb3DQEBCwUAMIGTMQswCQYDVQQGEwJVUzETMBEG . . (certificate content omitted) . QE/6cRdPQ6v/eaFpUL6Asd6q3sBeq+giRG4= </ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </md:KeyDescriptor> <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat> <md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:unspecified</md:NameIDFormat> <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://dev-1054988.okta.com/app/amazon_aws/exkffz2hATwiVft645d5/sso/saml"/> <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://dev-1054988.okta.com/app/amazon_aws/exkffz2hATwiVft645d5/sso/saml"/> </md:IDPSSODescriptor> </md:EntityDescriptor>
  10. Una vez guardado el archivo XML, desplácese hasta la parte inferior de la página de Okta y seleccione Listo.

  11. Si es posible, mantenga abierta esta ventana del navegador. La necesitará más adelante en el tutorial.

A continuación, cree un proveedor de identidades en su Cuenta de AWS.

Creación de un proveedor SAML en AWS Identity and Access Management (IAM)
  1. Inicie sesión en AWS Management Console y abra la consola IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, seleccione Proveedores de identidades, Crear proveedor.

  3. Ingrese la siguiente configuración:

    • Tipo de proveedor: elija SAML de la lista.

    • Nombre del proveedor: ingrese Okta.

    • Documento de metadatos: cargue el archivo XML manifest.xml del procedimiento anterior.

  4. Elija Paso siguiente y, a continuación, Crear.

  5. Localice el IdP que creó y elíjalo para ver la configuración. Anote el ARN del proveedor. Lo necesita para terminar el tutorial.

  6. Compruebe que el proveedor de identidades se haya creado con su configuración. En IAM, seleccione Proveedores de identidades, Okta (el IdP que ha agregado) y Descargar los metadatos. El archivo debe ser el que ha cargado recientemente.

A continuación, debe crear un rol de IAM para permitir que la federación SAML 2.0 actúe como una entidad de confianza en su Cuenta de AWS. Para este paso, debe elegir cómo desea aprovisionar a los usuarios en Amazon QuickSight. Puede elegir una de las opciones siguientes:

  • Conceda permiso al rol de IAM para que los visitantes primerizos se conviertan automáticamente en usuarios de QuickSight.

  • Aprovisione a los usuarios de QuickSight con antelación mediante la API de QuickSight. Al elegir esta opción, puede aprovisionar usuarios y agregarlos a los grupos al mismo tiempo. Para obtener más información, consulte Creación y administración de grupos en Amazon QuickSight.

Creación de un rol de IAM para una federación SAML 2.0 como entidad de confianza
  1. Inicie sesión en AWS Management Console y abra la consola IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, elija Roles, Crear rol.

  3. En Seleccionar tipo de entidad de confianza, elija Federación SAML 2.0.

  4. En Proveedor de SAML, seleccione el IdP que creó en el procedimiento anterior, por ejemplo, Okta.

  5. Active la opción Permitir el acceso mediante programación y a la consola de administración de AWS.

  6. Elija Siguiente: permisos.

  7. Pegue la siguiente política en el editor.

    En el editor de políticas, actualice el JSON con el nombre de recurso de Amazon (ARN) de su proveedor.

  8. Elija Revisar política.

  9. En Nombre, escriba QuicksightOktaFederatedPolicy y, después, elija Crear política.

  10. Seleccione Crear una política, JSON por segunda vez.

  11. Pegue la siguiente política en el editor.

    En el editor de políticas, actualice el JSON con el ID de su Cuenta de AWS. Debe ser el mismo identificador de cuenta que utilizó en la política anterior en el ARN del proveedor.

    Puede omitir el nombre de Región de AWS en el ARN, como se muestra a continuación.

    arn:aws:quicksight::111111111111:user/$${aws:userid}
  12. Elija Revisar política.

  13. En Nombre, escriba QuicksightCreateReader y, después, elija Crear política.

  14. Actualice la lista de políticas seleccionando el icono de actualización de la derecha.

  15. En Buscar, ingrese QuicksightOktaFederatedPolicy. Elija la política para habilitarlo ( Icon representing a cloud with an arrow pointing downward, indicating download or cloud storage. ).

    Si no desea utilizar el aprovisionamiento automático, puede omitir el siguiente paso.

    Para agregar un usuario de QuickSight, utilice register-user. Para agregar un grupo de QuickSight, utilice create-group. Para agregar usuarios al grupo de QuickSight, utilice create-group-membership.

  16. (Opcional) En Buscar, ingrese QuicksightCreateReader. Elija la política para habilitarlo ( Icon representing a cloud with an arrow pointing downward, indicating download or cloud storage. ).

    Realice este paso si desea aprovisionar a los usuarios de QuickSight automáticamente, en lugar de utilizar la API de QuickSight.

    La política QuicksightCreateReader activa el aprovisionamiento automático al permitir el uso de la acción quicksight:CreateReader. Esta acción concede acceso de suscriptor (nivel de lector) al panel a los usuarios primerizos. Un administrador de QuickSight puede actualizar el acceso posteriormente desde el menú de perfil de QuickSight, Administrar QuickSight, Administrar usuarios.

  17. Para seguir asociando la política o las políticas de IAM, elija Siguiente: etiquetas.

  18. Elija Siguiente: Revisar.

  19. En Nombre del rol, ingrese QuicksightOktaFederatedRole y, luego, elija Crear rol.

  20. Compruebe que lo ha realizado correctamente siguiendo estos pasos:

    1. Vaya a la página de inicio de la consola de IAM en https://console.aws.amazon.com/iam/. Puede utilizar el botón Atrás de su navegador.

    2. Elija Roles.

    3. En Buscar, ingrese Okta. Seleccione QuicksightOktaFederatedRole en los resultados de la búsqueda.

    4. En la página Resumen de la política, examine la pestaña Permisos. Compruebe que el rol tenga la política o las políticas que usted haya asignado. Debería tener QuicksightOktaFederatedPolicy. Si eligió agregar la capacidad de crear usuarios, también debería tener QuicksightCreateReader.

    5. Utilice el icono Play button icon with a triangular shape pointing to the right. para abrir cada política. Compruebe que el texto coincida con lo que se muestra en este procedimiento. Compruebe que haya agregado el número de su Cuenta de AWS en lugar del número de cuenta del ejemplo (111111111111).

    6. En la pestaña Relaciones de confianza, compruebe que el campo Entidades de confianza contiene el ARN del proveedor de identidades. Puede comprobar el ARN en la consola de IAM abriendo Proveedores de identidades, Okta.

Creación de una clave de acceso para Okta
  1. Inicie sesión en AWS Management Console y abra la consola IAM en https://console.aws.amazon.com/iam/.

  2. Agregue una política que permita a Okta mostrar al usuario una lista de roles de IAM. Para ello, elija Política, Crear una política.

  3. Elija JSON y, a continuación, ingrese la siguiente política.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:ListRoles", "iam:ListAccountAliases" ], "Resource": "*" } ] }
  4. Elija Revisar política.

  5. En Nombre, ingrese OktaListRolesPolicy. A continuación, elija Crear política.

  6. Agregue un usuario para poder proporcionar a Okta una clave de acceso.

    En el panel de navegación, elija Usuarios, Agregar usuario.

  7. Utilice los siguientes valores:

    • En Nombre de usuario, escriba OktaSSOUser.

    • En Tipo de acceso, elija Acceso mediante programación.

  8. Elija Siguiente: permisos.

  9. Elija Adjuntar directamente políticas existentes.

  10. En Buscar, ingrese OktaListRolesPolicy y elija OktaListRolesPolicy en los resultados de búsqueda.

  11. Elija Siguiente: Etiquetas y, a continuación, seleccione Siguiente: Revisar.

  12. Seleccione la opción Crear usuario. Ahora puede obtener la clave de acceso.

  13. Para descargar el par de claves, elija Descargar archivo .csv. El archivo contiene el mismo ID de clave de acceso y la misma clave de acceso secreta que se muestra en esta pantalla. Sin embargo, dado que AWS no muestra esta información por segunda vez, asegúrese de descargar el archivo.

  14. Compruebe que haya completado este paso correctamente haciendo lo siguiente:

    1. Abra la consola de IAM y elija Usuarios. Busque OktaSSOUser y ábralo eligiendo el nombre de usuario de los resultados de la búsqueda.

    2. En la pestaña Permisos, compruebe que OktaListRolesPolicy se haya asociado.

    3. Utilice el icono Play button icon with a triangular shape pointing to the right. para abrir la política. Compruebe que el texto coincida con lo que se muestra en este procedimiento.

    4. En la pestaña Credenciales de seguridad, puede comprobar la clave de acceso, aunque ya la haya descargado. Puede volver a esta pestaña para crear una clave de acceso cuando necesite una nueva.

En el siguiente procedimiento, vuelva a Okta para proporcionar la clave de acceso. La clave de acceso funciona con la nueva configuración de seguridad para permitir que AWS y el IdP Okta funcionen de forma conjunta.

Terminación de la configuración de la aplicación Okta con la configuración de AWS
  1. Vuelva al panel de Okta. Inicie sesión si se le solicita. Si la consola para desarrolladores ya no está abierta, seleccione Administrador para volver a abrirla.

  2. Si tiene que volver a abrir Okta, puede volver a esta sección siguiendo estos pasos:

    1. Inicie sesión en Okta. Elija Aplicaciones.

    2. Elija AWS Account Federation: QuickSight, la aplicación que creó al principio de este tutorial.

    3. Elija la pestaña Iniciar sesión, entre General y Móvil.

  3. Vaya a Configuración de inicio de sesión avanzada.

  4. En ARN del proveedor de identidades (obligatorio solo para la federación de IAM de SAML), ingrese el ARN del proveedor del procedimiento anterior, por ejemplo:

    arn:aws:iam::111122223333:saml-provider/Okta
  5. Seleccione Listo o Guardar. El nombre del botón varía en función de si está creando o editando la aplicación.

  6. Seleccione la pestaña Aprovisionamiento y, en la parte inferior de la pestaña, elija Configurar la integración de la API.

  7. Active Habilitar la integración de la API para mostrar la configuración.

  8. En Clave de acceso y Clave secreta, proporcione la clave de acceso y la clave secreta que descargó anteriormente en un archivo con el nombre OktaSSOUser_credentials.csv.

  9. Seleccione Probar las credenciales de la API. Consulte la configuración Habilitar la integración de la API para ver un mensaje que confirme que AWS Account Federation se verificó correctamente.

  10. Seleccione Guardar.

  11. Asegúrese de que la opción Para la aplicación esté resaltada a la izquierda y seleccione Editar a la derecha.

  12. En Crear usuarios, active la opción Habilitar.

  13. Seleccione Save.

  14. En la pestaña Asignaciones, cerca de Aprovisionamiento e Importar, seleccione Asignar.

  15. Realice una o varias de las siguientes acciones para habilitar el acceso federado:

    • Para trabajar con usuarios individuales, elija Asignar a personas.

    • Para trabajar con grupos de IAM, elija Asignar a grupos. Puede elegir grupos de IAM específicos o Todos (todos los usuarios de su organización).

  16. Realice lo siguiente para cada usuario o grupo de IAM:

    1. Elija Asignar, Rol.

    2. Seleccione QuicksightOktaFederatedRole en la lista de roles de IAM.

    3. En Roles de usuario SAML, habilite QuicksightOktaFederatedRole.

  17. Seleccione Guardar y volver y, a continuación, seleccione, Listo.

  18. Compruebe que ha completado este paso correctamente. Para ello, seleccione el filtro Personas o Grupos de la izquierda y compruebe los usuarios o grupos que ha introducido. Si no puede completar este proceso porque el rol que creó no aparece en la lista, vuelva a los procedimientos anteriores para comprobar la configuración.

Inicio de sesión en QuickSight mediante Okta (inicio de sesión desde el IdP al proveedor de servicios)
  1. Si utiliza una cuenta de administrador de Okta, cambie al modo de usuario.

  2. Inicie sesión en el panel de aplicaciones de Okta con un usuario al que se le haya concedido acceso federado. Debería ver una nueva aplicación con su etiqueta, por ejemplo, AWS Account Federation - QuickSight.

  3. Seleccione el icono de la aplicación para iniciar AWS Account Federation - QuickSight.

Ahora puede administrar las identidades con Okta y utilizar el acceso federado con Amazon QuickSight.

El siguiente procedimiento es una parte opcional de este tutorial. Si sigue sus pasos, autoriza a QuickSight a reenviar las solicitudes de autorización al IdP en nombre de sus usuarios. Con este método, los usuarios pueden iniciar sesión en QuickSight sin necesidad de iniciar sesión primero con la página del IdP.

(Opcional) Configuración de QuickSight para enviar solicitudes de autenticación a Okta
  1. Abra QuickSight y elija Administrar QuickSight en el menú de su perfil.

  2. Seleccione Inicio de sesión único (federación de IAM) en el panel de navegación.

  3. En Configuración, URL de proveedor de identidad, ingrese la URL que el IdP proporciona para autenticar a los usuarios, por ejemplo, https://dev-1-----0.okta.com/home/amazon_aws/0oabababababaGQei5d5/282. Puede encontrarla en la página la aplicación Okta, en la pestaña General, en Insertar enlace.

  4. En URL de proveedor de identidad, ingrese RelayState.

  5. Realice una de las siguientes acciones:

    • Para probar primero el inicio de sesión con su proveedor de identidades, use la URL personalizada que se proporciona en Inicio de la prueba con el IdP. Debería ir a la página de inicio de QuickSight, por ejemplo, https://quicksight.aws.amazon.com/sn/start.

    • Para probar primero el inicio de sesión con QuickSight, utilice la URL personalizada que se proporciona en Probar la experiencia integral. El parámetro enable-sso se adjunta a la URL. Si enable-sso=1, la federación de IAM intenta autenticarse. Si enable-sso=0, QuickSight no envía la solicitud de autenticación y tendrá que iniciar sesión en QuickSight como de costumbre.

  6. En Estado, elija ACTIVADO.

  7. Seleccione Guardar para conservar los ajustes.

Puede crear un enlace directo a un panel de QuickSight para permitir a los usuarios utilizar la federación de IAM para conectarse directamente a paneles específicos. Para ello, agregue el indicador de estado de la retransmisión y la URL del panel a la URL de inicio de sesión único de Okta, tal y como se describe a continuación.

Creación de un enlace directo a un panel de QuickSight para el inicio de sesión único
  1. Busque la URL de inicio de sesión único (federación de IAM) de la aplicación Okta en el archivo metadata.xml que descargó al principio del tutorial. Encontrará la URL cerca de la parte inferior del archivo, en el elemento denominado md:SingleSignOnService. Se asigna el nombre Location al atributo y el valor termina en /sso/saml, como se muestra en el siguiente ejemplo.

    <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://dev-0000001.okta.com/app/amazon_aws/abcdef2hATwiVft645d5/sso/saml"/>
  2. Tome el valor de la URL de federación de IAM y agregue ?RelayState=, seguido de la URL de su panel de QuickSight. El parámetro RelayState transmite el estado (la URL) en el que se encontraba el usuario cuando se le redirigió a la URL de autenticación.

  3. A la nueva federación de IAM con el estado de retransmisión agregado, agregue la URL del panel de QuickSight. La URL resultante debería ser similar a la siguiente:

    https://dev-1-----0.okta.com/app/amazon_aws/abcdef2hATwiVft645d5/sso/saml?RelayState=https://us-west-2.quicksight.aws.amazon.com/sn/analyses/12a12a2a-121a-212a-121a-abcd12abc1ab
  4. Si el enlace que ha creado no se abre, compruebe que está utilizando la URL de federación de IAM más reciente de metadata.xml. Compruebe también que el nombre de usuario que utiliza para iniciar sesión no esté asignado a más de una aplicación Okta de la federación de IAM.