Concesión de acceso a la Consola de administración de AWS a los usuarios federados de SAML 2.0 - AWS Identity and Access Management

Concesión de acceso a la Consola de administración de AWS a los usuarios federados de SAML 2.0

Puede utilizar un rol para configurar un proveedor de identidad compatible con SAML 2.0 y AWS de modo que se permita a los usuarios federados el acceso a la Consola de administración de AWS. El rol otorga los permisos de usuario para realizar tareas en la consola. Si desea ofrecer a los usuarios federados de SAML otras formas para acceder a AWS, consulte uno de estos temas:

Información general

El siguiente diagrama ilustra el flujo para el inicio de sesión único habilitado para SAML.

nota

Este uso específico de SAML difiere del más general que se muestra en Acerca de la federación basada en SAML 2.0 porque este flujo de trabajo abre la Consola de administración de AWS en nombre del usuario. Esto requiere el uso del punto de enlace de SSO de AWS en lugar de llamar directamente a la API AssumeRoleWithSAML. El punto de enlace llama a la API para el usuario y devuelve una URL que redirige automáticamente al navegador del usuario a la Consola de administración de AWS.


          Inicio de sesión único (SSO) a la consola de administración de AWS mediante SAML

El siguiente diagrama muestra los siguientes pasos:

  1. El usuario navega al portal de su organización y selecciona la opción para ir a la Consola de administración de AWS. En su organización, el portal suele ser una función del IdP que gestiona el intercambio de confianza entre su organización y AWS. Por ejemplo, en Active Directory Federation Services, la dirección URL del portal es: https://ADFSServiceName/adfs/ls/IdpInitiatedSignOn.aspx

  2. El portal verifica la identidad del usuario de la organización.

  3. El portal genera una respuesta de autenticación SAML que incluye aserciones que identifican al usuario e incluyen atributos sobre el usuario. También puede configurar su proveedor de identidad para incluir un atributo de la aserción de SAML llamado SessionDuration que especifica durante cuánto tiempo es válida la sesión de la consola. También puede configurar el IdP para que pase atributos como las etiquetas de sesión. El portal envía esta respuesta al navegador del cliente.

  4. Se redirige al navegador del cliente al punto de enlace de inicio de sesión único de AWS y publica esta aserción de SAML.

  5. El punto de enlace solicita credenciales de seguridad temporales en nombre del usuario y crea una dirección URL de inicio de sesión de la consola que utiliza dichas credenciales.

  6. AWS envía la dirección URL de inicio de sesión al cliente en forma de redireccionamiento.

  7. El navegador del cliente se redirige hacia la Consola de administración de AWS. Si la respuesta de autenticación de SAML incluye atributos asociados a varios roles de IAM, el usuario primero deberá seleccionar el rol para acceder a la consola.

Desde el punto de vista del usuario, el proceso se realiza de forma transparente: el usuario comienza en el portal interno de la organización y acaba en la Consola de administración de AWS, sin haber tenido que escribir las credenciales de AWS.

Consulte las secciones siguientes para obtener información general acerca de cómo configurar este comportamiento junto con enlaces a pasos detallados.

Configurar la red como proveedor SAML para AWS

En la red de su organización, configure el almacén de identidades (como Windows Active Directory) de modo que funcione con un IdP basado en SAML, como Windows Active Directory Federation Services, Shibboleth, etc. Utilice el IdP para generar un documento de metadatos que describa la organización como IdP e incluya claves de autenticación. También puede configurar el portal de su organización para dirigir las solicitudes de los usuarios para la Consola de administración de AWS al punto de enlace SAML de AWS para la autenticación mediante aserciones SAML. Cómo configurar el proveedor de identidad para producir el archivo metadata.xml depende del proveedor de identidad. Consulte la documentación del proveedor de identidad para obtener instrucciones o consulte Integración de proveedores de soluciones SAML externos con AWS para encontrar enlaces a la documentación web de muchos de los proveedores SAML compatibles.

Crear un proveedor SAML en IAM

A continuación, inicie sesión en la Consola de administración de AWS y vaya la consola de IAM. Cree un nuevo proveedor SAML, que es una entidad de IAM que contiene la información sobre el IdP de la organización. Durante este proceso, cargue el documento de metadatos generado por el software del proveedor de identidad de la organización de la sección anterior. Para obtener más información, consulte Creación de proveedores de identidad SAML de IAM.

Configurar permisos en AWS para los usuarios federados

El siguiente paso consiste en crear un rol de IAM que establezca una relación de confianza entre IAM y el IdP de su organización. Este rol debe identificar su IdP como una entidad principal (entidad de confianza) a efectos de la federación. El rol también define qué pueden hacer los usuarios autenticados mediante el proveedor de identidad de la organización en AWS. Puede utilizar la consola de IAM para crear este rol. Al crear la política de confianza que indica quién puede asumir el rol, especifique el proveedor SAML que creó anteriormente en IAM. Especifique también uno o más atributos de SAML que debe tener un usuario para poder asumir el rol. Por ejemplo, puede especificar que solo los usuarios cuyo valor SAML eduPersonOrgDN es ExampleOrg puedan iniciar sesión. El asistente de rol añade automáticamente una condición para probar el atributo saml:aud para asegurarse de que el rol se asume solo para iniciar sesión en la Consola de administración de AWS. La política de confianza del rol podría tener el siguiente aspecto:

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": {"Federated": "arn:aws:iam::ACCOUNT-ID-WITHOUT-HYPHENS:saml-provider/ExampleOrgSSOProvider"}, "Action": "sts:AssumeRoleWithSAML", "Condition": {"StringEquals": { "saml:edupersonorgdn": "ExampleOrg", "saml:aud": "https://signin.aws.amazon.com/saml" }} }] }

Para la política de permisos del rol, debe especificar los permisos de la misma forma que haría para un rol, usuario o grupo. Por ejemplo, si los usuarios de su organización pueden administrar instancias Amazon EC2, usted permite de forma explícita las acciones de Amazon EC2 en la política de permisos. Puede hacer esto asignando una política administrada, como la política administrada Amazon EC2 Full Access.

Para obtener más información acerca de cómo crear un rol para un proveedor de identidad SAML, consulte Creación de un rol para una federación SAML 2.0 (consola).

Finalizar la configuración y crear aserciones de SAML

Una vez creada la función, informe al IdP de SAML acerca de AWS como proveedor de servicios. Para ello, instale el archivo saml-metadata.xml que encontrará en https://signin.aws.amazon.com/static/saml-metadata.xml. La instalación de dicho archivo depende del proveedor de identidad. Algunos proveedores ofrecen la opción de escribir la URL, en cuyo caso el IdP obtiene e instala el archivo automáticamente. Otros requieren que descargue el archivo de la URL y, a continuación, lo proporcione como archivo local. Consulte la documentación del proveedor de identidad para obtener información detallada o consulte Integración de proveedores de soluciones SAML externos con AWS para encontrar enlaces a la documentación web de cualquiera de los proveedores SAML compatibles.

También puede configurar la información que quiere que el proveedor de identidad traspase como atributos SAML a AWS dentro de la respuesta de autenticación. La mayor parte de esta información aparece en AWS como claves de contexto de condición que puede evaluar en sus políticas. Estas claves de condición garantizan que solo los usuarios autorizados en los contextos adecuados tengan permisos para acceder a los recursos de AWS. Puede especificar períodos de tiempo que restrinjan cuándo se puede utilizar la consola. También puede especificar el tiempo máximo (hasta 12 horas) durante el cuál los usuarios pueden acceder a la consola antes de tener que renovar sus credenciales. Para obtener más información, consulte Configuración de aserciones SAML para la respuesta de autenticación.