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
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
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
Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
En el panel de navegación, elija Proveedores de identidades.
-
Elija Add Provider (Agregar proveedor).
-
En Provider type (Tipo de proveedor), elija SAML.
-
En Provider name (Nombre de proveedor), ingrese
adfs-saml-provider
. -
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 -
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.
-
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
-
En el panel de navegación de la consola de IAM, elija Roles.
-
Seleccione Crear rol.
-
En Trusted entity type (Tipo de entidad de confianza), elija SAML 2.0 federation (Federación SAML 2.0).
-
En SAML 2.0-based provider (Proveedor basado en SAML 2.0), elija el proveedor adfs-saml-provider que creó.
-
Elija Permitir acceso mediante programación y mediante la Consola de administración de AWS y, a continuación, elija Siguiente.
-
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
yAmazonS3FullAccess
. -
Elija Siguiente.
-
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::
. El campoaccount_id
:saml-provider/adfs-saml-provider"Condition
debe contener"SAML:aud"
y"https://signin.aws.amazon.com/saml"
.En Step 2: Add permissions (Paso 2: Agregar permisos), se muestran las políticas que ha adjuntado al rol.
-
Seleccione Crear rol. Un mensaje de banner confirma la creación del rol.
-
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.
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
-
Inicie sesión en el servidor de AD FS.
-
En el menú Start (Inicio), abra Server Manager (Administrador de servidores).
-
Elija Tools (Herramientas) y, a continuación, elija AD FS Management (Administración de AD FS).
-
En el panel de navegación, en Trust Relationships (Relaciones de confianza), elija Relying Party Trusts (Relaciones de confianza para usuario autenticado).
-
En Actions (Acciones), seleccione Add Relying Party Trust (Agregar relación de confianza).
-
En la página Add Relying Party Trust Wizard (Asistente para agregar confianza de parte), elija Start (Inicio).
-
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).
-
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
. -
Elija Siguiente.
-
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).
-
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.
-
Elija Siguiente.
-
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.
-
Elija Siguiente.
-
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.
-
En la página Finish (Finalizar), elija Close (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
-
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).
-
Busque la parte de confianza que creó en la sección anterior.
-
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 Add Rule (Agregar regla).
-
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).
-
-
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), introduzcahttps://aws.amazon.com/SAML/Attributes/RoleSessionName
.
-
-
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);
-
-
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/"));
-
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
-
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).
-
En el panel de navegación, seleccione Usuarios.
-
En la barra de herramientas Active Directory Users and Computers (Usuarios y equipos de Active Directory), elija la opción Create user (Crear usuario).
-
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
. -
Elija Siguiente.
-
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.
-
Elija Siguiente.
-
Seleccione Finalizar.
-
En Active Directory Users and Computers (Equipos y usuarios de Active Directory), elija el nombre de usuario.
-
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
. -
Seleccione 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
-
En el panel del administrador de servidores, en el menú Tools (Herramientas), elija Active Directory Users and Computers (Equipos y usuarios de Active Directory).
-
En la barra de herramientas, seleccione la opción Create new group (Crear nuevo grupo).
-
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).
-
-
Seleccione 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
-
En el panel del administrador de servidores, en el menú Tools (Herramientas), elija Active Directory Users and Computers (Equipos y usuarios de Active Directory).
-
En First name (Nombre) y Last name (Apellidos), elija un usuario (por ejemplo, Jane Doe).
-
En el cuadro de diálogo Properties (Propiedades) del usuario, en la pestaña Member Of (Miembro de), seleccione Add (Agregar).
-
Agregue uno o más grupos de AD FS según sus necesidades. Este tutorial agrega el grupo aws-adfs-data-access.
-
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 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).
-
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
-
Instale el controlador ODBC para Athena. Para obtener enlaces de descarga, consulte Conexión a Amazon Athena con ODBC.
-
En Windows, elija Start (Inicio), ODBC Data Sources (Orígenes de datos ODBC).
-
En el programa ODBC Data Source Administrator (Administrador de orígenes de datos ODBC), elija Add (Agregar).
-
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).
-
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.
-
-
Elija Authentication Options (Opciones de autenticación).
-
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).
-
-
Elija OK (Aceptar) para cerrar las Authentication Options (Opciones de autenticación).
-
Elija Test (Probar) para probar la conexión o OK (Aceptar) para finalizar.