Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Coisas que você deve saber sobre o SAML IdPs nos grupos de usuários do Amazon Cognito

Modo de foco
Coisas que você deve saber sobre o SAML IdPs nos grupos de usuários do Amazon Cognito - Amazon Cognito

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á.

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á.

A implementação de um IdP SAML 2.0 vem com alguns requisitos e restrições. Consulte esta seção ao implementar seu IdP. Você também encontrará informações úteis para solucionar erros durante a federação do SAML com um grupo de usuários.

O Amazon Cognito processa declarações do SAML para você

Os grupos de usuários do Amazon Cognito são compatíveis com a federação SAML 2.0 com endpoints de pós-vinculação. Isso elimina a necessidade de a aplicação recuperar ou analisar as respostas de afirmação do SAML, pois o grupo de usuários recebe diretamente a resposta do SAML de seu IdP por meio de um agente de usuário. Seu grupo de usuários atua como um provedor de serviços (SP) em nome da aplicação. O Amazon Cognito é compatível com a autenticação única (SSO) iniciada por SP e por IdP, conforme descrito nas seções 5.1.2 e 5.1.4 da Visão geral técnica do SAML V2.0.

Fornecer um certificado de assinatura de IdP válido

O certificado de assinatura nos metadados do seu provedor SAML não deve estar vencido quando você for configurar o IdP do SAML em seu grupo de usuários.

Grupos de usuários aceitam vários certificados de assinatura

Quando o IdP SAML inclui mais de um certificado de assinatura nos metadados do SAML, no login, o grupo de usuários determina que a declaração do SAML é válida se corresponder a qualquer certificado nos metadados do SAML. Cada certificado de assinatura deve ter no máximo 4.096 caracteres.

Manter o parâmetro do estado de retransmissão

O Amazon Cognito e o IdP SAML mantêm as informações da sessão com um parâmetro relayState.

  1. O Amazon Cognito é compatível com valores de relayState maiores do que 80 bytes. Embora as especificações do SAML afirmem que o valor de relayState “não deve exceder 80 bytes de comprimento”, a prática atual do setor geralmente diverge desse comportamento. Como consequência, rejeitar valores de relayState maiores que 80 bytes quebrará muitas integrações padrão de provedor de SAML.

  2. O token relayState é uma referência invisível às informações de estado mantidas pelo Amazon Cognito. O Amazon Cognito não garante o conteúdo do parâmetro relayState. Não analise o respectivo conteúdo de forma que sua aplicação dependa do resultado. Para obter mais informações, consulte a SAML 2.0 specification (Especificação do SAML 2.0).

Identificar o endpoint do ACS

Seu provedor de identidade SAML exige que você defina um endpoint de consumidor de declaração. Seu IdP redireciona seus usuários para esse endpoint com sua declaração SAML. Configure o endpoint a seguir no domínio do grupo de usuários para a vinculação POST SAML 2.0 no provedor de identidades SAML.

https://Your user pool domain/saml2/idpresponse With an Amazon Cognito domain: https://mydomain.us-east-1.amazoncognito.com/saml2/idpresponse With a custom domain: https://auth.example.com/saml2/idpresponse

Consulte Como configurar um domínio de grupo de usuários para obter mais informações sobre domínios do grupo de usuários.

Sem declarações reproduzidas

Você não pode repetir nem reproduzir uma declaração de SAML em seusaml2/idpresponse endpoint do Amazon Cognito. Uma declaração de SAML reproduzida tem um ID que duplica o ID de uma resposta anterior do IdP.

O ID do grupo de usuários é o ID da entidade SP

É necessário fornecer o ID do grupo de usuários ao IdP no (SP) urn do provedor de serviços, também chamado de URI de público ou ID da entidade SP. O URI de público do grupo de usuários tem o formato a seguir.

urn:amazon:cognito:sp:us-east-1_EXAMPLE

Você pode encontrar o ID do grupo de usuários na Visão geral do grupo de usuários, no console do Amazon Cognito.

Mapear todos os atributos obrigatórios

Configure seu IdP SAML para que forneça valores para todos os atributos definidos como necessários em seu grupo de usuários. Por exemplo, email é um atributo obrigatório comum para grupos de usuários. Para que seus usuários possam fazer login, suas declarações do IdP SAML devem incluir uma declaração a ser mapeada para o atributo do grupo de usuários email. Para ter mais informações sobre mapeamento de atributos, consulte Mapeamento de atributos de IdP para perfis e tokens.

O formato de declaração tem requisitos específicos

O IdP do SAML deve incluir as seguintes reivindicações na declaração do SAML:

  • Uma reivindicação de NameID. O Amazon Cognito associa uma declaração de SAML ao usuário de destino por NameID. Se houver alterações de NameID, o Amazon Cognito considerará que a declaração é para um novo usuário. O atributo definido em NameID na configuração do IdP deve ter um valor persistente. Para atribuir usuários do SAML a um perfil de usuário consistente no grupo de usuários, atribua sua declaração NameID a partir de um atributo com um valor que não mude.

    <saml2:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:persistent"> carlos </saml2:NameID>

    O Format na declaração de NameID de urn:oasis:names:tc:SAML:1.1:nameid-format:persistent indica que seu IdP está transmitindo um valor imutável. O Amazon Cognito não exige essa declaração de formato. Ele atribui um formato de urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified quando o IdP não especifica um formato da declaração NameID. Esse comportamento está em conformidade com a seção 2.2.2 Nome do tipo complexo IDType, da especificação SAML 2.0.

  • Uma reivindicação AudienceRestriction com um valor de Audience que define o ID da entidade SP do grupo de usuários como o destino da resposta.

    <saml:AudienceRestriction> <saml:Audience> urn:amazon:cognito:sp:us-east-1_EXAMPLE </saml:AudienceRestriction>
  • Para login único iniciado pelo SP, um elemento Response com valor InResponseTo do ID da solicitação SAML original.

    <saml2p:Response Destination="https://mydomain.us-east-1.amazoncognito.com/saml2/idpresponse" ID="id123" InResponseTo="_dd0a3436-bc64-4679-a0c2-cb4454f04184" IssueInstant="Date-time stamp" Version="2.0" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    nota

    As declarações de SAML iniciadas pelo IdP não devem conter um valor InResponseTo.

  • Um elemento SubjectConfirmationData com um valor de Recipient do endpoint saml2/idpresponse do grupo de usuários e, para SAML iniciado pelo SP, um valor de InResponseTo que corresponde ao ID da solicitação SAML original.

    <saml2:SubjectConfirmationData InResponseTo="_dd0a3436-bc64-4679-a0c2-cb4454f04184" NotOnOrAfter="Date-time stamp" Recipient="https://mydomain.us-east-1.amazoncognito.com/saml2/idpresponse"/>
Solicitações de login iniciadas pelo SP

Quando o Autorizar endpoint direciona o usuário para a página de login do IdP, o Amazon Cognito inclui uma solicitação SAML em um parâmetro de URL da solicitação HTTP GET. A solicitação SAML contém informações sobre seu grupo de usuários, incluindo endpoint do ACS. Como opção, você pode aplicar uma assinatura criptográfica a essas solicitações.

Assinar solicitações e criptografar respostas

Cada grupo de usuários com um provedor de SAML gera um par de chaves assimétrico e um certificado de assinatura para uma assinatura digital que o Amazon Cognito atribui às solicitações de SAML. Cada IdP de SAML externo que você configura para aceitar uma resposta de SAML criptografada faz com que o Amazon Cognito gere um novo par de chaves e um certificado de criptografia para esse provedor. Para visualizar e baixar os certificados com a chave pública, escolha seu IdP no menu Social e provedores externos no console do Amazon Cognito.

Para estabelecer confiança com as solicitações de SAML do seu grupo de usuários, forneça ao IdP uma cópia do certificado de assinatura SAML 2.0 de seu grupo de usuários. Seu IdP pode ignorar as solicitações de SAML que seu grupo de usuários assinou se você não configurar o IdP para aceitar solicitações assinadas.

  1. O Amazon Cognito aplica uma assinatura digital às solicitações de SAML que o usuário transmite ao IdP. Seu grupo de usuários assina todas as solicitações de logout único (SLO), e você pode configurar seu grupo de usuários para assinar solicitações de autenticação única (SSO) para qualquer IdP externo do SAML. Quando você fornece uma cópia do certificado, o IdP consegue verificar a integridade das solicitações SAML de seus usuários.

  2. Seu IdP SAML pode criptografar respostas do SAML com o certificado de criptografia. Quando você configura um IdP com criptografia SAML, seu IdP só deve enviar respostas criptografadas.

Codificar caracteres não alfanuméricos

O Amazon Cognito não aceita caracteres UTF-8 de 4 bytes, como 😐 or 𠮷 que seu IdP passa como um valor de atributo. É possível codificar o caractere em Base64, transmiti-lo como texto e, então, decodificá-lo na aplicação.

No exemplo a seguir, a declaração de atributo não será aceita:

<saml2:Attribute Name="Name" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">😐</saml2:AttributeValue> </saml2:Attribute>

Ao contrário do exemplo anterior, a seguinte declaração de atributo será aceita:

<saml2:Attribute Name="Name" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">8J+YkA==</saml2:AttributeValue> </saml2:Attribute>
O endpoint de metadados deve ter uma segurança de camada de transporte válida

Se você ver, InvalidParameterException ao criar um IdP SAML com uma URL de endpoint de metadados HTTPS, por exemplo, “Erro ao recuperar metadados de”, certifique-se <metadata endpoint> de que o endpoint de metadados tenha o SSL configurado corretamente e que haja um certificado SSL válido associado a ele. Para obter mais informações sobre como validar certificados, consulte O que é um certificado SSL/TLS?.

Clientes de aplicações com SAML iniciado pelo IdP só podem fazer login com SAML

Ao ativar o suporte para um IdP do SAML 2.0 que oferece suporte ao login iniciado pelo IdP em um cliente de aplicativo, você só pode adicionar outro SAML IdPs 2.0 a esse cliente de aplicativo. Você não consegue adicionar o diretório de usuários ao grupo de usuários e todos os provedores de identidade externos que não sejam SAML a um cliente de aplicação configurado dessa forma.

As respostas de logout devem usar a vinculação POST

O endpoint /saml2/logout aceita LogoutResponse como solicitações HTTP POST. Os grupos de usuários não aceitam respostas de logout com vinculação HTTP GET.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.