Solução de problemas com o Logon único

Este documento fornece instruções para solucionar mensagens de erro comuns encontradas durante a integração ou o uso do Logon único (SSO, na sigla em inglês) com base no SAML no G Suite quando o Google é o provedor de serviços (SP, na sigla em inglês)

Configuração e ativação

"Este domínio não está configurado para usar Logon único."

Este erro em geral indica que você está tentando usar o Logon único com uma edição padrão (gratuita) do G Suite, que não é compatível no momento. Se você tem certeza de que está usando o G Suite, o Education ou os ISPs, verifique a configuração no seu Provedor de identidade para garantir que o nome de domínio do G Suite está correto.

"Esta conta não pode ser acessada porque o domínio está configurado incorretamente. Tente novamente mais tarde."

Este erro indica que você não configurou o Logon único corretamente no painel de controle do Google Apps. Siga estas etapas para corrigir o problema:

  1. No Google Admin Console, acesse Segurança > Configurar o logon único (SSO) e marque a caixa Configurar Logon único de provedor de identidade de terceiros.
  2. Forneça os URLs das páginas de login, saída e alteração de senha da organização nos campos correspondentes.
  3. No campo Certificado de verificação, escolha e faça o upload de um arquivo de certificado de verificação válido.
  4. Clique em Salvar alterações, aguarde alguns minutos até que as alterações entrem em vigor e teste a integração novamente.

Análise da resposta SAML

"O parâmetro de resposta exigido SAMLResponse estava ausente"

Esta mensagem de erro indica que seu provedor de identidade não está fornecendo ao Google um tipo de resposta SAML válida. Esse problema provavelmente se deve a um erro de configuração no provedor de identidade.

  • Verifique nos registros do Provedor de identidade se algo impede o retorno correto de uma resposta SAML.
  • Verifique se o Provedor de identidade não está enviando ao G Suite uma resposta SAML criptografada. O G Suite só aceita respostas SAML que não estão criptografadas. Especificamente, observe que o Active Directory Federation Services 2.0 da Microsoft frequentemente envia respostas SAML criptografadas de acordo com as configurações padrão.
"O parâmetro de resposta necessário RelayState estava ausente"

A especificação SAML 2.0 exige que os Provedores de identidade recuperem e retornem um parâmetro de URL RelayState dos provedores de recursos (como o G Suite). O G Suite fornece esse valor ao Provedor de identidade na solicitação SAML, e o conteúdo exato pode variar a cada login. Para que a autenticação seja feita, o RelayState exato precisa ser retornado na resposta SAML. De acordo com a especificação SAML padrão, seu provedor de identidade não deve modificar o RelayState durante o fluxo de login.

  • Para diagnosticar o problema com mais detalhes, capture os cabeçalhos HTTP durante uma tentativa de login. Extraia o RelayState dos cabeçalhos HTTP com a solicitação e a resposta SAML e verifique se os valores de RelayState são os mesmos em ambas.
  • Por padrão, a maioria dos provedores de identidade de Logon único disponíveis comercialmente ou de código livre transmite o RelayState sem problemas. Para fins de segurança e confiabilidade, recomendamos que você use uma dessas soluções. Não damos suporte a software de Logon único personalizado.

Conteúdo da resposta SAML

"Não foi possível acessar o serviço porque sua solicitação de login continha informações de [destino|público] inválidas. Faça login e tente novamente."

Esse erro indica que os elementos destino, público ou destinatário na asserção SAML continham informações inválidas ou estavam vazios. Todos os elementos precisam ser incluídos na asserção SAML. Veja na tabela a seguir as descrições e os exemplos de cada elemento.

Elemento <Audience>
Descrição URI que identifica a audiência desejada que requer o valor de ACS URI. Observação: o valor do elemento não pode estar vazio
Valor necessário https://www.google.com/a/<seu_dominio.com>/acs
Exemplo

<saml:Conditions
NotBefore="2014-11-05T17:31:37Z"

NotOnOrAfter="2014-11-05T17:37:07Z"
<saml:AudienceRestriction>
<saml:Audience>https://wwww.google.com/a/seu_dominio.com/acs<saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>

 

Elemento Atributo "Destination" do tipo <StatusResponseType>
Descrição URI do destino de envio da asserção SAML. É um atributo opcional, mas caso seja declarado requer um valor de ACS URI.
Valor necessário https://www.google.com/a/<seu_dominio.com>/acs
Exemplo

<saml:Response
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"

xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="7840062d379d82598d87ca04c8622f436bb03aa1c7"
Version="2.0"
IssueInstant="2014-11-05T17:32:07Z"

Destination+"https://wwww.google.com/a/yourdomain.com/acs
       InResponseTo="midihfjkfkpcmbmfhhoehbokhbkeapbbinldpeen">

 

Elemento Atributo "Recipient" de <SubjectConfirmationData>
 
Descrição

O atributo "Recipient" define a entidade que receberá  
o assunto.

Atributo obrigatório, que precisa conter o URI do ACS.

Observação: diferencia maiúsculas e minúsculas.

 

Obrigatório

Valor

https://www.google.com/a/<seudominio.com>/acs
 
Exemplo

<saml:Subject>

<saml:NameID SPNameQualifier="google.com/a/seu_dominio.com"

Format="urn:oasis:names:tc:SAML:2.0:nameid-format:email">user@yourdomain.com</saml:NameID>

<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">

<saml:SubjectConfirmationData NotOnOrAfter="2014-11-05T17:37:07Z"

Recipient="https://www.google.com/a/seu_dominio.com/acs"

InResponseTo="midihfjkfkpcmbmfhjoehbokhbkeapbbinldpeen"

</saml:SubjectConfirmation> 

Para saber mais sobre todos os elementos obrigatórios, consulte o artigo Requisitos de declaração do SSO.

"Não foi possível acessar esse serviço porque sua solicitação de login não continha informações de destinatário. Faça login e tente novamente."

Esse erro geralmente indica que a resposta SAML do Provedor de identidade não inclui um valor legível para Recipient ou que o valor de Recipient está incorreto. O valor de Recipient é um componente importante da resposta SAML.

  1. Para diagnosticar o problema com mais detalhes, capture os cabeçalhos HTTP durante uma tentativa de login.
  2. Extraia a solicitação e a resposta SAML dos cabeçalhos HTTP.
  3. Verifique se o valor Destinatário está incluído na resposta SAML e se corresponde ao valor encontrado na solicitação SAML.

Observação: esta mensagem de erro também poderá ser exibida como "Não foi possível acessar esse serviço porque sua solicitação de login continha informações de destinatário inválidas. Faça login e tente novamente."

"Não foi possível acessar esta conta porque não conseguimos confirmar as credenciais de login."

Esse erro indica um problema com os certificados que você está usando para assinar o fluxo de autenticação. Isso geralmente significa que a chave privada usada para assinar a resposta SAML não corresponde ao certificado de chave pública no arquivo do G Suite.

Esse erro também significa que a resposta SAML não contém um nome de usuário viável da Conta do Google. O G Suite analisa a resposta SAML em busca de um elemento XML NameID e espera que esse ele contenha um nome de usuário ou um endereço de e-mail completo do G Suite.

  • No painel de controle do G Suite, acesse a página de configuração do Logon único em Ferramentas avançadas > Configurar Logon único. Verifique se você está usando um certificado válido e faça o upload do arquivo novamente no formulário de configuração do Logon único.
  • Se você estiver usando um endereço de e-mail completo no elemento NameID, necessário se você estiver usando o Logon único em um ambiente de vários domínios do Google Apps, verifique se o atributo Format do elemento NameID especifica que um endereço de e-mail completo precisa ser usado, como no exemplo a seguir: Format="urn:oasis:names:tc:SAML:2.0:nameid-format:email"
  • Verifique se o elemento NameID foi preenchido com um nome de usuário ou endereço de e-mail válido e não com outras informações, como um campo de código de banco de dados. Para ter certeza, extraia a resposta SAML que você está enviando ao G Suite e verifique se o valor do elemento NameID está correto.
  • Se o Provedor de identidade estiver criptografando sua asserção SAML, desative a criptografia e verifique se a asserção é enviada ao Google em um formato não criptografado e legível para o G Suite.
  • Verifique se a resposta SAML não contém caracteres ASCII não padrão. Esse problema geralmente ocorre nos atributos DisplayName, GivenName e Surname no AttributeStatement.

Por exemplo:
<Attribute Name="http://schemas.microsoft.com/identity/claims/displayname">
<AttributeValue>Blüte, Eva</AttributeValue>
</Attribute>
<Attribute  
Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname">
<AttributeValue>Eva</AttributeValue>
</Attribute>
<Attribute  
Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname">
<AttributeValue>Blüte</AttributeValue>
</Attribute>

Esses atributos não são compatíveis, portanto, podem ser omitidos. Se não for possível omiti-los,  
eles só podem conter caracteres ASCII padrão. 
 

"Não foi possível acessar este serviço porque suas credenciais de login estão vencidas. Faça login e tente novamente."

Por motivos de segurança, o fluxo de login do Logon único precisa ser concluído dentro de um determinado período para que a autenticação não falhe. Se o relógio do provedor de identidade estiver incorreto, todas as tentativas de login ou a maioria delas parecerão extrapolar o período aceitável, e a mensagem de erro acima será exibida para indicar que a autenticação falhou.

  • Verifique o relógio do provedor de identidade. Este erro quase sempre acontece porque o relógio do provedor de identidade está incorreto, adicionando timestamps incorretos à resposta SAML.
  • Sincronize novamente o relógio do servidor do provedor de identidade com um servidor de horário confiável da Internet. Quando este problema ocorre repentinamente em um ambiente de produção, normalmente isso acontece porque uma falha na última sincronização tornou o horário do servidor impreciso. Repita a sincronização de horário, se possível com um servidor de horário mais confiável, para corrigir rapidamente a situação.
  • Este problema também poderá ocorrer se você estiver reenviando a resposta SAML de uma tentativa de login anterior. Para uma depuração mais detalhada, examine a solicitação e a resposta SAML, nos registros de cabeçalhos HTTP capturados durante uma tentativa de login.
"Não foi possível acessar este serviço porque suas credenciais de login ainda não são válidas. Faça login e tente novamente."

Por motivos de segurança, o fluxo de login do Logon único precisa ser concluído dentro de um determinado período para que a autenticação não falhe. Se o relógio do provedor de identidade estiver incorreto, todas as tentativas de login ou a maioria delas parecerão extrapolar o período aceitável, e a mensagem de erro acima será exibida para indicar que a autenticação falhou.

  • Verifique o relógio do provedor de identidade. Este erro quase sempre acontece porque o relógio do provedor de identidade está incorreto, adicionando timestamps incorretos à resposta SAML.
  • Sincronize novamente o relógio do servidor do provedor de identidade com um servidor de horário confiável da Internet. Quando este problema ocorre repentinamente em um ambiente de produção, normalmente isso acontece porque uma falha na última sincronização tornou o horário do servidor impreciso. Repita a sincronização de horário, se possível com um servidor de horário mais confiável, para corrigir rapidamente a situação.
Isso foi útil?
Como podemos melhorá-lo?