Partilhar via


Usar Kerberos para logon único (SSO) no SAP BW usando gx64krb5

Este artigo descreve como configurar sua fonte de dados do SAP Business Warehouse (BW) para habilitar o logon único (SSO) 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 suporta mais o gx64krb5 para gateways de dados locais no Power BI e as etapas necessárias para configurá-lo para o gateway são significativamente mais complexas em comparação com o CommonCryptoLib. Como resultado, a Microsoft recomenda usar CommonCryptoLib em vez disso. Para obter mais informações, consulte SAP Note 352295. Observe que o gx64krb5 não permite conexões SSO do gateway de dados para os servidores de mensagens SAP BW; somente conexões com SAP BW Application Servers são possíveis. Essa restrição não existe se você usar CommonCryptoLib como sua biblioteca SNC. Para obter informações sobre como configurar o SSO usando CommonCryptoLib, consulte Configurar o SAP BW para SSO usando CommonCryptoLib. Use CommonCryptoLib ou gx64krb5 como sua biblioteca SNC, mas não ambos. Não conclua as etapas de configuração para ambas as bibliotecas.

Nota

Configurar ambas as bibliotecas (sapcrypto e gx64krb5) no mesmo servidor gateway é um cenário sem suporte. Não é recomendável configurar ambas as bibliotecas no mesmo servidor gateway, pois isso levará a uma combinação de bibliotecas. Se você quiser usar ambas as bibliotecas, separe totalmente o servidor gateway. Por exemplo, configure gx64krb5 para o servidor A e, em seguida, sapcrypto para o servidor B. Lembre-se de que qualquer falha no servidor A que usa gx64krb5 não é suportada, pois gx64krb5 não é mais suportado pela SAP e Microsoft.

Este guia é exaustivo; Se já tiver concluído alguns dos passos descritos, pode ignorá-los. Por exemplo, você pode já ter configurado seu servidor SAP BW para SSO usando gx64krb5.

Configurar o gx64krb5 na máquina gateway e no servidor SAP BW

A biblioteca gx64krb5 deve ser usada pelo cliente e pelo servidor para concluir uma conexão SSO através do gateway. Ou seja, o cliente e o servidor devem estar usando a mesma biblioteca SNC.

  1. Faça o download gx64krb5.dll do SAP Note 2115486 (SAP s-user necessário). Certifique-se de ter pelo menos a versão 1.0.11.x. Além disso, faça o download do gsskrb5.dll (a versão de 32 bits da biblioteca) se quiser testar a conexão SSO no SAP GUI antes de tentar a conexão SSO através do gateway (recomendado). A versão de 32 bits é necessária para testar com o SAP GUI porque o SAP GUI é apenas de 32 bits.

  2. Coloque gx64krb5.dll em um local na máquina do gateway que seja acessível pelo usuário do serviço de gateway. Se você quiser testar a conexão SSO com SAP GUI, coloque também uma cópia do gsskrb5.dll em sua máquina e defina a variável de ambiente SNC_LIB para apontar para ela. Tanto o usuário do serviço de gateway quanto os usuários do Ative Directory (AD) que o usuário do serviço representará precisam de permissões de leitura e execução para a cópia do gx64krb5.dll. Recomendamos conceder permissões no .dll ao grupo 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.

  3. Se o servidor BW ainda não tiver sido configurado para SSO usando gx64krb5.dll, coloque outra cópia do .dll na máquina do servidor SAP BW em um local acessível pelo servidor SAP BW.

    Para obter mais informações sobre como configurar o gx64krb5.dll para uso com um servidor SAP BW, consulte a documentação do SAP (SAP s-user required).

  4. Nas máquinas 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 seu caminho absoluto.
    • Se você usar gx64krb5.dll, defina a variável SNC_LIB_64 como seu caminho absoluto.

Configurar um usuário do serviço SAP BW e habilitar a comunicação SNC no servidor BW

Conclua esta seção se você ainda não configurou seu servidor SAP BW para comunicação SNC (por exemplo, SSO) usando gx64krb5.

Nota

Esta seção pressupõe que você já criou um usuário de serviço para BW e vinculou um SPN adequado a ele (ou seja, um nome que começa com SAP/).

  1. Dê ao usuário do serviço acesso ao seu servidor de aplicativos SAP BW:

    1. Na máquina do servidor SAP BW, adicione o usuário do serviço ao grupo Administrador local. Abra o programa Gerenciamento do Computador e identifique o grupo Administrador Local do seu servidor.

      Programa de Gestão de Computadores

    2. Clique duas vezes no grupo Administrador Local e selecione Adicionar para adicionar o usuário do serviço ao grupo.

    3. Selecione Verificar Nomes para se certificar de que introduziu o nome corretamente e, em seguida, selecione OK.

  2. Defina o usuário de serviço do servidor SAP BW como o usuário que inicia o serviço do servidor SAP BW na máquina do servidor SAP BW:

    1. Abra Executar e insira Services.msc.

    2. Encontre o serviço correspondente à sua instância do SAP BW Application Server, clique com o botão direito do mouse nele e selecione Propriedades.

      Captura de ecrã de Serviços, com Propriedades realçadas

    3. Alterne para a guia Fazer logon e altere o usuário para o usuário do serviço SAP BW.

    4. Introduza a palavra-passe do utilizador e, em seguida, selecione OK.

  3. No SAP Logon, faça login no servidor e defina os seguintes parâmetros de perfil usando a transação RZ10:

    1. Defina o parâmetro de perfil snc/identity/as como o usuário do serviço p:<SAP BW que você criou>. Por exemplo, p:BWServiceUser@MYDOMAIN.COM. Observe que p: precede o nome principal do usuário do serviço (UPN), em oposição a p:CN=, que precede o UPN quando você usa CommonCryptoLib como a biblioteca SNC.

    2. Defina o parâmetro de perfil snc/gssapi_lib como <caminho para gx64krb5.dll no servidor> BW. Coloque a biblioteca em um local que o SAP BW Application Server possa acessar.

    3. 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 SAP BW usando o SAP Logon sem ter o SNC configurado.

      Definição Valor
      SNC/data_protection/Max 3
      SNC/data_protection/min 1
      SNC/data_protection/UTILIZAÇÃO 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
    4. Defina a propriedade snc/enable como 1.

  4. Depois de definir esses parâmetros de perfil, abra o SAP Management Console na máquina do servidor e reinicie a instância do SAP BW.

    Se o servidor não iniciar, confirme se você definiu os parâmetros de perfil corretamente. Para obter mais informações sobre configurações de parâmetros de perfil, consulte a documentação do SAP. Você também pode consultar a seção Solução de problemas neste artigo.

Mapear um usuário do SAP BW para um usuário do Ative Directory

Se você ainda não tiver feito isso, mapeie um usuário do AD para um usuário do SAP BW Application Server e teste a conexão SSO no SAP Logon.

  1. Faça login no seu servidor SAP BW com o SAP Logon. Execute a transação SU01.

  2. Em User, insira o usuário do SAP BW para o qual você deseja habilitar a conexão SSO. Selecione o ícone Editar (ícone de caneta) próximo ao canto superior esquerdo da janela SAP Logon.

    Tela de manutenção do usuário SAP BW

  3. Selecione a guia SNC. Na caixa de entrada de nome SNC, digite p:<seu usuário> do Ative 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 SAP BW Application Server. Por exemplo, se você quiser habilitar o acesso SSO para o usuário testuser@TESTDOMAIN.COM, digite p:testuser@TESTDOMAIN.COM.

    Tela de manutenção de usuários do SAP BW

  4. Selecione o ícone Salvar (imagem de disquete) próximo ao canto superior esquerdo da tela.

Testar o início de sessão através de SSO

Verifique se você pode entrar no servidor usando o SAP Logon through SSO como o usuário do AD para o qual você habilitou o acesso SSO:

  1. Como o usuário do AD para o qual você acabou de habilitar o acesso SSO, entre em uma máquina em seu domínio na qual o SAP Logon está instalado. Inicie o SAP Logon e crie uma nova conexão.

  2. Copie o arquivo gsskrb5.dll baixado anteriormente para um local na máquina em que você entrou. Defina a variável de ambiente SNC_LIB para o caminho absoluto deste local.

  3. Inicie o SAP Logon e crie uma nova conexão.

  4. Na tela Criar Nova Entrada do Sistema , selecione Sistema Especificado pelo Usuário e, em seguida, selecione Avançar.

    Criar nova tela de entrada do sistema

  5. Preencha os detalhes apropriados na próxima tela, incluindo o servidor de aplicativos, o número da instância e o ID do sistema. Em seguida, selecione Concluir.

  6. Clique com o botão direito do rato na nova ligação, selecione Propriedades e, em seguida, selecione o separador Rede.

  7. Na caixa Nome do SNC, digite UPN> do usuário do serviço p:<SAP BW. Por exemplo, p:BWServiceUser@MYDOMAIN.COM. Selecione OK.

    Tela Propriedades de entrada do sistema

  8. Clique duas vezes na conexão que você acabou de criar para tentar uma conexão SSO com o servidor SAP BW.

    Se essa conexão for bem-sucedida, continue para a próxima seção. Caso contrário, reveja os passos anteriores neste documento para se certificar de que foram concluídas corretamente ou reveja a secção Resolução de problemas . Se não for possível conectar-se ao servidor SAP BW via SSO neste contexto, não será possível conectar-se ao servidor SAP BW usando o SSO no contexto do gateway.

Adicionar entradas do Registro à máquina do gateway

Adicione as entradas de registo necessárias ao registo da máquina em que o gateway está instalado e a máquinas destinadas a ligar a partir do Power BI Desktop. Para adicionar essas entradas do 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 SAP BW Application Server ao serviço do Power BI ou editar uma existente

  1. 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 SAP BW, como faria para entrar no servidor SAP BW a partir do Power BI Desktop.

  2. No campo Nome do parceiro SNC, digite p:<SPN mapeado para o usuário> do serviço SAP BW. Por exemplo, se o SPN for SAP/BWServiceUser@MYDOMAIN.COM, digite p:SAP/BWServiceUser@MYDOMAIN.COM no campo Nome do parceiro SNC.

  3. Para a Biblioteca SNC, selecione a opção Personalizado e forneça o caminho absoluto para GX64KRB5.DLL ou GSSKRB5.DLL na máquina do gateway.

  4. Selecione Usar SSO via Kerberos para consultas DirectQuery e, em seguida, selecione Aplicar. Se a conexão de teste não for bem-sucedida, verifique se as etapas de instalação e configuração anteriores foram concluídas corretamente.

  5. Execute um relatório do Power BI.

Resolução de Problemas

Solucionar problemas de configuração do gx64krb5

Se você encontrar qualquer um dos seguintes problemas, siga estas etapas para solucionar problemas de instalação do gx64krb5 e conexões SSO:

  • Você encontra erros ao concluir as etapas de configuração do gx64krb5. Por exemplo, o servidor SAP BW não será iniciado depois que você alterar os parâmetros do perfil. Exibir os logs do servidor (... work\dev_w0 na máquina do servidor) para solucionar esses erros.

  • Não é possível iniciar o serviço SAP BW devido a uma falha de início de sessão. Você pode ter fornecido a senha errada ao definir o SAP BW start-as user. Verifique a senha entrando como usuário do serviço SAP BW em uma máquina em seu ambiente AD.

  • Você obtém 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.

  • Você recebe a seguinte mensagem: (GSS-API) destino especificado é desconhecido ou inacessível. Este erro geralmente significa que você tem o nome SNC errado especificado. Certifique-se de usar p: only, não p:CN=, para preceder o UPN do usuário do serviço no aplicativo cliente.

  • Você recebe a seguinte mensagem: (GSS-API) Um nome inválido foi fornecido. Certifique-se de que p: é o valor do parâmetro de perfil de identidade SNC do servidor.

  • Você recebe a seguinte mensagem: (erro SNC) o módulo especificado não pôde ser encontrado. Esse erro geralmente é causado por colocar gx64krb5.dll em um local que requer privilégios elevados (.. /direitos de administrador) para aceder.

Solucionar problemas de conectividade de gateway

  1. Verifique os logs do gateway. Abra o aplicativo de configuração do gateway e selecione Diagnóstico e, em seguida , Exportar logs. Os erros mais recentes estão no final de todos os arquivos de log examinados.

    Aplicativo de gateway de dados local, com Diagnóstico realçado

  2. Ative o rastreamento do SAP BW e revise os arquivos de log gerados. Há vários tipos diferentes de rastreamento SAP BW disponíveis (por exemplo, rastreamento CPIC):

    a. Para habilitar o rastreamento CPIC, defina duas variáveis de ambiente: CPIC_TRACE e CPIC_TRACE_DIR.

    A primeira variável define o nível de rastreamento e a segunda variável define o diretório do arquivo de rastreamento. O diretório deve ser um local no qual os membros do grupo Usuários Autenticados possam gravar.

    b. Defina CPIC_TRACE como 3 e CPIC_TRACE_DIR para qualquer diretório no qual você deseja que os arquivos de rastreamento sejam gravados. Por exemplo:

    Rastreio CPIC

    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.

Para obter mais informações sobre o gateway de dados local e o DirectQuery, consulte os seguintes recursos: