Concesión de acceso a la AWS Management Console a los usuarios federados 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 AWS Management Console. 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:
-
AWS CLI: Cambiar a un rol de IAM (AWS CLI)
-
Tools for Windows PowerShell: Cambiar a un rol de IAM (Herramientas para Windows PowerShell)
-
API de AWS: Cambiar a un rol de IAM (API de AWS)
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 Federación SAML 2.0 porque este flujo de trabajo abre la AWS Management Console en nombre del usuario. Esto requiere el uso del punto de conexión de inicio de sesión 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 AWS Management Console.
El siguiente diagrama muestra los siguientes pasos:
-
El usuario navega al portal de su organización y selecciona la opción para ir a la AWS Management Console. 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 -
El portal verifica la identidad del usuario de la organización.
-
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. -
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.
-
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.
-
AWS envía la dirección URL de inicio de sesión al cliente en forma de redireccionamiento.
-
El navegador del cliente se redirige hacia la AWS Management Console. 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 AWS Management Console, 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 AWS Management Console 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 AWS Management Console 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 Crear un proveedor de identidades de SAML en 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 AWS Management Console. 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
:saml-provider/ExampleOrgSSOProvider"}, "Action": "sts:AssumeRoleWithSAML", "Condition": {"StringEquals": { "saml:edupersonorgdn": "ExampleOrg", "saml:aud": "https://signin.aws.amazon.com/saml" }} }] }
nota
Los proveedores de identidad de SAML que se utilizan en una política de confianza de roles deben estar en la misma cuenta en la que se encuentra el rol.
Puede incluir puntos de conexión regionales para el atributo saml:aud
en https://
. Para obtener una lista de los posibles valores de region-code
.signin.aws.amazon.com/static/saml-metadata.xmlregion-code
, consulte la columna Region (Región) en Puntos de conexión de inicio de sesión de AWS.
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
Notifique a su IdP de SAML de que AWS es su proveedor de servicios mediante la instalación del archivo saml-metadata.xml
que se encuentra en https://
o region-code
.signin.aws.amazon.com/static/saml-metadata.xmlhttps://signin.aws.amazon.com/static/saml-metadata.xml
. Para obtener una lista de los posibles valores de region-code
, consulte la columna Region (Región) en Puntos de conexión de inicio de sesión de AWS.
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 Configure aserciones SAML para la respuesta de autenticación.