

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Como adicionar e gerenciar provedores de identidade SAML em um grupo de usuários
<a name="cognito-user-pools-managing-saml-idp"></a>

Depois de configurar seu provedor de identidades para trabalhar com o Amazon Cognito, você pode adicioná-lo aos seus grupos de usuários e clientes de aplicações. Os procedimentos a seguir demonstram como criar, modificar e excluir provedores SAML em um grupo de usuários do Amazon Cognito.

------
#### [ Console de gerenciamento da AWS ]

Você pode usar o Console de gerenciamento da AWS para criar e excluir provedores de identidade SAML (IdPs).

Antes de criar um IdP SAML, é necessário ter o documento de metadados do SAML, que você obtém do IdP de terceiros. Para obter instruções sobre como obter ou gerar o documento de metadados do SAML necessário, consulte [Como configurar seu provedor de identidades SAML de terceiros](cognito-user-pools-integrating-3rd-party-saml-providers.md).

**Para configurar um IdP SAML 2.0 em seu grupo de usuários**

1. Acesse o [console do Amazon Cognito](https://console.aws.amazon.com/cognito/home). Se solicitado, insira suas credenciais da AWS .

1. Escolha **User Pools** (Grupos de usuários).

1. Escolha um grupo de usuários existente na lista ou [crie um grupo de usuários](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html).

1. Clique no menu **Provedores sociais e externos** e selecione **Adicionar um provedor de identidade**.

1. Escolha um IdP **SAML**.

1. Insira um **Nome de provedor**. Você pode passar esse nome amigável em um parâmetro de solicitação `identity_provider` para [Autorizar endpoint](authorization-endpoint.md).

1. Insira **Identifiers** (Identificadores) separados por vírgulas. Um identificador diz ao Amazon Cognito que ele deve conferir o endereço de e-mail que um usuário insere quando faz o acesso e, em seguida, direcioná-lo ao provedor que corresponde ao domínio dele.

1. Escolha **Add sign-out flow** (Adicionar fluxo de desconexão) se quiser que o Amazon Cognito envie solicitações de desconexão assinadas ao seu provedor quando um usuário se desconectar. Você deve configurar o IdP SAML 2.0 para enviar respostas de logout ao endpoint `https://mydomain.auth.us-east-1.amazoncognito.com/saml2/logout` que é criado quando você configura o login gerenciado. O endpoint `saml2/logout` usa uma associação POST.
**nota**  
Se você selecionar essa opção e seu IdP SAML esperar uma solicitação de logout assinada, você também precisará configurar o IdP SAML com um certificado de assinatura do seu grupo de usuários.  
O IdP SAML processará a solicitação de logout assinada e desconectará seu usuário da sessão do Amazon Cognito.

1. Escolha sua configuração de **login SAML iniciada pelo IdP**. Como prática recomendada de segurança, escolha **Aceitar somente declarações SAML iniciadas pelo SP**. Se você preparou seu ambiente para aceitar com segurança sessões de login SAML não solicitadas, escolha **Aceitar declarações de SAML iniciadas pelo SP e iniciadas pelo IdP**. Para obter mais informações, consulte [Iniciação de sessão SAML em grupos de usuários do Amazon Cognito](cognito-user-pools-SAML-session-initiation.md).

1. Escolha uma **Metadata document source** (Fonte de documento de metadados). Se seu IdP oferecer metadados SAML em um URL público, você poderá escolher **Metadata document URL** (URL do documento de metadados) e inserir esse URL público. Do contrário, escolha **Upload metadata document** (Carregar documento de metadados) e, em seguida, um arquivo de metadados que você tenha baixado de seu provedor anteriormente.
**nota**  
Se seu provedor tiver um endpoint público, recomendamos que você insira um URL do documento de metadados em vez de carregar um arquivo. O Amazon Cognito atualiza os metadados automaticamente a partir do URL de metadados. Normalmente, a atualização de metadados ocorre a cada seis horas ou antes de os metadados expirarem, o que ocorrer primeiro.

1. Escolha **Mapear atributos entre seu provedor SAML e sua aplicação** para mapear atributos do provedor SAML para o perfil de usuário em seu grupo de usuários. Inclua os atributos obrigatórios do grupo de usuários no mapa de atributos. 

   Por exemplo, quando escolher o **User pool attribute** (Atributo do grupo de usuários) `email`, insira o nome do atributo SAML como ele aparece na declaração SAML de seu IdP. Se o IdP oferecer exemplos de declarações SAML, é possível usá-los para ajudar você a encontrar o nome. Alguns IdPs usam nomes simples, como`email`, enquanto outros usam nomes como os seguintes.

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

1. Escolha **Criar**.

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

Use os comandos a seguir para criar e gerenciar um provedor de identidade (IdP) SAML.

**Para criar um IdP e carregar um documento de metadados**
+ AWS CLI: `aws cognito-idp create-identity-provider`

  Exemplo com arquivo de metadados: `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`

  Onde `details.json` contém:

  ```
  "ProviderDetails": { 
        "MetadataFile": "<SAML metadata XML>",
        "IDPSignout" : "true",
        "RequestSigningAlgorithm" : "rsa-sha256",
        "EncryptedResponses" : "true",
        "IDPInit" : "true"
  }
  ```
**nota**  
Se *<SAML metadata XML>* contiver alguma instância do personagem`"`, você deve adicionar `\` como caractere de escape:`\"`.

  Exemplo com URL de metadados: `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 fazer upload de um novo documento de metadados para um IdP**
+ AWS CLI: `aws cognito-idp update-identity-provider`

  Exemplo com arquivo de metadados: `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`

  Onde `details.json` contém:

  ```
  "ProviderDetails": { 
        "MetadataFile": "<SAML metadata XML>",
        "IDPSignout" : "true",
        "RequestSigningAlgorithm" : "rsa-sha256",
        "EncryptedResponses" : "true",
        "IDPInit" : "true"
  }
  ```
**nota**  
Se *<SAML metadata XML>* contiver alguma instância do personagem`"`, você deve adicionar `\` como caractere de escape:`\"`.

  Exemplo com URL de metadados: `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 obter informações sobre um 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 listar informações sobre todos IdPs**
+ AWS CLI: `aws cognito-idp list-identity-providers`

  Exemplo: `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 excluir um IdP**
+ 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 o IdP SAML para adicionar um grupo de usuários como uma parte dependente**
+ O URN do provedor de serviço dos grupos de usuários é `urn:amazon:cognito:sp:us-east-1_EXAMPLE`. O Amazon Cognito exige um valor de restrição de público que corresponda a esse URN na resposta do SAML. Configure seu IdP para usar o seguinte endpoint de vinculação POST para a IdP-to-SP mensagem de resposta.

  ```
  https://mydomain.auth.us-east-1.amazoncognito.com/saml2/idpresponse
  ```
+ O IdP SAML deve preencher o `NameID` e quaisquer atributos necessários para o grupo de usuários na declaração do SAML. `NameID` é usado para identificar exclusivamente o usuário federado do SAML no grupo de usuários. O IdP deve transmitir o ID de nome do SAML de cada usuário em um formato consistente com distinção entre maiúsculas e minúsculas. Qualquer variação no valor do ID do nome de um usuário cria um novo perfil de usuário.

**Como fornecer um certificado de assinatura ao IdP SAML 2.0**
+ Para baixar uma cópia da chave pública do Amazon Cognito que o IdP pode usar para validar solicitações de logout SAML, clique no menu **Provedores sociais e externos** do grupo de usuários, selecione seu IdP e, em **Ver certificado de assinatura**, selecione **Baixar como .crt**.

É possível excluir qualquer provedor SAML configurado em seu grupo de usuários com o console do Amazon Cognito.

**Como excluir um provedor SAML**

1. Faça login no [console do Amazon Cognito](https://console.aws.amazon.com/cognito/home).

1. No painel de navegação, escolha **User Pools** (Grupos de usuários) e escolha o grupo de usuários que deseja editar.

1. Clique no menu **Provedores sociais e externos**.

1. Selecione o botão de rádio ao lado do SAML IdPs que você deseja excluir.

1. Quando receber a solicitação de **Delete identity provider** (Excluir provedor de identidade), insira o nome do provedor SAML para confirmar a exclusão e escolha **Delete** (Excluir).