Solução de problemas de proteção estendida (Reporting Services)
Use este tópico para solucionar problemas encontrados ao usar a proteção estendida com o SQL Server 2008 R2 Reporting Services. Este tópico também pode ser útil para solucionar problemas gerais de autenticação, pois a causa raiz desses problemas pode ser a configuração da Proteção Estendida. Para obter informações sobre os desenvolvimentos mais recentes da Proteção Estendida, consulte as informações atualizadas do com a Proteção Estendida.
Common issues and support scenarios
Error messages
Error states
Problemas comuns e cenários de suporte
Como posso verificar as Configurações atuais da Proteção Estendida?
As configurações RSWindowsExtendedProtectionLevel e RSWindowsExtendedProtectionScenario são salvas no arquivo rsreportserver.config. Para obter mais informações sobre as definições de configuração, consulte Proteção Estendida para Autenticação com Reporting Services.
Use as APIs do WMI. Para obter mais informações, consulte Método SetExtendedProtectionSettings (WMI MSReportServer_ConfigurationSetting).
O arquivo de log de rastreamento reportserverservice contém itens que indicam a configuração atual. As entradas de log de rastreamento são gravadas quando o serviço do servidor de relatórios é iniciado. As entradas terão um aspecto semelhante ao seguinte:
library!DefaultDomain!698!12/29/2009-10:14:49:: i INFO: Initializing RSWindowsExtendedProtectionLevel to 'Off' conforme especificado no arquivo de Configuração.
library!DefaultDomain!698!12/29/2009-10:14:49:: i INFO: Initializing RSWindowsExtendedProtectionScenario to 'Proxy' conforme especificado no arquivo de Configuração.
Como posso saber se a Proteção Estendida fez a Autenticação falhar?
O arquivo de log de rastreamento de serviço do servidor de relatórios conterá entradas semelhante às seguintes:
http!rshost!ec0!12/29/2009-11:01:37:: i INFO: A autenticação falhou com o estado de erro: 46
Localize o número do estado de erro e informações adicionais na lista de error states no final deste tópico.
Como posso verificar se as verificações da Proteção Estendida estão sendo realizadas?
Habilite o log detalhado, atualizando o arquivo de configuração reportingservicesservice.exe.config. Na seção <RStrace> defina:
<add name=”Components” value=”all:4” />
Reinicie o serviço.
Com o log detalhado ativado, a autenticação gravará linhas semelhante às seguintes, indicando que a verificação da Associação de Canal, Associação de Serviço ou ambas está sendo executada:
http!rshost!ec0!12/29/2009-11:01:37:: v VERBOSE: Realizando Verificação de Associação de Canal como Proxy.
http!rshost!7b0!12/29/2009-11:26:23:: v VERBOSE: Realizando Verificação de Associação de Serviço como Proxy.
Para obter mais informações, consulte Arquivo de configuração ReportingServicesService.
Catálogo de servidor de relatório
O Cliente SQL Microsoft SQL não foi atualizado para suportar a proteção estendida no momento da liberação do SQL Server 2008 R2. O Cliente SQL é usado para conexão a fontes de dados do SQL Server e ao banco de dados de catálogo Reporting Services. Esta limitação no Cliente de SQL afeta Reporting Services das seguintes formas:
O SQL Server que executa o banco de dados de catálogo Reporting Services não pode ter a proteção estendida ativada, caso contrário, o servidor de relatório não se conectará ao banco de dados de catálogo e gerará erros de autenticação.
Todos os Servidores SQL usados como fontes de dados de relatórios Reporting Services não podem ter a proteção estendida habilitada. Caso contrário, as tentativas do servidor de relatório de se conectar à fonte de dados de relatório falharão e gerarão erros de autenticação. Um possível contorno é alterar as fontes de dados do Reporting Services para usar provedores originais e não o Cliente de SQL. Por exemplo, configure as fontes de dados para o driver ODBC e, então o SQL Native Client será usado porque permite o uso da Proteção Estendida.
O que acontece quando eu habilito a Proteção Estendida, mas não configuro o SSL?
O comportamento depende da configuração de RSWindowsExtendedProtectionScenario no arquivo de configuração rsreportserver.config.
Se RSWindowsExtendedProtectionScenario for definido como Direto e o SSL estiver faltando
Quando RSWindowsExtendedProtectionScenario for Direct e não houver nenhuma reserva de URL de SSL para o Servidor de Relatórios ou o Gerenciador de Relatórios, os usuários que estiverem visualizando o Servidor de Relatórios ou o Gerenciador de Relatórios verão uma janela do Gerenciador de Relatórios vazia.
Isso ocorre porque, quando o SSL está faltando e o RSWindowsExtendedProtectionScenario estiver definido como Direto, o servidor de relatório desabilita os tipos de autenticação <RSWindowsNTLM />, <RSWindowsNegotiate />, e <RSWindowsKerberos />. Portanto, não há nenhum tipo de autenticação ativado, e o servidor de relatórios não atenderá solicitações. Isso gera janelas vazias.
O arquivo de log de rastreamento conterá mensagens de erro semelhantes às seguintes:
configmanager!DefaultDomain!938!12/29/2009-11:39:39:: e ERROR: SSL O SSL é obrigatório nas conexões do Servidor de Relatórios quando ExtendedProtectionScenario estiver definido como Direto
configmanager!DefaultDomain!938!12/29/2009-11:39:39:: e ERROR: SSL O SSL é obrigatório nas conexões do Gerenciador de Relatórios quando ExtendedProtectionScenario estiver definido como Direto
Se RSWindowsExtendedProtectionScenario for definido como Proxy e o SSL estiver faltando
Quando RSWindowsExtendedProtectionScenario estiver definido como Proxy e o SSL não fizer parte do ambiente, os usuários que estiverem vendo o servidor de relatórios ou o gerenciador de relatórios normalmente verão uma página de solicitação de credenciais, a qual nunca será autenticada com êxito. Se o SSL estiver configurado no Servidor de Relatórios, acrescentar um 's' na URL usada no navegador para o servidor de relatórios ou o gerenciador de relatórios resolverá o problema. Por exemplo, https://<uri> resolverá o problema de exibição da caixa de diálogo de autenticação, caso ele tenha sido causado pela definição de RSWindowsExtendedProtectionSscenario como proxy.
O arquivo de log de rastreamento do servidor de relatórios conterá mensagens semelhantes às seguintes:
http!rshost!ec0!12/29/2009-11:01:37:: i INFO: Realizando Verificação de Associação de Canal como Proxy.
http!rshost!76c!12/29/2009-10:26:12:: i INFO: A autenticação falhou com o estado de erro: 45
http!rshost!ec0!12/29/2009-11:01:37:: i INFO: Realizando Verificação de Associação de Canal como Proxy.
http!rshost!ec0!12/29/2009-11:01:37:: i INFO: A autenticação falhou com o estado de erro: 46
Depois de habilitar a Proteção Estendida, eu posso me conectar ao Internet Explorer, mas não posso me conectar usando o Report Builder, Management Studio ou qualquer cliente .NET
Essa situação só ocorre em sistemas operacionais anteriores ao Windows 7 e Windows 2008 R2. Versões anteriores do Windows não vêm, originalmente, com a função de Proteção Estendida e, portanto, um computador com a versão anterior do sistema operacional talvez não tenha todas as atualizações da proteção estendida, inclusive a atualização da proteção estendida para o .NET framework.
Quando RSWindowsExtendedProtectionLevel for Allow ou Require, um aplicativo cliente executado em um sistema operacional que suporta a proteção estendida deve criar uma associação de canal e, às vezes, uma associação de serviço. Neste exemplo:
O Internet Explorer foi atualizado para a proteção estendida como parte da atualização da proteção estendida do Windows.
Porém, o .NET Framework não recebeu um patch. O .NET Framework é obrigatório nos clientes .NET, como o Report Builder e o Management Studio.
Para diagnosticar esse problema, desabilite a Proteção Estendida e verifique se é possível conectar o aplicativo do cliente .NET. Para desabilitar a Proteção Estendida:
Defina RSWindowsExtendedProtectionLevel como Off no arquivo RSReportServer.config.
Reinicie o serviço Servidor de Relatório.
A solução é baixar todas as atualizações do .NET Framework.
Por que conexões locais são aprovadas na autenticação quando a Proteção Estendida está ativada, mas as conexões remotas falham?
Ao fazer uma autenticação de loopback, o sistema operacional salta o mecanismo de autenticação e não impõe a Associação de Canal.
Portanto, ao usar uma conexão HTTP e os parâmetros de configuração de:
RSWindowsExtendedProtectionLevel definido como Require
AND
RSWindowsExtendedProtectionScenario definido como Proxy
A conexão local será realizada com êxito, mas as conexões remotas falharão.
Dependendo da URL usada para efetuar a conexão local e das Reservas de URL configuradas no servidor de relatórios, ainda é possível que a conexão local falhe com uma falha de associação de serviço porque o SPN criado a partir da reserva de URL talvez não corresponda a um SPN na lista de SPN válida.
A conexão remota sempre falhará se você estiver efetuando uma conexão HTTP e não houver nenhum gateway entre o cliente e o servidor de relatórios que esteja configurado para fazer uma conexão SSL.
401 Erro sem autorização ao usar um Cabeçalho de Host
Esta situação é específica de uma implantação de expansão do Reporting Services e ocorre se o Gerenciador de Relatórios e o Servidor de Relatórios estiverem no mesmo computador e se ambos usarem cabeçalhos de host e usarem a autenticação do Windows. Por exemplo, se você tentar acessar Gerenciador de Relatórios em http://<thename>/relatórios, não verá a lista esperada de relatórios e pastas e sim uma mensagem de erro "HTTP 401 (Sem Autorização)."
A referência <thename> não é o nome físico do computador e é considerada um "Cabeçalho de Host". É um nome alternativo para o computador no qual o Reporting Services está instalado. Os Cabeçalhos de Host também são usados como uma fonte de SPNs válidos quando o Reporting Services calcular a lista válida de SPNs para a Proteção Estendida.
Para impedir o erro 401 (sem autorização), você precisará acrescentar o NetBIOS e um Nome de Domínio Totalmente Qualificado (FQDN) de <thename> à lista de BackConnectionHostNames armazenada no Registro do Windows. Reinicialize o computador depois de fazer a alteração no Registro.
Para obter mais informações sobre como fazer a alteração do Registro, consulte a seção "Método 2: Especifique nomes de hosts" no Microsoftartigo da Base de Dados de Conhecimento 896861,Você verá o erro 401.1 procurar um site que utiliza a Autenticação Integrada e está hospedado no IIS 5.1 ou em uma versão subsequente.
Mensagens de erro
A lista de mensagens a seguir pode ser consultada no arquivo de log de rastreamento de serviço do servidor de relatórios.
Mensagem de erro |
Tipo |
Causa |
Etapas de solução de problemas. |
---|---|---|---|
Configuração ExtendedProtectionScenario ausente ou inválida |
Erro |
|
|
O SSL é obrigatório nas conexões com o Servidor de Relatórios quando ExtendedProtectionScenario for definido como Direto |
Erro |
|
|
A autenticação do tráfego de HTTP para o Servidor de Relatórios não será permitida no NTLM, Kerberos, Negotiate |
Aviso |
|
|
O SSL é obrigatório nas conexões com o Gerenciador de Relatórios quando ExtendedProtectionScenario for definido como Direto |
Erro |
|
|
A autenticação das conexões diretas com o Servidor de Relatórios não será permitida no NTLM, Kerberos, Negotiate |
Aviso |
|
|
A autenticação do tráfego de HTTP para o Geerenciador de Relatórios poderá não ser permitida no NTLM, Kerberos, Negotiate |
Aviso |
|
|
Estados de erro
Esta seção contém nomes e descrições dos códigos de erro que você poderá ver no log de rastreamento de serviço do servidor de relatórios em relação à Proteção Estendida. Para obter mais informações, consulte Log de rastreamento do serviço do servidor de relatório.
código |
Nome do estado de erro |
Descrição |
---|---|---|
44 |
SNIAUTH_ERRST_SSPIHANDSHAKE_CHANNELBINDINGS_NOTSUPPORTED |
O sistema operacional não permite Associações de Canal, mas o servidor de relatórios está configurado para exigir a Proteção Estendida. Atualize o sistema operacional ou desabilite a Proteção Estendida. |
45 |
SNIAUTH_ERRST_SSPIHANDSHAKE_CHANNELBINDINGS_EMPTYORWRONG |
As Associações de Canal do cliente não correspondem ao canal do Protocolo TLS estabelecido. O serviço pode estar sendo atacado ou o provedor de dados precisa ser atualizado para permitir a Proteção Estendida. A conexão foi encerrada. |
46 |
SNIAUTH_ERRST_SSPIHANDSHAKE_CHANNELBINDINGS_NULLOREMPTYORWRONG |
As Associações de Canal deste cliente estão ausentes ou não correspondem ao canal do Protocolo TLS estabelecido. O serviço pode estar sendo atacado ou o provedor de dados ou o sistema operacional cliente precisa ser atualizado para permitir a Proteção Estendida. A conexão foi encerrada. |
48 |
SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_UNSUPPORTED |
O sistema operacional não permite Associações de Serviço, mas o servidor de relatórios é configurado para exigir a Proteção Estendida. Atualize o sistema operacional ou desabilite a Proteção Estendida. |
49 |
SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_UNSUPPORTED |
QueryContextAttributes não pôde recuperar as Associações de Serviço. O código de erro do Windows indica a causa da falha. |
51 |
SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_NULL |
O nível do servidor de Proteção Estendida está configuraod como Permitido ou Obrigatório e o cliente não forneceu um Nome de Serviço Principal (SPN). Para conectar, este cliente deve aceitar o uso da Proteção Estendida. Você pode ser obrigado a instalar um service pack do sistema operacional que permita Associação de Serviço e Associação de Canal. |
52 |
SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_EMPTY |
O nível do servidor de Proteção Estendida está configurado como Permitido ou Obrigatório e o cliente não forneceu um SPN. Para conectar, este cliente deve aceitar o uso da Proteção Estendida. |
53 |
SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_SERVICECLASSMISMATCH |
O elemento de Classe de Serviço do SPN recebido não é válido. |
54 |
SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_IPADDRESSMISMATCH |
O elemento Endereço IP do SPN recebido não é válido. |
55 |
SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_HOSTNAMEMISMATCH |
O elemento Host do SPN recebido não é válido. |
56 |
SNIAUTH_ERRST_SSPIHANDSHAKE_OOM |
Uma alocação de memória falhou durante a validação do SPN recebido. |
57 |
SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_WSASTRINGTOADDRESSFAILEDFORIPV6 |
WSAStringToAddress não conseguiu converter o elemento Endereço IP do SPN recebido em uma estrutura de endereço. O código de erro do Windows indica a causa da falha. |