SAMLassinatura e criptografia - 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á.

SAMLassinatura e criptografia

SAMLO login 2.0 é construído em torno do usuário de um aplicativo como portador de solicitações e respostas em seu fluxo de autenticação. Talvez você queira garantir que os usuários não estejam lendo ou modificando esses SAML documentos em trânsito. Para fazer isso, adicione SAML assinatura e criptografia aos provedores de SAML identidade (IdPs) em seu grupo de usuários. Com a SAML assinatura, seus grupos de usuários adicionam uma SAML assinatura às solicitações de entrada e saída. Com a chave pública do grupo de usuários, seu IdP pode verificar se está recebendo solicitações não modificadasSAML. Então, quando seu IdP responde e passa SAML afirmações para as sessões do navegador dos usuários, o IdP pode criptografar essa resposta para que o usuário não possa inspecionar seus próprios atributos e direitos.

Com a SAML assinatura e a criptografia, todas as operações criptográficas durante as operações do grupo SAML de usuários devem gerar assinaturas e texto cifrado com as chaves geradas pelo user-pool-provided Amazon Cognito. Atualmente, você não pode configurar um grupo de usuários para assinar solicitações ou aceitar declarações criptografadas com uma chave externa.

nota

Seus certificados de grupo de usuários são válidos por 10 anos. Uma vez por ano, o Amazon Cognito gera novos certificados de assinatura e criptografia para seu grupo de usuários. O Amazon Cognito retorna o certificado mais recente quando você solicita o certificado de assinatura e assina as solicitações com o certificado de assinatura mais recente. Seu IdP pode criptografar SAML afirmações com qualquer certificado de criptografia de grupo de usuários que não tenha expirado. Seus certificados anteriores continuam válidos por toda a duração e a chave pública não muda entre os certificados. Como prática recomendada, atualize o certificado na configuração do seu provedor anualmente.

Aceitando SAML respostas criptografadas do seu IdP

O Amazon Cognito e seu IdP podem estabelecer confidencialidade nas SAML respostas quando os usuários fazem login e saem. O Amazon Cognito atribui um par de RSA chaves público-privadas e um certificado a SAML cada provedor externo que você configura no seu grupo de usuários. Ao habilitar a criptografia de resposta para seu SAML provedor de grupo de usuários, você deve carregar seu certificado em um IdP que ofereça suporte a respostas criptografadasSAML. A conexão do grupo de usuários com seu SAML IdP não funciona antes que seu IdP comece a criptografar todas as SAML afirmações com a chave fornecida.

Veja a seguir uma visão geral do fluxo de um SAML login criptografado.

  1. Seu usuário inicia o login e escolhe seu IdP. SAML

  2. Seu grupo de usuários Autorizar endpoint redireciona seu usuário para o SAML IdP com uma solicitação de login. SAML Seu grupo de usuários pode, opcionalmente, acompanhar essa solicitação com uma assinatura que permite a verificação da integridade pelo IdP. Quando quiser assinar SAML solicitações, você deve configurar seu IdP para aceitar solicitações que seu grupo de usuários tenha assinado com a chave pública no certificado de assinatura.

  3. O SAML IdP faz login no seu usuário e gera uma SAML resposta. O IdP criptografa a resposta com a chave pública e redireciona o usuário para o endpoint do grupo de usuários. /saml2/idpresponse O IdP deve criptografar a resposta conforme definido pela especificação 2.0. SAML Para obter mais informações, consulte Element <EncryptedAssertion> Assertions and Protocols for the OASIS Security Assertion Markup Language () SAML V2.0.

  4. Seu grupo de usuários decifra o texto cifrado na SAML resposta com a chave privada e faz login com seu usuário.

Importante

Quando você ativa a criptografia de resposta para um SAML IdP em seu grupo de usuários, seu IdP deve criptografar todas as respostas com uma chave pública específica do provedor. O Amazon Cognito não aceita SAML respostas não criptografadas de um SAML IdP externo que você configura para suportar criptografia.

Qualquer SAML IdP externo em seu grupo de usuários pode suportar criptografia de resposta, e cada IdP recebe seu próprio par de chaves.

AWS Management Console
Para configurar a criptografia de SAML resposta
  1. Crie um grupo de usuários, um cliente de aplicativo e um SAML IdP.

  2. Ao criar ou editar seu provedor de SAML identidade, em Assinar solicitações e criptografar respostas, marque a caixa com o título Exigir SAML afirmações criptografadas desse provedor.

  3. Na guia Experiência de login do seu grupo de usuários, em Login do provedor de identidade federado, selecione seu IdP SAML e escolha Exibir certificado de criptografia.

  4. Escolha Baixar como.crt e forneça o arquivo baixado ao seu SAML IdP. Configure seu SAML IdP para criptografar SAML respostas com a chave no certificado.

API/CLI

Para configurar a criptografia de SAML resposta

Configure a criptografia de resposta com o EncryptedResponses parâmetro de uma UpdateIdentityProviderAPIsolicitação CreateIdentityProvideror. Veja a seguir um exemplo ProviderDetails de um IdP que oferece suporte à assinatura de solicitações.

"ProviderDetails": { "MetadataURL" : "https://myidp.example.com/saml/metadata", "IDPSignout" : "true", "RequestSigningAlgorithm" : "rsa-sha256", "EncryptedResponses" : "true", "IDPInit" : "true" }

Para obter o certificado de criptografia do seu grupo de usuários, faça uma DescribeIdentityProviderAPIsolicitação e recupere o valor de ActiveEncryptionCertificate no parâmetro ProviderDetails de resposta. Salve esse certificado e forneça-o ao seu IdP como certificado de criptografia para solicitações de login do seu grupo de usuários.

SAMLSolicitações de assinatura

A capacidade de provar a integridade das solicitações SAML 2.0 para seu IdP é uma vantagem de segurança do login iniciado pelo Amazon Cognito SAML SP. Cada grupo de usuários com um domínio recebe um certificado de assinatura X.509 do grupo de usuários. Com a chave pública nesse certificado, os grupos de usuários aplicam uma assinatura criptográfica às solicitações de saída que seu grupo de usuários gera quando os usuários selecionam um IdP. SAML Opcionalmente, você pode configurar seu cliente de aplicativo para fazer solicitações de SAML login. Quando você assina suas SAML solicitações, seu IdP pode verificar se a assinatura nos XML metadados de suas solicitações corresponde à chave pública no certificado do grupo de usuários que você fornece.

AWS Management Console
Para configurar a assinatura da SAML solicitação
  1. Crie um grupo de usuários, um cliente de aplicativo e um SAML IdP.

  2. Ao criar ou editar seu provedor de SAML identidade, em Assinar solicitações e criptografar respostas, marque a caixa com o título Assinar SAML solicitações para este provedor.

  3. Na guia Experiência de login do seu grupo de usuários, em Login do provedor de identidade federado, escolha Exibir certificado de assinatura.

  4. Escolha Baixar como.crt e forneça o arquivo baixado ao seu SAML IdP. Configure seu SAML IdP para verificar a assinatura das solicitações recebidasSAML.

API/CLI

Para configurar a assinatura da SAML solicitação

Configure a assinatura da solicitação com o RequestSigningAlgorithm parâmetro de uma UpdateIdentityProviderAPIsolicitação CreateIdentityProvideror. Veja a seguir um exemplo ProviderDetails de um IdP que oferece suporte à assinatura de solicitações.

"ProviderDetails": { "MetadataURL" : "https://myidp.example.com/saml/metadata", "IDPSignout" : "true", "RequestSigningAlgorithm" : "rsa-sha256", "EncryptedResponses" : "true", "IDPInit" : "true" }