

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.

# Adición y administración de proveedores de identidad de SAML a un grupo de usuarios
<a name="cognito-user-pools-managing-saml-idp"></a>

Tras configurar el proveedor de identidades para que funcione con Amazon Cognito, podrá añadirlo a los grupos de usuarios y los clientes de aplicación. En los siguientes procedimientos se muestra cómo crear, modificar y eliminar proveedores de SAML en un grupo de usuarios de Amazon Cognito.

------
#### [ Consola de administración de AWS ]

Puede usar el Consola de administración de AWS para crear y eliminar proveedores de identidad de SAML (). IdPs

Para poder crear un IdP SAML, necesitará el documento de metadatos de SAML facilitado por el IdP externo. Para obtener instrucciones sobre cómo obtener o generar el documento de metadatos de SAML necesario, consulte [Configuración de un proveedor de identidades de SAML externo](cognito-user-pools-integrating-3rd-party-saml-providers.md).

**Para configurar un IdP SAML 2.0 en su grupo de usuarios**

1. Vaya a la [consola de Amazon Cognito](https://console.aws.amazon.com/cognito/home). Si se le solicita, escriba sus credenciales de AWS .

1. Elija **User Pools** (Grupos de usuarios).

1. Elija un grupo de usuarios existente en la lista o [cree un grupo de usuarios](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html).

1. Seleccione el menú **Proveedores sociales y externos** y, a continuación, seleccione **Agregar un proveedor de identidades**.

1. Elija un IdP **SAML**.

1. Introduzca un **Nombre del proveedor**. Puede pasar este nombre descriptivo en un parámetro de solicitud `identity_provider` al [Autorizar punto de conexión](authorization-endpoint.md).

1. Introduzca **Identificadores** separados por comas. Un identificador indica a Amazon Cognito que debe comprobar la dirección de correo electrónico que introduce un usuario al iniciar sesión y, a continuación, dirigirlo al proveedor que corresponda a su dominio.

1. Elija **Add sign-out flow** (Añadir flujo de cierre de sesión) si desea que Amazon Cognito envíe solicitudes de cierre de sesión firmadas a su proveedor cuando un usuario cierra la sesión. Debe configurar el IdP SAML 2.0 para enviar respuestas de cierre de sesión al punto de conexión de `https://mydomain.auth.us-east-1.amazoncognito.com/saml2/logout` que se crea al configurar el inicio de sesión administrado. El punto de conexión `saml2/logout` utiliza el enlace POST.
**nota**  
Si se selecciona esta opción y el IdP SAML espera una solicitud de cierre de sesión firmada, también debe proporcionar al IdP SAML el certificado de firma del grupo de usuarios.  
El proveedor de identidades (IdP) SAML procesará la solicitud de cierre de sesión firmada y cerrará la sesión de Amazon Cognito del usuario.

1. Elija su configuración del tipo **Inicio de sesión SAML iniciado por el IdP**. Como práctica recomendada de seguridad, elija **Aceptar solo aserciones SAML iniciadas por el SP**. Si ha preparado el entorno para aceptar de forma segura las sesiones de inicio de sesión de SAML no solicitadas, elija **Aceptar solo aserciones SAML iniciadas por el SP e iniciadas por el IdP**. Para obtener más información, consulte [Inicio de sesión SAML en grupos de usuarios de Amazon Cognito](cognito-user-pools-SAML-session-initiation.md).

1. Seleccione un **Origen de documentos de metadatos**. Si su IdP ofrece metadatos SAML en una URL pública, puede elegir **Metadata document URL (URL del documento de metadatos)** e introducir esa URL pública. En caso contrario, elija **Upload metadata document** (Cargar documento de metadatos) y seleccione un archivo de metadatos que haya descargado anteriormente de su proveedor.
**nota**  
Le recomendamos que introduzca la URL de un documento de metadatos si su proveedor dispone de un punto de conexión público en lugar de cargar un archivo. Amazon Cognito actualiza automáticamente los metadatos desde la URL de metadatos. Normalmente, los metadatos se actualizan cada seis horas o antes de que caduquen, lo que ocurra primero.

1. **Asigne atributos entre el proveedor SAML y el grupo de usuarios** para asignar atributos de proveedor SAML al perfil de usuario de grupo de usuarios. Incluya los atributos requeridos del grupo de usuarios en la asignación de atributos. 

   Por ejemplo, cuando elige **User pool attribute (Atributo grupo de usuarios)** `email`, escriba el nombre de atributo SAML tal como aparece en la aserción SAML del IdP. Si su IdP SAML ofrece aserciones SAML de ejemplo, estas podrían servirle para encontrar el nombre. Algunos IdPs usan nombres simples, como`email`, mientras que otros usan nombres como los siguientes.

   ```
   http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
   ```

1. Seleccione **Crear**.

------
#### [ API/CLI ]

Utilice los siguientes comandos para crear y administrar un proveedor de identidades (IdP) SAML.

**Para crear un IdP y cargar un documento de metadatos**
+ AWS CLI: `aws cognito-idp create-identity-provider`

  Ejemplo con archivo de metadatos: `aws cognito-idp create-identity-provider --user-pool-id us-east-1_EXAMPLE --provider-name=SAML_provider_1 --provider-type SAML --provider-details file:///details.json --attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`

  Donde `details.json` contiene:

  ```
  "ProviderDetails": { 
        "MetadataFile": "<SAML metadata XML>",
        "IDPSignout" : "true",
        "RequestSigningAlgorithm" : "rsa-sha256",
        "EncryptedResponses" : "true",
        "IDPInit" : "true"
  }
  ```
**nota**  
Si *<SAML metadata XML>* contiene alguna instancia del personaje`"`, debes agregar `\` como personaje de escape:`\"`.

  Ejemplo con URL de metadatos: `aws cognito-idp create-identity-provider --user-pool-id us-east-1_EXAMPLE --provider-name=SAML_provider_1 --provider-type SAML --provider-details MetadataURL=https://myidp.example.com/sso/saml/metadata --attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`
+ AWS API: [CreateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateIdentityProvider.html)

**Para cargar un nuevo documento de metadatos para un proveedor de identidades (IdP)**
+ AWS CLI: `aws cognito-idp update-identity-provider`

  Ejemplo con archivo de metadatos: `aws cognito-idp update-identity-provider --user-pool-id us-east-1_EXAMPLE --provider-name=SAML_provider_1 --provider-details file:///details.json --attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`

  Donde `details.json` contiene:

  ```
  "ProviderDetails": { 
        "MetadataFile": "<SAML metadata XML>",
        "IDPSignout" : "true",
        "RequestSigningAlgorithm" : "rsa-sha256",
        "EncryptedResponses" : "true",
        "IDPInit" : "true"
  }
  ```
**nota**  
Si *<SAML metadata XML>* contiene alguna instancia del personaje`"`, debes agregar `\` como personaje de escape:`\"`.

  Ejemplo con URL de metadatos: `aws cognito-idp update-identity-provider --user-pool-id us-east-1_EXAMPLE --provider-name=SAML_provider_1 --provider-details MetadataURL=https://myidp.example.com/sso/saml/metadata --attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`
+ AWS API: [UpdateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateIdentityProvider.html)

**Para obtener información acerca de un IdP específico**
+ AWS CLI: `aws cognito-idp describe-identity-provider`

  `aws cognito-idp describe-identity-provider --user-pool-id us-east-1_EXAMPLE --provider-name=SAML_provider_1`
+ AWS API: [DescribeIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeIdentityProvider.html)

**Para enumerar información sobre todos IdPs**
+ AWS CLI: `aws cognito-idp list-identity-providers`

  Ejemplo: `aws cognito-idp list-identity-providers --user-pool-id us-east-1_EXAMPLE --max-results 3`
+ AWS API: [ListIdentityProviders](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ListIdentityProviders.html)

**Para eliminar un proveedor de identidad**
+ AWS CLI: `aws cognito-idp delete-identity-provider`

  `aws cognito-idp delete-identity-provider --user-pool-id us-east-1_EXAMPLE --provider-name=SAML_provider_1`
+ AWS API: [DeleteIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DeleteIdentityProvider.html)

------

**Para configurar el proveedor de identidad SAML para añadir un grupo de usuarios como una relación de confianza**
+ El URN del proveedor del servicio de grupos de usuarios es: `urn:amazon:cognito:sp:us-east-1_EXAMPLE`. Amazon Cognito requiere un valor de restricción de audiencia que coincida con este URN en la respuesta de SAML. Configure su IdP para que utilice el siguiente punto final de enlace POST para el mensaje de IdP-to-SP respuesta.

  ```
  https://mydomain.auth.us-east-1.amazoncognito.com/saml2/idpresponse
  ```
+ El IdP SAML debe rellenar `NameID` y todos los atributos obligatorios para el grupo de usuarios en la aserción SAML. `NameID` se utiliza para identificar al usuario federado de SAML de forma inequívoca en el grupo de usuarios. El IdP debe pasar el ID de nombre SAML de cada usuario en un formato coherente y que distinga mayúsculas de minúsculas. Cualquier variación en el valor del ID de nombre de un usuario crea un nuevo perfil de usuario.

**Para proporcionar un certificado de firma al IdP de SAML 2.0**
+ Para descargar una copia de la clave pública de Amazon Cognito que el IdP pueda utilizar para validar las solicitudes de cierre de sesión de SAML, elija el menú **Proveedores sociales y externos** del grupo de usuarios, seleccione el IdP y, en **Ver certificado de firma**, seleccione **Descargar como .crt**.

Puede eliminar cualquier proveedor SAML que haya configurado en su grupo de usuarios con la consola de Amazon Cognito.

**Cómo eliminar un proveedor SAML**

1. Inicie sesión en la [consola de Amazon Cognito](https://console.aws.amazon.com/cognito/home).

1. En el panel de navegación, elija **User Pools (Grupos de usuarios)**, y elija el grupo de usuarios que desea editar.

1. Seleccione el menú **Proveedores sociales y externos**.

1. Selecciona el botón de radio situado junto al SAML IdPs que deseas eliminar.

1. Cuando se le pida **Delete identity provider (Eliminar proveedor de identidad)**, ingrese el nombre del proveedor SAML para confirmar su eliminación y, a continuación, elija **Delete (Eliminar)**.