¿Cómo soluciono el error “respuesta SAML no válida” para Okta y la federación de AWS IAM?

Última actualización: 23-05-2022

Cuando inicio sesión en AWS con Okta, recibo un error de SAML no válido similar al siguiente:

“Your request included an invalid SAML response. To logout, click here”. (“Su solicitud incluye una respuesta SAML no válida. Para cerrar sesión, haga clic aquí”.)

¿Cómo soluciono este error?

Descripción corta

Cuando utiliza la federación de cuentas de AWS en Okta, es posible que reciba un error de SAML no válido al iniciar sesión en AWS. Esto puede ocurrir si no proporciona toda la información del atributo del rol en una respuesta SAML o dicha información es incorrecta. El valor esperado de este atributo es uno o más pares separados por comas de un rol de AWS Identity and Access Management (IAM) y el proveedor de SAML, como se muestra a continuación:

<Attribute Name="https://aws.amazon.com/SAML/Attributes/Role">
  <AttributeValue>arn:aws:iam::ACCOUNT_NUMBER:role/ROLE_NAME_1,arn:aws:iam::ACCOUNT_NUMBER:saml-provider/PROVIDER_NAME/AttributeValue>
  <AttributeValue>arn:aws:iam::ACCOUNT_NUMBER:role/ROLE_NAME_2,arn:aws:iam::ACCOUNT_NUMBER:saml-provider/PROVIDER_NAME</AttributeValue>
  <AttributeValue>arn:aws:iam::ACCOUNT_NUMBER:role/ROLE_NAME_3,arn:aws:iam::ACCOUNT_NUMBER:saml-provider/PROVIDER_NAME</AttributeValue>
</Attribute>

Para ver la respuesta SAML en el navegador, siga los pasos en Cómo ver una respuesta SAML en el navegador para solucionar el error.

Resolución

Si utiliza la configuración Use Group Mapping (Utilizar mapeo de grupo) en Okta, siga los pasos que se indican en Connect to Okta with multiple AWS accounts (Conectarse a Okta con varias cuentas de AWS). Si no la utiliza, vaya a Connect to Okta with a single AWS account (Conectarse a Okta con una sola cuenta de AWS). 

Conectarse a Okta con varias cuentas de AWS

Si se conecta a Okta con varias cuentas de AWS, luego Okta utiliza el mapeo de roles basado en grupos. Esto significa que Okta utiliza el nombre del grupo para identificar el ID de la cuenta de AWS y el nombre del rol de IAM para SSO.

Nota: Asegúrese de ingresar correctamente el Filtro de grupo y el Patrón de valores del rol en Okta para capturar la información con precisión:

1.    Inicie sesión en la consola de administración de Okta.

2.    Seleccione Applications (Aplicaciones) y, luego, otra vez Applications (Aplicaciones).

3.    Seleccione Sign On (Iniciar sesión) y luego, Edit (Editar).

4.    El Filtro de grupos es una expresión Regex personalizada que captura información como el ID de la cuenta de AWS y el nombre del rol de IAM para el nombre del grupo de Okta. Para obtener más información, consulte el documento de configuración de Okta.

La guía de configuración ofrece este ejemplo:

Group name: "aws#[account alias]#[role name]#[account #]" 
Group Filter: "^aws\#\S+\#(?{{role}}[\w\-]+)\#(?{{accountid}}\d+)$"

Puede ver este ejemplo si desea personalizar el nombre del grupo. Consulte estos ejemplos de nombres de grupos y filtros de grupos:

Group Name: [account alias]|[role name]|[account #] 
Group Filter: ^\S+\|(?{{role}}[a-zA-Z0-9+=.@\-_]+)\|(?{{accountid}}\d+)$
Group Name: aws_[account #]_[role name] 
Group Filter: ^aws\_(?{{accountid}}\d+)\_(?{{role}}[a-zA-Z0-9+=.@\-_]+)$

Nota:

  • El nombre del rol de IAM admite caracteres alfanuméricos y “+=,.@-_”. Considere utilizar delimitadores que no formen parte del nombre del rol (p. ej., “#” o “|”) si recibe un error ocasionado por el filtro de grupos.
  • El nombre de su rol de IAM no debe contener “,” si quiere iniciar sesión con la federación de IAM. Esto se debe a que el patrón de valores de rol que se muestra a continuación utiliza una coma para separar el proveedor de SAML y el nombre del rol. Cree un nuevo rol de IAM sin coma en el nombre para utilizarlo con la federación de IAM.

5.    El patrón Valor de rol debe contener el ARN del rol de IAM y el proveedor de SAML, separados por una coma. Reemplace el Nombre del proveedor de SAML en este ejemplo con el nombre del proveedor de la instancia de Okta. Puede encontrar esta información en la consola de AWS IAM, en Identity providers (Proveedores de identidad).

arn:aws:iam::${accountid}:saml-provider/[SAML Provider Name],arn:aws:iam::${accountid}:role/${role}

Nota: El nombre del proveedor de SAML debe ser idéntico en todas sus cuentas de AWS.

6.    Seleccione Save (Guardar).

7.    Pruebe el inicio de sesión del usuario de Okta en AWS para confirmar si se ha solucionado el error.

Conectarse a Okta con una sola cuenta de AWS

Para la configuración de una sola cuenta, Okta configura automáticamente el patrón de valores de rol. Si ve el mensaje de error “Your request included an invalid SAML response. To logout, click here” (“Su solicitud incluyó una respuesta SAML no válida. Para cerrar sesión, haga clic aquí”), para la integración de una sola cuenta, abra un caso de soporte con Okta para investigar el problema.


Error: Your request included an invalid SAML response. To logout, click here (Error: su solicitud incluyó una respuesta SAML no válida. Para cerrar sesión, haga clic aquí).

How to configure SAML 2.0 for AWS Account Federation

¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?