Configurar un SAML proveedor como un IdP de grupo de identidades - Amazon Cognito

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.

Configurar un SAML proveedor como un IdP de grupo de identidades

Con los grupos de identidades de Amazon Cognito, puede autenticar a los usuarios con proveedores de identidad (IdPs) hasta la versión 2.0. SAML Puede usar un IdP compatible SAML con Amazon Cognito para proporcionar un flujo de incorporación sencillo a sus usuarios. El IdP de SAML apoyo especifica IAM las funciones que pueden asumir los usuarios. De esta forma, distintos usuarios pueden recibir distintos conjuntos de permisos.

Configuración del grupo de identidades para un SAML IdP

Los siguientes pasos describen cómo configurar el grupo de identidades para usar un SAML IdP basado.

Para agregar un proveedor de SAML identidad (IdP)
  1. Elija Grupos de identidades en la consola de Amazon Cognito. Seleccione un grupo de identidades.

  2. Elija la pestaña Acceso de usuario.

  3. Seleccione Agregar proveedor de identidades.

  4. Elija SAML.

  5. Elija un proveedor de SAML IAM IdPs identidad entre sus Cuenta de AWS. Si quieres añadir un nuevo SAML proveedor, selecciona Crear nuevo proveedor para ir a la IAM consola.

  6. Para establecer el rol que Amazon Cognito solicita cuando emite credenciales a los usuarios que se han autenticado con este proveedor, configure Configuración del rol.

    1. Puede asignar a los usuarios de ese IdP el Rol predeterminado que configuró al configurar el Rol autenticado o puede Elegir el rol con reglas.

      1. Si eligió Elegir rol con reglas, ingrese la Reclamación de origen de la autenticación del usuario, el Operador con el que desea comparar la afirmación, el Valor que hará que coincida con esta elección de rol y el Rol que desea asignar cuando la Asignación del rol coincida. Seleccione Agregar otra para crear una regla adicional en función de una condición diferente.

      2. Elija una Resolución de rol. Cuando las reclamaciones del usuario no coinciden con las reglas, puede denegar las credenciales o emitir credenciales para el Rol autenticado.

  7. Para cambiar las etiquetas de la entidad principal que Amazon Cognito asigna cuando emite credenciales a los usuarios que se han autenticado con este proveedor, configure Atributos para el control de acceso.

    1. Para no aplicar ninguna etiqueta de entidad principal, elija Inactivo.

    2. Para aplicar etiquetas de entidades principales en función de las reclamaciones sub y aud, elija Usar mapeos predeterminados.

    3. Para crear su propio esquema personalizado de atributos para las etiquetas de la entidades principales, elija Usar mapeos personalizados. A continuación, ingrese una Clave de etiqueta que desee obtener de cada Reclamación que desee representar en una etiqueta.

  8. Seleccione Guardar cambios.

Configuración de su SAML IdP

Después de crear el SAML proveedor, configure su SAML IdP para añadir la confianza de la parte de confianza entre su IdP y. AWS Con muchas IdPs, puede especificar una URL que el IdP pueda usar para leer la información y los certificados de la parte que confía en un XML documento. Para AWS ello, puede utilizar https://signin.aws.amazon.com/static/saml-metadata.xml. El siguiente paso es configurar la respuesta de SAML aserción de su IdP para completar las reclamaciones que necesita. AWS Para obtener más información sobre la configuración de las notificaciones, consulte Configurar SAML las aserciones para la respuesta de autenticación.

Cuando su SAML IdP incluye más de un certificado de firma en SAML los metadatos, al iniciar sesión, su grupo de usuarios determina que la SAML afirmación es válida si coincide con algún certificado de los metadatos. SAML

Personaliza tu rol de usuario con SAML

Cuando lo usa SAML con Amazon Cognito Identity, puede personalizar el rol del usuario final. Amazon Cognito solo admite el flujo mejorado con el SAML IdP basado. No es necesario especificar un rol autenticado o no autenticado para que el grupo de identidades use un IdP basadoSAML. El atributo https://aws.amazon.com/SAML/Attributes/Role claim especifica uno o más pares de rol y proveedor separados por comas. ARN Estos son los roles que el usuario puede asumir. Puede configurar el SAML IdP para rellenar los atributos del rol en función de la información de atributos de usuario disponible en el IdP. Si recibe varios roles en la SAML aserción, rellene el parámetro opcional customRoleArn cuando llame. getCredentialsForIdentity El usuario lo asume customRoleArn si el rol coincide con uno de los de la afirmación de la SAML afirmación.

Autenticación de usuarios con un IdP SAML

Para federarse con el IdP SAML basado, determine el lugar en el que URL el usuario inicia el inicio de sesión. AWS la federación utiliza el inicio de sesión iniciado por el IdP. En AD FS 2.0, URL adopta la forma de. https://<fqdn>/adfs/ls/IdpInitiatedSignOn.aspx?loginToRp=urn:amazon:webservices

Para añadir compatibilidad con su SAML IDP en Amazon Cognito, primero autentique a los usuarios con SAML su proveedor de identidad desde su aplicación iOS o Android. El código que se utiliza para integrar y autenticarse con el SAML IdP es específico SAML de los proveedores. Tras autenticar al usuario, puede utilizar Amazon APIs Cognito para proporcionar la afirmación SAML resultante a Amazon Cognito Identity.

No puede repetir ni reproducir una SAML afirmación en el Logins mapa de su solicitud de grupo de identidades. API Una SAML afirmación reproducida tiene un identificador de afirmación que duplica el identificador de una solicitud anterior. API APILas operaciones que pueden aceptar una SAML afirmación en el Logins mapa incluyen GetId,, y. GetCredentialsForIdentityGetOpenIdTokenGetOpenIDTokenForDeveloperIdentity Puede reproducir el ID de una SAML aserción una vez por API solicitud en un flujo de autenticación de un grupo de identidades. Por ejemplo, puede proporcionar la misma SAML afirmación en una GetId solicitud y en una GetCredentialsForIdentity solicitud posterior, pero no en una segunda solicitud. GetId

Android

Si utilizas AndroidSDK, puedes rellenar el mapa de inicios de sesión con la SAML afirmación de la siguiente manera.

Map logins = new HashMap(); logins.put("arn:aws:iam::aws account id:saml-provider/name", "base64 encoded assertion response"); // Now this should be set to CognitoCachingCredentialsProvider object. CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(context, identity pool id, region); credentialsProvider.setLogins(logins); // If SAML assertion contains multiple roles, resolve the role by setting the custom role credentialsProvider.setCustomRoleArn("arn:aws:iam::aws account id:role/customRoleName"); // This should trigger a call to the Amazon Cognito service to get the credentials. credentialsProvider.getCredentials();

iOS

Si está utilizando iOSSDK, puede proporcionar la SAML afirmación de la AWSIdentityProviderManager siguiente manera.

- (AWSTask<NSDictionary<NSString*,NSString*> *> *) logins { //this is hardcoded for simplicity, normally you would asynchronously go to your SAML provider //get the assertion and return the logins map using a AWSTaskCompletionSource return [AWSTask taskWithResult:@{@"arn:aws:iam::aws account id:saml-provider/name":@"base64 encoded assertion response"}]; } // If SAML assertion contains multiple roles, resolve the role by setting the custom role. // Implementing this is optional if there is only one role. - (NSString *)customRoleArn { return @"arn:aws:iam::accountId:role/customRoleName"; }