Configuración del acceso federado a Amazon Athena para los usuarios de Microsoft AD FS mediante un cliente ODBC - Amazon Athena

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración del acceso federado a Amazon Athena para los usuarios de Microsoft AD FS mediante un cliente ODBC

Para configurar el acceso federado a Amazon Athena para los usuarios de los Servicios de federación de Active Directory (AD FS) mediante un cliente ODBC, primero debe establecer una relación de confianza entre AD FS y su cuenta de AWS. Con esta relación confianza, los usuarios de AD pueden federarse en AWS con sus credenciales de AD y asumir los permisos de un rol de AWS Identity and Access Management (IAM) para acceder a recursos de AWS como la API de Athena.

Para crear esta relación de confianza, agregue AD FS como proveedor SAML a su Cuenta de AWS y cree un rol de IAM que los usuarios federados puedan asumir. En el lado de AD FS, se agrega AWS como parte de confianza y se escriben reglas de reclamación SAML para enviar los atributos de usuario correctos a AWS para su autorización (específicamente, Athena y Amazon S3).

La configuración del acceso de AD FS a Athena implica los siguientes pasos principales:

1. Configuración de un rol y un proveedor SAML de IAM

2. Configuración de AD FS

3. Creación de usuarios y grupos de Active Directory

4. Configuración de la conexión ODBC de AD FS a Athena

1. Configuración de un rol y un proveedor SAML de IAM

En esta sección, agregue AD FS como proveedor SAML a su cuenta de AWS y cree un rol de IAM que los usuarios federados puedan asumir.

Para configurar un proveedor SAML
  1. Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, elija Identity providers (Proveedores de identidades).

  3. Elija Add Provider (Agregar proveedor).

  4. En Provider type (Tipo de proveedor), elija SAML.

    
                        Elija SAML.
  5. En Provider name (Nombre de proveedor), ingrese adfs-saml-provider.

  6. En un navegador, introduzca la siguiente dirección para descargar el archivo XML de federación para su servidor de AD FS. Para realizar este paso, el navegador debe tener acceso al servidor de AD FS.

    https://adfs-server-name/federationmetadata/2007-06/federationmetadata.xml
  7. En la consola de IAM, en Metadata document (Documento de metadatos), seleccione Choose file (Elegir archivo) y, a continuación, suba el archivo de metadatos de la federación a AWS.

  8. Para terminar, seleccione Add provider (Agregar proveedor).

A continuación, cree el rol de IAM que los usuarios federados puedan asumir.

Para crear un rol de IAM para usuarios federados
  1. En el panel de navegación de la consola de IAM, elija Roles.

  2. Elija Create role (Crear rol).

  3. En Trusted entity type (Tipo de entidad de confianza), elija SAML 2.0 federation (Federación SAML 2.0).

  4. En SAML 2.0-based provider (Proveedor basado en SAML 2.0), elija el proveedor adfs-saml-provider que creó.

  5. Elija Permitir acceso mediante programación y mediante la Consola de administración de AWS y, a continuación, elija Siguiente.

    
                        Elegir SAML como tipo de entidad de confianza.
  6. En la página Add permissions (Agregar permisos), filtre las políticas de permisos de IAM que necesita para este rol y, a continuación, seleccione las casillas de verificación correspondientes. En este tutorial se adjuntan las políticas AmazonAthenaFullAccess y AmazonS3FullAccess.

    
                        Adjuntar la política de acceso completo de Athena al rol.
    
                        Adjuntar la política de acceso completo de Amazon S3 al rol.
  7. Elija Next (Siguiente).

  8. En la página Name, review, and create (Asignar nombre, revisar y crear), en Role name (Nombre de rol), ingrese un nombre para el rol de IAM. Este tutorial usa el nombre adfs-data-access.

    En Step 1: Select trusted entities (Paso 1: Seleccionar entidades de confianza), el campo Principal (Entidad principal) debe rellenarse automáticamente con "Federated:" "arn:aws:iam::account_id:saml-provider/adfs-saml-provider". El campo Condition debe contener "SAML:aud" y "https://signin.aws.amazon.com/saml".

    
                        JSON de entidades de confianza.

    En Step 2: Add permissions (Paso 2: Agregar permisos), se muestran las políticas que ha adjuntado al rol.

    
                        Lista de las políticas adjuntadas a un rol.
  9. Elija Create role (Crear rol). Un mensaje de banner confirma la creación del rol.

  10. En la página Roles, seleccione el nombre del rol que acaba de crear. La página de resumen del rol muestra las políticas que se han adjuntado.

    
                        Página de resumen del rol.

2. Configuración de AD FS

Ahora está listo para agregar AWS como parte de confianza y escribir reglas de reclamación de SAML para poder enviar los atributos de usuario correctos a AWS para su autorización.

La federación basada en SAML tiene dos partes participantes: el IdP (Active Directory) y la parte de confianza (AWS), que es el servicio o la aplicación que utiliza la autenticación del IdP.

Para configurar AD FS, primero se agrega una parte de confianza y, a continuación, se configuran las reglas de reclamación de SAML para la parte de confianza. AD FS utiliza reglas de reclamación para formar una aserción SAML que se envía a una parte de confianza. La aserción SAML declara que la información sobre el usuario de AD es verdadera y que ha autenticado al usuario.

Adición de una relación de confianza

Para agregar una relación de confianza en AD FS, utilice el administrador de servidores de AD FS.

Para agregar una relación de confianza en AD FS
  1. Inicie sesión en el servidor de AD FS.

  2. En el menú Start (Inicio), abra Server Manager (Administrador de servidores).

  3. Elija Tools (Herramientas) y, a continuación, elija AD FS Management (Administración de AD FS).

    
                            Elija Tools (Herramientas), AD FS Management (Administración de AD FS).
  4. En el panel de navegación, en Trust Relationships (Relaciones de confianza), elija Relying Party Trusts (Relaciones de confianza para usuario autenticado).

  5. En Actions (Acciones), seleccione Add Relying Party Trust (Agregar relación de confianza).

    
                            Elija Add Relying Party Trust (Agregar relación de confianza).
  6. En la página Add Relying Party Trust Wizard (Asistente para agregar confianza de parte), elija Start (Inicio).

    
                            Elija Start (Inicio).
  7. En la pantalla Select Data Source (Seleccionar origen de datos), elija Import data about the relying party published online or on a local network (Importar los datos sobre la parte de confianza publicados en línea o en una red local).

  8. En Federation metadata address (host name or URL) (Dirección de metadatos de federación [nombre de host o URL]), introduzca la URL https://signin.aws.amazon.com/static/saml-metadata.xml.

  9. Elija Next (Siguiente).

    
                            Configurar el origen de datos.
  10. En la página Specify Display Name (Especificar nombre para mostrar), en Display name (Nombre para mostrar), introduzca un nombre para la parte de confianza y, a continuación, elija Next (Siguiente).

    
                            Introduzca un nombre para mostrar para la parte de confianza.
  11. En la página Configure Multi-factor Authentication Now (Configurar la autenticación multifactor ahora), este tutorial selecciona I do not want to configure multi-factor authentication for this relying party trust at this time (No quiero configurar la autenticación multifactor para esta parte de confianza en este momento).

    Para más seguridad, le recomendamos que configure la autenticación multifactor para ayudar a proteger sus recursos de AWS. Como utiliza un conjunto de datos de muestra, este tutorial no habilita la autenticación multifactor.

    
                            Configurar la autenticación multifactor.
  12. Elija Next (Siguiente).

  13. En la página Choose Issuance Authorization Rules (Elegir reglas de autorización de emisión), seleccione Permit all users to access this relying party (Permitir que todos los usuarios tengan acceso a esta parte de confianza).

    Esta opción permite que todos los usuarios de Active Directory usen AD FS con AWS como parte de confianza. Debe tener en cuenta sus requisitos de seguridad y ajustar esta configuración en consecuencia.

    
                            Configurar el acceso de los usuarios a la parte de confianza.
  14. Elija Next (Siguiente).

  15. En la página Ready to Add Trust (Listo para agregar confianza), elija Next (Siguiente) para agregar la parte de confianza a la base de datos de configuración de AD FS.

    
                            Elija Next (Siguiente).
  16. En la página Finish (Finalizar), elija Close (Cerrar).

    
                            Elija Cerrar.

Configuración de las reglas de reclamación SAML para la parte de confianza

En esta tarea, creará dos conjuntos de reglas de reclamación.

El primer conjunto, de la regla 1 a la 4, contiene las reglas de reclamación de AD FS necesarias para asumir un rol de IAM basado en la pertenencia a un grupo de AD. Estas son las mismas reglas que se crean si se quiere establecer un acceso federado a la AWS Management Console.

El segundo conjunto, reglas 5 y 6, son reglas de reclamación necesarias para el control de acceso de Athena.

Para crear reglas de reclamación de AD FS
  1. En el panel de navegación de la consola de administración de AD FS, elija Trust Relationships (Relaciones de confianza), Relying Party Trusts (Relaciones de confianza para usuario autenticado).

  2. Busque la parte de confianza que creó en la sección anterior.

  3. Haga clic con el botón derecho en la parte de confianza y seleccione Edit Claim Rules (Editar reglas de reclamación) o Edit Claim Rules (Editar reglas de reclamación) en el menú Actions (Acciones).

    
                            Seleccione Edit Claim Rules (Editar reglas de reclamación).
  4. Seleccione Add Rule (Agregar regla).

  5. En la página Configure Rule (Configurar regla) del asistente para agregar reglas de reclamación de transformación, introduzca la siguiente información para crear la regla de reclamación 1 y, a continuación, elija Finish (Finalizar).

    • En Claim Rule name (Nombre de regla de reclamación), escriba NameID.

    • En Rule template (Plantilla de reglas), utilice Transform an Incoming Claim (Transformar una reclamación entrante).

    • En Incoming claim type (Tipo de reclamación entrante), elija Windows account name (Nombre de cuenta de Windows).

    • En Outgoing claim type (Tipo de reclamación saliente), elija Name ID (ID de nombre).

    • En Outgoing name ID format (Formato de ID de nombre saliente), elija Persistent Identifier (Identificador persistente).

    • Elija Pass through all claim values (Acceso directo a todos los valores de reclamación).

    
                            Cree la primera regla de reclamación.
  6. Elija Add Rule (Agregar regla) y, a continuación, introduzca la siguiente información para crear la regla de reclamación 2 y, finalmente, elija Finish (Finalizar).

    • En Claim rule name (Nombre de regla de reclamación), escriba RoleSessionName.

    • En Rule template (Plantilla de reglas), utilice Send LDAP Attribute as Claims (Enviar atributo LDAP como reclamaciones).

    • En Attribute store (Almacén de atributos), elija Active Directory.

    • En Mapping of LDAP attributes to outgoing claim types (Asignación de atributos LDAP a tipos de reclamación salientes), agregue el atributo E-Mail-Addresses. En Outgoing Claim Type (Tipo de reclamación saliente), introduzca https://aws.amazon.com/SAML/Attributes/RoleSessionName.

    
                            Cree la segunda regla de reclamación.
  7. Elija Add Rule (Agregar regla) y, a continuación, introduzca la siguiente información para crear la regla de reclamación 3 y, finalmente, elija Finish (Finalizar).

    • En Claim rule name (Nombre de regla de reclamación), escriba Get AD Groups.

    • En Rule template (Plantilla de reglas), utilice Send Claims Using a Custom Rule (Enviar reclamaciones utilizando una regla personalizada).

    • En Custom rule (Regla personalizada), escriba 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);
      
                                    Cree la tercera regla de reclamación.
  8. Seleccione Add Rule (Agregar regla). Introduzca la siguiente información para crear la regla de reclamación 4 y, a continuación, seleccione Finish (Finalizar).

    • En Claim rule name (Nombre de regla de reclamación), escriba Role.

    • En Rule template (Plantilla de reglas), utilice Send Claims Using a Custom Rule (Enviar reclamaciones utilizando una regla personalizada).

    • En Custom rule (Regla personalizada), introduzca el siguiente código con su número de cuenta y el nombre del proveedor SAML que creó anteriormente:

      c:[Type == "http://temp/variable", Value =~ "(?i)^aws-"]=> issue(Type = "https://aws.amazon.com/SAML/Attributes/Role", Value = RegExReplace(c.Value, "aws-", "arn:aws:iam::AWS_ACCOUNT_NUMBER:saml-provider/adfs-saml-provider,arn:aws:iam:: AWS_ACCOUNT_NUMBER:role/"));
    
                            Cree la cuarta regla de reclamación.

3. Creación de usuarios y grupos de Active Directory

Ahora está listo para crear usuarios de AD que accederán a Athena, y grupos de AD en los que colocarlos para poder controlar los niveles de acceso por grupo. Después de crear grupos de AD que clasifiquen los patrones de acceso a los datos, agregue sus usuarios a esos grupos.

Para crear usuarios de AD para acceder a Athena
  1. En el panel del administrador de servidores, seleccione Tools (Herramientas) y, a continuación, Active Directory Users and Computers (Usuarios y equipos de Active Directory).

    
                        Elija Tools (Herramientas), Active Directory Users and Computers (Usuarios y equipos de Active Directory).
  2. En el panel de navegación, seleccione Users (Usuarios).

  3. En la barra de herramientas Active Directory Users and Computers (Usuarios y equipos de Active Directory), elija la opción Create user (Crear usuario).

    
                        Seleccione la opción Create user.
  4. En el cuadro de diálogo New Object - User (Nuevo objeto: usuario), rellene First name (Nombre), Last name (Apellidos) y Full name (Nombre completo). En este tutorial se utiliza un Jane Doe.

    
                        Escriba un nombre de usuario.
  5. Elija Next (Siguiente).

  6. En Password (Contraseña), introduzca una contraseña y, a continuación, vuelva a escribirla para confirmarla.

    Para simplificar, este tutorial anula la selección de User must change password at next sign on (El usuario debe cambiar la contraseña la próxima vez que inicie sesión). En situaciones reales, debe exigir a los usuarios recién creados que cambien su contraseña.

    
                        Introduzca la contraseña.
  7. Elija Next (Siguiente).

  8. Elija Finalizar.

    
                        Elija Finalizar.
  9. En Active Directory Users and Computers (Equipos y usuarios de Active Directory), elija el nombre de usuario.

  10. En el cuadro de diálogo Properties (Propiedades) del usuario, introduzca una dirección de correo electrónico en E-mail (Correo electrónico). En este tutorial se utiliza un jane@example.com.

    
                        Escriba una dirección de correo electrónico.
  11. Seleccione OK (Aceptar).

Creación de grupos de AD para representar patrones de acceso a los datos

Puede crear grupos de AD cuyos miembros asuman el rol de IAM adfs-data-access al iniciar sesión en AWS. En el siguiente ejemplo, se crea un grupo de AD denominado aws-adfs-data-access.

Para crear un grupo de AD
  1. En el panel del administrador de servidores, en el menú Tools (Herramientas), elija Active Directory Users and Computers (Equipos y usuarios de Active Directory).

  2. En la barra de herramientas, seleccione la opción Create new group (Crear nuevo grupo).

    
                            Elija Create new group (Crear nuevo grupo).
  3. En el cuadro de diálogo New Object - Group (Nuevo objeto: grupo), introduzca la siguiente información:

    • En Group Name (Nombre de grupo), introduzca aws-adfs-data-access.

    • En Group scope (Ámbito del grupo), seleccione Global.

    • En Group type (Tipo de grupo), seleccione Security (Seguridad).

    
                            Crear un grupo de seguridad global en AD.
  4. Seleccione OK (Aceptar).

Adición de usuarios de AD a los grupos adecuados

Ahora que ha creado un usuario de AD y un grupo de AD, puede agregar el usuario al grupo.

Para agregar un usuario de AD a un grupo de AD
  1. En el panel del administrador de servidores, en el menú Tools (Herramientas), elija Active Directory Users and Computers (Equipos y usuarios de Active Directory).

  2. En First name (Nombre) y Last name (Apellidos), elija un usuario (por ejemplo, Jane Doe).

  3. En el cuadro de diálogo Properties (Propiedades) del usuario, en la pestaña Member Of (Miembro de), seleccione Add (Agregar).

    
                            Elija Add (Agregar).
  4. Agregue uno o más grupos de AD FS según sus necesidades. Este tutorial agrega el grupo aws-adfs-data-access.

  5. En el cuadro de diálogo Select Groups (Seleccionar grupos), en Enter the object names to select (Introducir los nombres de los objetos que se deseen seleccionar), introduzca el nombre del grupo de AD FS que creó (por ejemplo, aws-adfs-data-access) y, a continuación, seleccione Check Names (Comprobar nombres).

    
                            Seleccione Check Names (Comprobar nombres).
  6. Seleccione OK (Aceptar).

    En el cuadro de diálogo Properties (Propiedades) del usuario, el nombre del grupo de AD aparece en la lista Member of (Miembro de).

    
                            Se agregó el grupo de AD a las propiedades del usuario.
  7. Elija Apply (Aplicar) y, después, OK (Aceptar).

4. Configuración de la conexión ODBC de AD FS a Athena

Una vez que haya creado los usuarios y grupos de AD, estará listo para usar el programa de orígenes de datos ODBC en Windows para configurar la conexión ODBC a Athena de AD FS.

Para configurar la conexión ODBC de AD FS a Athena
  1. Instale el controlador ODBC para Athena. Para obtener enlaces de descarga, consulte Conexión a Amazon Athena con ODBC.

  2. En Windows, elija Start (Inicio), ODBC Data Sources (Orígenes de datos ODBC).

  3. En el programa ODBC Data Source Administrator (Administrador de orígenes de datos ODBC), elija Add (Agregar).

    
                        Elija Add (Agregar) para agregar un origen de datos ODBC.
  4. En el cuadro de diálogo Create New Data Source (Crear nuevo origen de datos), elija Simba Athena ODBC Driver (Controlador ODBC Simba Athena) y, a continuación, elija Finish (Finalizar).

    
                        Elija el controlador Simba Athena ODBC.
  5. En el cuadro de diálogo Simba Athena ODBC Driver DSN Setup (Configuración de DSN del controlador ODBC Simba Athena), introduzca los siguientes valores:

    • En Data Source Name (Nombre de origen de datos), ingrese un nombre para el origen de datos (por ejemplo, Athena-odbc-test).

    • En Description (Descripción), ingrese una descripción para el origen de datos.

    • En Región de AWS, ingrese la Región de AWS que usa (por ejemplo, us-west-1).

    • En S3 Output Location (Ubicación de salida de S3), ingrese la ruta de Amazon S3 en la que desea que se almacenen los datos de salida.

    
                        Introducir los valores para Simba Athena ODBC Driver DSN Setup (Configuración de DSN del controlador ODBC Simba Athena).
  6. Elija Authentication Options (Opciones de autenticación).

  7. En el cuadro de diálogo Authentication Options (Opciones de autenticación), indique los siguientes valores:

    • En Authentication Type (Tipo de autenticación), elija ADFS.

    • En User (Usuario), introduzca la dirección de correo electrónico del usuario (por ejemplo, jane@example.com).

    • En Password (Contraseña), introduzca la contraseña del usuario de ADFS.

    • En Host IdP (Host de IdP), introduzca el nombre del servidor de AD FS (por ejemplo, adfs.example.com).

    • En IdP Port (Puerto de IdP), utilice el valor predeterminado 443.

    • Seleccione la opción SSL Insecure (SSL inseguro).

    
                        Configurar las opciones de autenticación.
  8. Elija OK (Aceptar) para cerrar las Authentication Options (Opciones de autenticación).

  9. Elija Test (Probar) para probar la conexión o OK (Aceptar) para finalizar.