Usar o Kerberos para logon único (SSO) no SAP BW com gx64krb5
Este artigo descreve como configurar sua fonte de dados do SAP Business Warehouse (BW) para habilitar o SSO (logon único) do serviço do Power BI usando gx64krb5.
Importante
A Microsoft permitirá que você crie conexões usando bibliotecas SNC (Secure Network Communications) (como gx64krb5), mas não fornecerá suporte para essas configurações. Além disso, o SAP não é mais compatível com a gx64krb5 para gateways de dados locais no Power BI as etapas necessárias para configurá-lo para uso com o gateway são significativamente mais complexas em comparação a CommonCryptoLib. Como resultado, a Microsoft recomenda usar CommonCryptoLib em vez disso. Para saber mais, veja Nota SAP 352295. O gx64krb5 não permite conexões de SSO do gateway de dados para os Servidores de Mensagens do SAP BW. Somente conexões com os Servidores de Aplicativos do SAP BW são possíveis. Essa restrição não existirá se você usar CommonCryptoLib como biblioteca do SNC. Para saber mais sobre como configurar o SSO usando o CommonCryptoLib, confira Configurar o SAP BW para SSO usando o CommonCryptoLib. Use o CommonCryptoLib ou o gx64krb5 como sua biblioteca SNC, mas não ambos. Não conclua as etapas de configuração para as duas bibliotecas.
Observação
A configuração de ambas as bibliotecas (sapcrypto e gx64krb5) no mesmo servidor de gateway é um cenário sem suporte. Não é recomendável configurar ambas as bibliotecas no mesmo servidor de gateway, pois isso levará a uma mistura de bibliotecas. Se você quiser usar ambas as bibliotecas, separe totalmente o servidor de gateway. Por exemplo, configure gx64krb5 para o servidor A e, em seguida, sapcrypto para o servidor B. Lembre-se de que não há suporte para qualquer falha no servidor A que usa gx64krb5, pois o gx64krb5 não tem mais suporte do SAP e da Microsoft.
Este guia é abrangente. Se você já tiver concluído parte das etapas descritas, poderá pulá-lo. Por exemplo, talvez você já tenha configurado o servidor do SAP BW para SSO usando o gx64krb5.
Configurar o gx64krb5 no computador do gateway e no servidor do SAP BW
A biblioteca do gx64krb5 precisa ser usada pelo cliente e pelo servidor para concluir uma conexão de SSO por meio do gateway. Dessa maneira, o cliente e o servidor precisam usar a mesma biblioteca SNC.
Baixe o gx64krb5.dll da Nota da SAP 2115486 (usuário s da SAP necessário). Verifique se você tem pelo menos a versão 1.0.11.x. Baixe também o gsskrb5.dll (a versão de 32 bits da biblioteca) se quiser testar a conexão SSO no GUI do SAP antes de tentar a conexão SSO por meio do gateway (recomendado). A versão de 32 bits é necessária para testar com o GUI do SAP, porque este só está disponível em 32 bits.
Coloque o gx64krb5.dll em um local no computador do gateway que possa ser acessado pelo usuário do serviço do gateway. Caso você deseje testar a conexão SSO usando a GUI do SAP, coloque também uma cópia de gsskrb5.dll no computador e defina a variável de ambiente SNC_LIB para que aponte para ela. O usuário do serviço do gateway e os usuários do AD (Active Directory) que o usuário do serviço representará precisam de permissões de leitura e execução na cópia de gx64krb5.dll. Recomendamos conceder permissões nos arquivos .dll ao grupo de usuários autenticados. Para fins de teste, você também pode conceder explicitamente essas permissões ao usuário do serviço de gateway e ao usuário do AD que você usa para testar.
Se o servidor do BW ainda não estiver configurado para SSO com o gx64krb5.dll, coloque outra cópia da .dll no computador do servidor do SAP BW em um local acessível ao servidor do SAP BW.
Para saber mais sobre como configurar o gx64krb5.dll para uso com um servidor do SAP BW, confira a Documentação do SAP (usuário s do SAP necessário).
Nos computadores cliente e servidor, defina as variáveis de ambiente SNC_LIB e SNC_LIB_64:
- Se você usar gsskrb5.dll, defina a variável SNC_LIB como o caminho absoluto.
- Se você usar gx64krb5.dll, defina a variável SNC_LIB_64 como o caminho absoluto.
Configurar um usuário do serviço do SAP BW e habilitar a comunicação SNC no servidor do BW
Conclua esta seção caso ainda não tenha configurado o servidor do SAP BW para comunicação SNC (por exemplo, SSO) usando o gx64krb5.
Observação
Esta seção pressupõe que você já criou um usuário de serviço para BW e associou a ele um SPN adequado (por exemplo, um nome que começa com SAP/ ).
Permita acesso ao usuário de serviço ao Servidor de Aplicativos do SAP BW:
No computador do servidor do SAP BW, adicione o usuário de serviço ao grupo Administrador Local. Abra o programa Gerenciamento de Computador e identifique o grupo Administrador Local do servidor.
Clique duas vezes no grupo Administrador Local e selecione Adicionar para adicionar o usuário do serviço ao grupo.
Selecione Verificar Nomes para garantir que você inseriu o nome corretamente e clique em OK.
Defina o usuário de serviço do servidor do SAP BW como o usuário que o inicia no computador do servidor SAP BW:
Abra Executar e insira Services.msc.
Localize o serviço correspondente à instância do Servidor de Aplicativos do SAP BW, clique nele com o botão direito do mouse e selecione Propriedades.
Alterne para a guia Logon e altere o usuário para o usuário do serviço SAP BW.
Insira a senha do usuário e selecione OK.
Entre no servidor no Logon do SAP e defina os seguintes parâmetros de perfil usando a transação RZ10:
Defina o parâmetro de perfil snc/identity/as como p:<o usuário de serviço do SAP BW que você criou> . Por exemplo, p:BWServiceUser@MYDOMAIN.COM. Observe que p: precede o nome UPN (nome UPN) do usuário do serviço, ao contrário de p:CN=, que precede o UPN quando você usa CommonCryptoLib como a biblioteca SNC.
Defina o parâmetro de perfil snc/gssapi_lib como o <caminho para gx64krb5.dll no servidor do BW>. Coloque a biblioteca em um local que o Servidor de Aplicativos do SAP BW possa acessar.
Defina os seguintes parâmetros de perfil adicionais, alterando os valores conforme necessário para atender às suas necessidades. As últimas cinco opções permitem que os clientes se conectem ao servidor do SAP BW usando o Logon do SAP, sem a necessidade de ter o SNC configurado.
Configuração Valor snc/data_protection/max 3 snc/data_protection/min 1 snc/data_protection/use 9 snc/accept_insecure_cpic 1 snc/accept_insecure_gui 1 snc/accept_insecure_r3int_rfc 1 snc/accept_insecure_rfc 1 snc/permit_insecure_start 1 Defina a propriedade snc/enable como 1.
Após definir esses parâmetros de perfil, abra o Console de Gerenciamento do SAP no computador do servidor e reinicie a instância do SAP BW.
Se o servidor não for iniciado, confirme se você definiu os parâmetros de perfil corretamente. Para saber mais sobre as configurações de parâmetro de perfil, confira a Documentação do SAP. Também é possível consultar a seção Solução de problemas neste artigo.
Mapear um usuário do SAP BW para um usuário do Active Directory
Se você ainda não tiver feito isso, mapeie um usuário do AD para um usuário do Servidor de Aplicativos do SAP BW e teste a conexão SSO no Logon do SAP.
Entre no servidor SAP BW usando o Logon do SAP. Execute a transação SU01.
Em Usuário, insira o usuário do SAP BW em que você quer habilitar a conexão de SSO. Selecione o ícone Editar (ícone de caneta) perto do canto superior esquerdo da janela Logon do SAP.
Selecione a guia SNC. Na caixa de entrada do nome SNC, insira p:<seu usuário do Active Directory>@<seu domínio>. Para o nome SNC, p: deve preceder o UPN do usuário do AD. Observe que o UPN diferencia maiúsculas de minúsculas.
O usuário do AD especificado deve pertencer à pessoa ou organização para a qual você deseja habilitar o acesso SSO ao Servidor de Aplicativos do SAP BW. Por exemplo, se você quiser habilitar o acesso SSO para o usuário testuser@TESTDOMAIN.COM, insira 2p:testuser@TESTDOMAIN.COM.
Clique no ícone Salvar (imagem de disquete) próximo ao canto superior esquerdo da tela.
Testar a entrada por meio do SSO
Verifique se você pode entrar no servidor usando o Logon do SAP por meio do SSO como o usuário do AD para o qual você habilitou o acesso SSO:
Como o usuário do AD para o qual você acabou de habilitar o acesso SSO, entre em um computador em seu domínio no qual o Logon do SAP está instalado. Inicie o Logon do SAP e crie uma conexão.
Copie o arquivo gsskrb5.dll que você baixou anteriormente para um local na máquina em que você fez login. Defina a variável de ambiente SNC_LIB para o caminho absoluto desse local.
Inicie o SAP Logon e crie uma nova conexão.
Na tela Criar Nova Entrada do Sistema, selecione Sistema Especificado pelo Usuário e, em seguida, Avançar.
Preencha os detalhes apropriados na próxima tela, incluindo o servidor de aplicativos, o número da instância e a ID do sistema. Em seguida, selecione Concluir.
Clique com o botão direito do mouse na nova conexão, selecione Propriedades e a guia Rede.
Na caixa Nome SNC, insira p:<o UPN do usuário de serviço do SAP BW> . Por exemplo, p:BWServiceUser@MYDOMAIN.COM. Selecione OK.
Clique duas vezes na conexão recém-criada para tentar uma conexão de SSO com o servidor SAP BW.
Se essa conexão for bem-sucedida, vá para a próxima seção. Caso contrário, examine as etapas anteriores neste documento para garantir que foram concluídas corretamente ou examine a seção Solução de problemas. Se não for possível se conectar ao servidor SAP BW por meio do SSO neste contexto, você não poderá se conectar ao servidor SAP BW usando o SSO no contexto do gateway.
Adicionar entradas de registro ao computador do gateway
Adicione as entradas de Registro necessárias ao Registro do computador em que o gateway está instalado, bem como a computadores destinados à conexão do Power BI Desktop. Para adicionar essas entradas de Registro, execute os seguintes comandos:
REG ADD HKLM\SOFTWARE\Wow6432Node\SAP\gsskrb5 /v ForceIniCredOK /t REG_DWORD /d 1 /f
REG ADD HKLM\SOFTWARE\SAP\gsskrb5 /v ForceIniCredOK /t REG_DWORD /d 1 /f
Adicionar uma nova fonte de dados do Servidor de Aplicativos do SAP BW ao serviço do Power BI ou edite uma existente
Na janela de configuração da fonte de dados, insira o Nome do host, o Número do Sistema e a ID do cliente do Servidor de Aplicativos do SAP BW, como faria para entrar no servidor SAP BW por meio do Power BI Desktop.
No campo Nome do Parceiro SNC, insira p:<o SPN mapeado para o usuário do serviço do SAP BW> . Por exemplo, se o SPN for SAP/BWServiceUser@MYDOMAIN.COM, insira p:SAP/BWServiceUser@MYDOMAIN.COM no campo Nome do Parceiro SNC.
Para a biblioteca SNC, selecione a opção Personalizado e forneça o caminho absoluto de GX64KRB5.DLL ou GSSKRB5.DLL no computador do gateway.
Selecione Usar SSO via Kerberos para consultas do DirectQuery e Aplicar. Se a conexão de teste não for bem-sucedida, verifique se as etapas de instalação e de configuração anteriores foram concluídas corretamente.
Solução de problemas
Solução de problemas de configuração do gx64krb5
Caso ocorra algum dos problemas a seguir, siga estas etapas para solucionar problemas de instalação do gx64krb5 e de conexões SSO:
Você encontra erros ao concluir as etapas de configuração do gx64krb5. Por exemplo, o servidor do SAP BW não será iniciado depois que você alterar os parâmetros do perfil. Exiba os logs do servidor (... work\dev_W0 na máquina do servidor) para solucionar esses erros.
Não é possível iniciar o serviço do SAP BW devido a uma falha de logon. Talvez você tenha digitado a senha incorreta ao configurar o usuário Iniciar como do SAP BW. Verifique a senha entrando como o usuário do serviço SAP BW em uma máquina em seu ambiente do AD.
Você recebe erros sobre credenciais de fonte de dados subjacentes (por exemplo, SQL Server), que impedem que o servidor seja iniciado. Verifique se você concedeu ao usuário do serviço acesso ao banco de dados do SAP BW.
Talvez receberá a seguinte mensagem: (GSS-API) O destino especificado é desconhecido ou inacessível. Isso geralmente significa que o nome SNC incorreto foi especificado. Use apenas p: , e não p:CN = para anteceder o UPN do usuário de serviço no aplicativo cliente.
Talvez receberá a seguinte mensagem: (GSS-API) Um nome inválido foi fornecido. Garanta que p: esteja no valor do parâmetro de perfil da identidade SNC do servidor.
Talvez receberá a seguinte mensagem: (Erro de SNC) O módulo especificado não pôde ser encontrado. Normalmente, esse erro é causado ao colocar o gx64krb5.dll em um local que exige privilégios elevados (../direitos de administrador) para acessar.
Solucionar problemas de conectividade do gateway
Verifique os logs de gateway. Abra o aplicativo de configuração do gateway e selecione Diagnóstico e, em seguida , Exportar logs. Os erros mais recentes são mostrados na parte inferior de qualquer arquivo de log examinado.
Ative o rastreamento do SAP BW e examine os arquivos de log gerados. Há vários tipos diferentes de rastreamento do SAP BW disponíveis (por exemplo, rastreamento CPIC):
a. Para habilitar o rastreamento CPIC, defina duas variáveis de ambiente: CPIC_TRACE e CPIC_TRACEDIR.
A primeira variável define o nível de rastreamento e a segunda define o diretório do arquivo de rastreamento. O diretório deve ser um local onde os membros do grupo usuários autenticados possam gravar.
b. Defina CPIC_TRACE como 3 e CPIC_TRACE_DIR como qualquer diretório em que você deseja gravar os arquivos de rastreamento. Por exemplo:
c. Reproduza o problema e verifique se CPIC_TRACE_DIR contém arquivos de rastreamento.
d. Examine o conteúdo dos arquivos de rastreamento para determinar o problema de bloqueio. Por exemplo, você pode descobrir que gx64krb5.dll não foi carregado corretamente ou que um usuário do AD diferente daquele que você esperava iniciou a tentativa de conexão SSO.
Conteúdo relacionado
Para saber mais sobre o gateway de dados local e o DirectQuery, confira estes recursos: