Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Ao habilitar o logon único (SSO), você pode facilitar a atualização de dados de fontes locais por relatórios e painéis do Power BI enquanto respeita as permissões de nível de usuário configuradas nessas fontes. Para habilitar a conectividade SSO perfeita, use o SAML (Security Assertion Markup Language).
Observação
Você pode se conectar a apenas uma fonte de dados usando SAML de Sign-On único com um gateway de dados local. Para se conectar a uma fonte de dados adicional usando SAML de Login Único, deve usar um gateway de dados local diferente.
Fontes de dados suportadas para SAML
Atualmente, a Microsoft suporta SAP HANA com SAML. Para obter mais informações sobre como configurar o logon único para SAP HANA usando SAML, consulte SAML SSO for BI Platform to HANA.
Suportamos fontes de dados adicionais com Kerberos (incluindo SAP HANA).
Para o SAP HANA, recomendamos que você habilite a criptografia antes de estabelecer uma conexão SAML SSO. Para habilitar a criptografia, configure o servidor HANA para aceitar conexões criptografadas e, em seguida, configure o gateway para usar criptografia para se comunicar com o servidor HANA. Como o driver ODBC do HANA não criptografa asserções SAML por padrão, a asserção SAML assinada é enviada do gateway para o servidor HANA de forma clara e fica vulnerável à intercetação e reutilização por terceiros.
Importante
Como o SAP não suporta mais OpenSSL, a Microsoft também descontinuou seu suporte. Suas conexões existentes continuam funcionando, mas você não pode mais criar novas conexões. Em vez disso, use SAP Cryptographic Library (CommonCryptoLib) ou sapcrypto.
Observação
As instruções a seguir fazem referência aos comandos OpenSSL para a criação de certificados. Embora esses comandos sejam mostrados para fins ilustrativos, a SAP agora recomenda o uso do CommonCryptoLib. Consulte a documentação do SAP para obter as melhores práticas atuais.
Configurar o gateway e a fonte de dados
Para usar o SAML, você deve estabelecer uma relação de confiança entre os servidores HANA para os quais deseja habilitar o SSO e o gateway. Nesse cenário, o gateway serve como o provedor de identidade SAML (IdP). Você pode estabelecer essa relação de várias maneiras. A SAP recomenda que você use CommonCryptoLib para concluir as etapas de configuração. Para obter mais informações, consulte a documentação oficial do SAP.
Criar os certificados
Você pode estabelecer confiança entre o servidor HANA e o IdP do gateway assinando o certificado X509 do IdP do gateway com uma autoridade de certificação (CA) raiz que seja confiável para o servidor HANA.
Para criar os certificados, faça o seguinte:
No dispositivo que está executando o SAP HANA, crie uma pasta vazia para armazenar seus certificados e vá para essa pasta.
Crie os certificados raiz executando o seguinte comando:
openssl req -new -x509 -newkey rsa:2048 -days 3650 -sha256 -keyout CA_Key.pem -out CA_Cert.pem -extensions v3_ca'''Certifique-se de copiar e salvar a senha para usar esse certificado para assinar outros certificados. Você deve ver os arquivos CA_Cert.pem e CA_Key.pem sendo criados.
Crie os certificados IdP executando o seguinte comando:
openssl req -newkey rsa:2048 -days 365 -sha256 -keyout IdP_Key.pem -out IdP_Req.pem -nodesVocê deve ver os arquivos IdP_Key.pem e IdP_Req.pem sendo criados.
Assine os certificados do fornecedor de identidade (IdP) usando os certificados de raiz.
openssl x509 -req -days 365 -in IdP_Req.pem -sha256 -extensions usr_cert -CA CA_Cert.pem -CAkey CA_Key.pem -CAcreateserial -out IdP_Cert.pemVocê deve ver os arquivos CA_Cert.srl e IdP_Cert.pem sendo criados. No momento, você está preocupado apenas com o arquivo IdP_Cert.pem .
Criar mapeamento para o certificado do provedor de identidade SAML
Para criar mapeamento para o certificado do Provedor de Identidade SAML, faça o seguinte:
No SAP HANA Studio, clique com o botão direito do mouse no nome do servidor SAP HANA e selecione Security>Open Security Console>SAML Identity Provider.
Selecione a opção SAP Cryptographic Library . Não use a opção OpenSSL Cryptographic Library, que foi preterida pelo SAP.
Para importar o certificado assinado IdP_Cert.pem, selecione o botão azul Importar , conforme mostrado na imagem a seguir:
Lembre-se de atribuir um nome para seu provedor de identidade.
Importar e criar os certificados assinados no HANA
Para importar e criar os certificados assinados no HANA, faça o seguinte:
No SAP HANA Studio, execute a seguinte consulta:
CREATE CERTIFICATE FROM '<idp_cert_pem_certificate_content>'Aqui está um exemplo:
CREATE CERTIFICATE FROM '-----BEGIN CERTIFICATE----- MIIDyDCCArCgA...veryLongString...0WkC5deeawTyMje6 -----END CERTIFICATE----- 'Se não houver um ambiente de segurança pessoal (PSE) com SAML de finalidade, crie um executando a seguinte consulta no SAP HANA Studio:
CREATE PSE SAMLCOLLECTION; set pse SAMLCOLLECTION purpose SAML;Adicione o certificado assinado recém-criado ao PSE executando o seguinte comando:
alter pse SAMLCOLLECTION add CERTIFICATE <certificate_id>;Por exemplo:
alter pse SAMLCOLLECTION add CERTIFICATE 1978320;Você pode verificar a lista de certificados criados executando a seguinte consulta:
select * from PUBLIC"."CERTIFICATES"O certificado agora está instalado corretamente. Para confirmar a instalação, você pode executar a seguinte consulta:
select * from "PUBLIC"."PSE_CERTIFICATES"
Mapeie o usuário
Para mapear o usuário, faça o seguinte:
No SAP HANA Studio, selecione a pasta Segurança .
Expanda Usuários e selecione o usuário para o qual você deseja mapear seu usuário do Power BI.
Marque a caixa de seleção SAML e, em seguida, selecione Configurar, conforme mostrado na imagem a seguir:
Selecione o provedor de identidade que você criou na seção Criar mapeamento para o certificado do provedor de identidade SAML . Para Identidade Externa, insira o UPN do usuário do Power BI (normalmente, o endereço de email que o usuário usa para entrar no Power BI) e selecione Adicionar.
Se você configurou seu gateway para usar a opção de configuração ADUserNameReplacementProperty , insira o valor que substituirá o UPN original do usuário do Power BI. Por exemplo, se você definir ADUserNameReplacementProperty como SAMAccountName, insira SAMAccountName do usuário.
Configurar o gateway
Agora que você configurou o certificado e a identidade do gateway, converta o certificado em um formato de arquivo PFX e, em seguida, configure o gateway para usar o certificado fazendo o seguinte:
Converta o certificado para o formato PFX executando o seguinte comando. Este comando nomeia o arquivo resultante samlcert.pfx e define root como sua senha, conforme mostrado aqui:
openssl pkcs12 -export -out samltest.pfx -in IdP_Cert.pem -inkey IdP_Key.pem -passin pass:root -passout pass:rootCopie o arquivo PFX para a máquina do gateway:
a. Clique duas vezes em samltest.pfx, e selecione Máquina Local>Seguinte.
b) Introduza a palavra-passe e, em seguida, selecione Seguinte.
c. Selecione Colocar todos os certificados na seguinte loja e, em seguida, selecione Procurar>Pessoal>OK.
d. Selecione Seguinte e, em seguida, selecione Concluir.
Para conceder à conta de serviço do gateway acesso à chave privada do certificado, faça o seguinte:
a. Na máquina do gateway, execute o MMC (Console de Gerenciamento Microsoft).
b) No MMC, selecione Ficheiro>Adicionar/remover snap-in.
c. Selecione Adicionar certificados>e, em seguida, selecione Conta de> computadorSeguinte.
d. Selecione Computador Local>Concluir>OK.
e. Expanda Certificados>Pessoais>Certificados e procure o certificado.
f. Clique com o botão direito do rato no certificado e, em seguida, selecione Todas as Tarefas>.
g. Adicione a conta de serviço de gateway à lista. Por padrão, a conta é NT SERVICE\PBIEgwService. Você pode descobrir qual conta está executando o serviço de gateway executando services.msc e, em seguida, procurando o serviço de gateway de dados local.
Por fim, adicione a impressão digital do certificado à configuração do gateway:
Para listar os certificados em sua máquina, execute o seguinte comando do PowerShell:
Get-ChildItem -path cert:\LocalMachine\MyCopie a impressão digital do certificado que criou.
Vá para o diretório do gateway, que é C:\Arquivos de Programas\Gateway de dados local por padrão.
Abra PowerBI.DataMovement.Pipeline.GatewayCore.dll.confige, em seguida, procure a seção SapHanaSAMLCertThumbprint . Cole a impressão digital copiada na etapa 2.
Reinicie o serviço de gateway.
Executar um relatório do Power BI
Agora você pode usar a página Gerenciar Gateway no Power BI para configurar a fonte de dados do SAP HANA. Em Configurações avançadas, habilite o SSO via SAML. Ao fazer isso, você pode publicar relatórios e conjuntos de dados vinculando a essa fonte de dados.
Observação
O SSO usa a Autenticação do Windows, portanto, certifique-se de que a conta do Windows possa acessar a máquina do gateway. Se não tiver certeza, certifique-se de adicionar NT-AUTHORITY\Usuários autenticados (S-1-5-11) ao grupo "Usuários" da máquina local.
Solução de problemas de uso do SAML para logon único no SAP HANA
Esta seção fornece etapas abrangentes para solucionar problemas de uso do SAML para logon único no SAP HANA. Utilizar estes passos pode ajudá-lo a autodiagnosticar e corrigir quaisquer problemas que possa enfrentar.
Credenciais rejeitadas
Depois de configurar o SSO baseado em SAML, poderá ver o seguinte erro no portal do Power BI: "As credenciais fornecidas não podem ser utilizadas para a origem SapHana." Esse erro indica que as credenciais SAML foram rejeitadas pelo SAP HANA.
Os rastreamentos de autenticação do lado do servidor fornecem informações detalhadas para solucionar problemas de credenciais no SAP HANA. Para configurar o rastreamento para seu servidor SAP HANA, faça o seguinte:
No servidor SAP HANA, ative o rastreamento de autenticação executando a seguinte consulta:
ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'SYSTEM') set ('trace', 'authentication') = 'debug' with reconfigureReproduza o problema.
No SAP HANA Studio, abra o console de administração e selecione a guia Arquivos de diagnóstico .
Abra o último registo de servidor de indexação e procure SAMLAuthenticator.cpp.
Você deve encontrar uma mensagem de erro detalhada que indica a causa raiz, conforme mostrado no exemplo a seguir:
[3957]{-1}[-1/-1] 2018-09-11 21:40:23.815797 d Authentication SAMLAuthenticator.cpp(00091) : Element '{urn:oasis:names:tc:SAML:2.0:assertion}Assertion', attribute 'ID': '123123123123123' is not a valid value of the atomic type 'xs:ID'. [3957]{-1}[-1/-1] 2018-09-11 21:40:23.815914 i Authentication SAMLAuthenticator.cpp(00403) : No valid SAML Assertion or SAML Protocol detectedDepois de concluir a solução de problemas, desative o rastreamento de autenticação executando a seguinte consulta:
ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'SYSTEM') UNSET ('trace', 'authentication');
Verificar e solucionar erros de gateway
Para seguir os procedimentos desta secção, você precisa recolher logs de gateway.
Erro SSL (certificado)
Sintomas de erro
Este problema tem vários sintomas. Quando tenta adicionar uma nova origem de dados, poderá ver uma mensagem de erro como a seguinte:
Unable to connect: We encountered an error while trying to connect to . Details: "We could not register this data source for any gateway instances within this cluster. Please find more details below about specific errors for each gateway instance."
Quando tenta criar ou atualizar um relatório, poderá ver uma mensagem de erro como a da imagem seguinte:
Quando você investigar o Mashup[date]*.log, você verá a seguinte mensagem de erro:
A connection was successfully established with the server, but then an error occurred during the login process and the certificate chain was issued by an authority that is not trusted
Resolução
Para resolver esse erro SSL, vá para a conexão da fonte de dados e, em seguida, na lista suspensa Validar Certificado do Servidor , selecione Não, conforme mostrado na imagem a seguir:
Depois de selecionar essa configuração, a mensagem de erro não será mais exibida.
Erro no Gateway SignXML
O erro SignXML do gateway pode ser o resultado de configurações incorretas do SapHanaSAMLCertThumbprint ou pode ser um problema com o servidor HANA. As entradas nos logs do gateway ajudam a identificar onde o problema reside e como resolvê-lo.
Sintomas de erro
Entradas de log para SignXML: Found the cert...: Se o arquivo GatewayInfo[date].log contiver esse erro, o certificado SignXML foi encontrado e seus esforços de solução de problemas devem se concentrar nas etapas encontradas na seção "Verificar e solucionar problemas do lado do servidor HANA".
Entradas de log para Couldn't find saml cert: Se o arquivo GatewayInfo[date].log contiver esse erro, SapHanaSAMLCertThumbprint está definido incorretamente. A seção de resolução a seguir descreve como resolver o problema.
Resolução
Para definir corretamente o SapHanaSAMLCertThumbprint, siga as instruções na seção "Configurar o gateway ". As instruções começam com Finalmente, adicione a impressão digital do certificado à configuração do gateway.
Depois de alterar o arquivo de configuração, você precisa reiniciar o serviço de gateway para que a alteração entre em vigor.
Validação
Quando o SapHanaSAMLCertThumbprint estiver definido corretamente, os logs do gateway terão entradas que incluem SignXML: Found the cert.... Neste ponto, você deve ser capaz de prosseguir para a seção "Verificar e solucionar problemas do lado do servidor HANA".
Se o gateway não conseguir usar o certificado para assinar a asserção SAML, você poderá ver um erro nos logs semelhante ao seguinte:
GatewayPipelineErrorCode=DM_GWPipeline_UnknownError GatewayVersion= InnerType=CryptographicException InnerMessage=<pi>Signing key is not loaded.</pi> InnerToString=<pi>System.Security.Cryptography.CryptographicException: Signing key is not loaded.
Para resolver esse erro, siga as instruções que começam com a etapa 3 na seção "Configurar o gateway ".
Depois de alterar a configuração, reinicie o serviço de gateway para que a alteração entre em vigor.
Verificar e solucionar problemas do lado do servidor HANA
Use as soluções nesta seção se o gateway puder encontrar o certificado e assinar a asserção SAML, mas você ainda estiver enfrentando erros. Você precisará coletar rastreamentos de autenticação HANA, conforme descrito anteriormente na seção "Credenciais rejeitadas".
O provedor de identidade SAML
A presença da cadeia de caracteres Found SAML provider nos rastreamentos de autenticação HANA indica que o provedor de identidade SAML está configurado corretamente. Se a cadeia de caracteres não estiver presente, a configuração está incorreta.
Resolução
Primeiro, determine se sua organização está usando OpenSSL ou commoncrypto como o sslcryptoprovider. Para determinar qual provedor está sendo usado, faça o seguinte:
Abra o SAP HANA Studio.
Abra o Console de Administração do locatário que você está usando.
Selecione a guia Configuração e use sslcryptoprovider como um filtro, conforme mostrado na imagem a seguir:
Em seguida, verifique se a biblioteca criptográfica está definida corretamente fazendo o seguinte:
Vá para Console de segurança no SAP HANA Studio selecionando a guia Provedores de identidade SAML e siga um destes procedimentos:
- Se o sslcryptoprovider for OpenSSL, selecione a Biblioteca Criptográfica do OpenSSL.
- Se o sslcryptoprovider for commonCrypto, selecione SAP Cryptographic Library.
Na imagem a seguir, a SAP Cryptographic Library está selecionada:
Implante suas alterações selecionando o botão Implantar no canto superior direito, conforme mostrado na imagem a seguir:
Validação
Quando os rastreamentos estiverem configurados corretamente, eles rastrearão Found SAML provider e não rastrearão SAML Provider not found. Você pode prosseguir para a próxima seção, "Solucionar problemas da assinatura de asserção SAML".
Se o provedor de criptografia estiver definido, mas SAML Provider not found ainda estiver sendo relatado, procure uma cadeia de caracteres no rastreamento que comece com o seguinte texto:
Search SAML provider for certificate with subject =
Nessa cadeia de caracteres, verifique se o assunto e o emissor são exatamente os mesmos exibidos na guia Provedor de identidade SAML no Console de Segurança. Uma diferença de até mesmo um único caractere pode causar o problema. Se você encontrar uma diferença, poderá corrigir o problema na Biblioteca criptográfica SAP para que as entradas correspondam exatamente.
Se a alteração da Biblioteca Criptográfica SAP não corrigir o problema, você poderá editar manualmente os campos Emitido para e Emitido por simplesmente clicando duas vezes neles.
Solucionar problemas da assinatura de asserção SAML
Você pode encontrar registos de autenticação HANA que contêm entradas semelhantes à seguinte:
[48163]{-1}[-1/-1] 2020-09-11 21:15:18.896165 i Authentication SAMLAuthenticator.cpp(00398) : Unable to verify XML signature
[48163]{-1}[-1/-1] 2020-09-11 21:15:18.896168 i Authentication MethodSAML.cpp(00103) : unsuccessful login attempt with SAML ticket!
A presença de tais entradas significa que a assinatura não é confiável.
Resolução
Se você estiver usando OpenSSL como seu sslcryptoprovider, verifique se os arquivos trust.pem e key.pem estão no diretório SSL. Para obter mais informações, consulte o blog SAP Securing the communication between SAP HANA Studio and SAP HANA Server through SSL.
Se estiveres a usar commoncrypto como teu sslcryptoprovider, verifica se há uma coleção com o teu certificado no tenant.
Validação
Quando os rastreamentos estiverem configurados corretamente, eles apresentarão Found valid XML signature.
Solucionar problemas do mapeamento UPN
Você pode encontrar registos HANA que contêm entradas semelhantes às seguintes:
SAMLAuthenticator.cpp(00886) : Assertion Subject NameID: `johnny@contoso.com` SAMLAuthenticator.cpp(00398) : Database user does not exist
O erro indica que nameId johnny@contoso.com foi encontrado nas asserções SAML, mas não existe ou não está mapeado corretamente no HANA Server.
Resolução
Vá para o usuário do banco de dados HANA e, na caixa de seleção SAML selecionada, selecione o link Configurar . É apresentada a seguinte janela:
Como a mensagem de erro descreve, HANA estava tentando encontrar johnny@contoso.com, mas a identidade externa é exibida apenas como johnny. Estes dois valores devem corresponder. Para resolver o problema, em Identidade Externa, altere o valor para johnny@contoso.com. Observe que este valor diferencia maiúsculas de minúsculas.
Conteúdo relacionado
Para obter mais informações sobre o gateway de dados local e o DirectQuery, consulte os seguintes recursos: