Configurar o Microsoft Entra ID com Kerberos para SSO
Pode configurar o conector ERP SAP do Power Platform para usar credenciais do Microsoft Entra ID para início de sessão único (SSO) baseado em Kerberos. Os seus utilizadores podem aceder aos dados SAP e executar RFCs (Chamadas de Função Remotas SAP) em soluções do Power Platform sem precisar iniciar sessão várias vezes em vários serviços. Este artigo explica-lhe o processo, incluindo a configuração da delegação restrita de Kerberos (KCD) no gateway de dados no local para comunicação segura.
Obtenha mais informações sobre a delegação restrita de Kerberos.
Estas instruções pressupõem que está a começar do zero. A maioria dos clientes já concluiu alguns dos passos. Determinar que passos precisa de concluir para o seu cenário está além do âmbito deste artigo. Por exemplo, pode ignorar a secção Criar uma conta de serviço SAP no Active Directory Domain Services se o sistema SAP já estiver configurado para SSO baseado em Kerberos.
Pré-requisitos
Um Windows Server que tenha o Active Directory Domain Services (AD DS). O nome de domínio de exemplo usado neste guia é corp.bestrun.com (NetBIOS: CORP).
Um servidor de gateway de dados no local, versão de outubro de 2024 ou mais recente, aderiu ao domínio do Active Directory. Mais informações em Instalar um gateway de dados no local.
Assistência das seguintes funções:
- Admin do Microsoft Entra ID
- Administrador do SAP Basis
- Administrador do Power Platform
Crie uma conta de serviço SAP no AD DS
Como admin do domínio, primeiro criará uma conta de serviço e, em seguida, definirá o Nome do Principal do Serviço (SPN) e ativá-lo para encriptação Kerberos.
Nota
Se o admin do SAP Basis confirmar que o sistema SAP já está configurado para SSO baseado em Kerberos, ignore esta secção.
Realize os passos que se seguem como admin do domínio para configurar a conta de serviço:
No computador anfitrião do controlador de domínio, abra a Console de Gestão da Microsoft (MMC) e execute o snap-in Utilizadores e Computadores do Active Directory.
No seu domínio, clique com o botão direito do rato em Utilizadores e selecione Novo>Utilizador.
Introduza Kerberos<SID> como o Nome completo e Nome de início de sessão do utilizador, onde <SID> é o ID do seu sistema SAP, como A4H.
Selecione Seguinte.
Introduza e confirme a palavra-passe para a nova conta de serviço.
Selecione O utilizador não pode alterar a palavra-passe e A palavra-passe nunca expira.
Selecione Seguinte e, em seguida, selecione Concluir.
Com a conta de serviço criada, defina o Nome do Principal do Serviço (SPN) e ative-a para a encriptação Kerberos.
Abra o Snap-in Edição ADSI (adsiedit.msc) e ligue-se ao seu domínio.
Selecione CN=Utilizadores no contexto predefinido de nomenclatura do seu domínio.
Clique com o botão direito do rato no objeto de utilizador CN=Kerberos<SID> e selecione Propriedades.
Na lista Atributos, selecione ServicePrincipalName.
Selecione Editar.
Introduza o Nome do Principal do Serviço no formato SAP/<SID>, onde <SID> é o ID do seu sistema SAP, como A4H.
Selecione Adicionar e, em seguida, selecione OK.
Regresse ao snap-in Utilizadores e Computadores do Active Directory.
Na lista Utilizadores, clique com o botão direito do rato em Kerberos<SID> da nova conta de serviço SAP e selecione Propriedades.
Selecione o separador Conta.
Em Opções de conta, selecione Esta conta suporta encriptação Kerberos AES de 256 bits.
Selecione OK.
Importante
Ativar a encriptação Kerberos AES de 256 bits pode causar problemas para outros clientes, como o SAP GUI, que pedem permissões Kerberos desta conta do Active Directory. Isto ocorre porque este altera a lista de métodos de encriptação disponíveis e outros clientes já não têm uma cifra de encriptação comum. Verifique os registos do Active Directory para determinar que métodos de encriptação estão a usar todos os clientes e, em seguida, atualize manualmente a propriedade msDS-SupportedEncryptionTypes
com o valor correto. Após a atualização, a opção de encriptação AES 256 deve aparecer automaticamente sem precisar ser selecionada manualmente. Obtenha mais informações em Desencriptar a seleção dos tipos de encriptação Kerberos suportados no blogue Infraestrutura principal e Comunidade.
Configurar Comunicações de Rede Seguras com a autenticação SSO do Kerberos no SAP
Realize os passos a seguir como admin do SAP Basis no SAP GUI.
Para iniciar o assistente de Início de Sessão Único do SAP, escreva SNCWIZARD no campo Comando.
Na página Iniciar do assistente, selecione Continuar.
Aceite o valor predefinido para a Identidade SNC do sistema e selecione Continuar.
Na página Parâmetros de Perfil Predefinidos, selecione Continuar.
Selecione Fechar.
Termine a sessão do sistema SAP e reinicie o servidor de aplicações SAP.
Inicie sessão no SAP GUI e execute SNCWIZARD novamente.
Na página Iniciar, selecione Continuar.
Na página Credenciais do Kerberos, selecione Continuar.
Em Configuração SPNEGO, selecione Apresentar/Alterar para alternar para o modo de edição e, em seguida, selecione Adicionar.
Introduza os seguintes valores:
- Nome Principal de Utilizador: Kerberos<SID>@DOMÍNIO, onde Kerberos<SID> é o nome de utilizador da conta de serviço e DOMÍNIO é o nome totalmente qualificado do seu domínio do Active Directory em letras maiúsculas; por exemplo, KerberosA4H(at)CORP.BESTRUN.COM.
- Palavra-passe e Confirmar Palavra-passe: a palavra-passe que introduziu quando criou a conta do Active Directory.
Selecione Verificar Utilizador no Active Directory para verificar o utilizador e, em seguida, selecione Sair.
Selecione Guardar.
Na página Credenciais X.509, selecione Ignorar.
Selecione Concluir.
Em seguida, mapeie o nome de utilizador SNC (baseado no nome de utilizador do domínio do Windows) para o Nome Principal de Utilizador SAP.
No SAP GUI, execute a transação SU01.
Introduza o ID de utilizador de teste (por exemplo, JDAVIS) no campo Utilizador e, em seguida, selecione Alterar.
Selecione o separador SNC.
Digite o Nome Principal de Utilizador no campo Nome SNC; por exemplo, p:CN=JDAVIS(at)CORP.BESTRUN.COM.
Selecione Guardar.
Configurar o gateway de dados no local para a Delegação Restrita de Kerberos
Por predefinição, o gateway no local é executado como a conta de serviço NT Service\PBIEgwService
do computador local. Para usar a Delegação Restrita de Kerberos com as extensões S4U do protocolo, o gateway tem de ser executado como uma conta de serviço no domínio.
Execute os passos a seguir como um admin do domínio.
No Computador anfitrião do Controlador de Domínio, regresse ao snap-in Utilizadores e Computadores do Active Directory.
No seu domínio, clique com o botão direito do rato em Utilizadores e selecione Novo>Utilizador.
Introduza GatewaySvc como o Nome completo e Nome de início de sessão do utilizador.
Selecione Seguinte.
Introduza e confirme a palavra-passe para a nova conta de serviço do domínio.
Selecione O utilizador não pode alterar a palavra-passe e A palavra-passe nunca expira.
Selecione Seguinte e, em seguida, selecione Concluir.
Com a conta de serviço do domínio criada, irá em seguida definir o Nome do Principal do Serviço e ativá-la para a delegação restrita de Kerberos.
Numa janela elevada do PowerShell, introduza o comando a seguir para criar um SPN para a nova conta de serviço. Substitua o <nome do anfitrião OPDG> pelo nome do anfitrião do seu gateway de dados no local e o <domínio> pelo nome do seu domínio. Pode descobrir o nome do anfitrião escrevendo o comando
hostname
numa linha de comandos.setspn –s gateway/<OPDG hostname> <domain>\GatewaySvc
No snap-in Utilizadores e Computadores do Active Directory, clique com o botão direito do rato na nova conta de serviço e selecione Propriedades.
Selecione o separador Delegação.
Selecione Confiar neste utilizador apenas para delegação para serviços especificados e Utilizar qualquer protocolo de autenticação.
Selecione Adicionar.
Selecione Utilizadores ou Computadores.
Introduza Kerberos<SID> no campo de nomes de objeto, onde <SID> é o ID do seu sistema SAP, como A4H.
Selecione Verificar Nomes e, em seguida, selecione OK.
A lista de serviços permitidos agora contém o SPN do sistema SAP. A nova conta de serviço de gateway pode pedir uma permissão de serviço apenas para o sistema SAP em nome do utilizador propagado com o protocolo S4U2proxy do Kerberos.
- Selecione Selecionar Tudo.
- Selecione OK.
- Selecione OK uma segunda vez.
- A conta de serviço do gateway de dados no local tem de ser concedida a políticas locais no anfitrião do gateway de dados no local. Realize esta configuração com o Editor de Políticas de Grupo Locais ao executar gpedit.msc numa linha de comandos de Administrador.
- Aceda a Política de Computador Local ->Configuração do Computador ->Definições do Windows ->Definições de Segurança ->Políticas Locais ->Atribuição de Direitos de Utilizadores. Conceda à conta de serviço do domínio do gateway de dados no local (por exemplo, CORP\GatewaySvc) a política local como parte do sistema operativo ao clicar duas vezes nela.
- Selecione Adicionar Utilizador ou Grupo.
- Introduza o nome da sua conta de serviço de domínio do gateway de dados no local (por exemplo, GatewaySvc) e selecione Verificar Nomes para resolvê-lo para o nome completo existente. Selecione OK. O nome de domínio da conta de serviço (por exemplo, CORP\GatewaySvc) está agora adicionado à lista de utilizadores da política. Selecione OK para aplicar a nova configuração.
- Repita o mesmo passo para a política Representar um cliente após a autenticação ao clicar duas vezes nele. Selecione Adicionar Utilizador ou Grupo e resolva a conta de serviço do gateway de dados no local para o nome completo existente com Verificar Nomes. Selecione OK.
- O nome da conta de serviço (por exemplo, CORP\GatewaySvc) está agora adicionado à lista de utilizadores da política. Selecione OK. Feche o Editor de Políticas de Grupo Local.
- Inicie a aplicação do gateway de dados no local a partir da ligação do ambiente de trabalho no anfitrião do gateway ou ao executar C:\Programas\Gateway de dados no local\EnterpriseGatewayConfigurator.exe. Selecione Iniciar sessão para iniciar sessão como o utilizador administrador do Sistema Power Platform que registou o gateway de dados no local no ambiente.
- Selecione Definições de Serviço no menu do configurador. Selecionar Alterar conta.
- Selecione Aplicar e Reiniciar.
- Introduza o nome da conta de serviço do gateway de dados no local (por exemplo, CORP\GatewaySvc) e a palavra-passe. Selecione Configurar.
- Forneça a sua conta de início de sessão de administrador de Sistema do Power Platform, selecionando Iniciar sessão.
- Selecione Migrar, restaure ou assuma o controlo de um gateway existente para restaurar o registo do gateway.
- Selecione o cluster e a instância do gateway nas caixas pendentes e forneça a chave de recuperação escolhida durante o registo inicial. Selecione Configurar.
- Após a conclusão da restauração, a instância de serviço do gateway de dados no local usa a conta de serviço de domínio (por exemplo, CORP\GatewaySvc).
Instalar e configurar a Biblioteca Criptográfica SAP
Para comunicação SNC entre o gateway de dados no local e o sistema SAP, a Biblioteca Criptográfica SAP tem de ser instalada no anfitrião do gateway juntamente com o SAP NCo 3.1.
- Transfira a versão mais recente da Biblioteca Criptográfica SAP em Transferência de Software do Portal de Suporte SAP (S-User necessário) e copie o ficheiro da biblioteca (sapcrypto.dll) para o diretório de instalação do gateway de dados no local no anfitrião do gateway (gateway de dados C:\Programas\Gateway de dados no local). Clique com o botão direito do rato no ficheiro sapcrypto.dll e selecione Propriedades no menu de contexto.
- Mude para o separador Detalhes para verificar a versão da biblioteca. Deve ser 8.5.25 ou mais recente. Selecione OK.
- Crie um novo ficheiro de texto sapcrypto.ini no mesmo diretório (C:\Programas\Gateway de dados no local) com este conteúdo: ccl/snc/enable_kerberos_in_client_role = 1.
- Guarde o ficheiro.
- Crie uma variável de ambiente de sistema CCL_PROFILE e defina o respetivo valor como o caminho do ficheiro de configuração sapcrypto.ini. No anfitrião do gateway, inicie o Painel de Controlo e navegue até Sistema e Segurança ->Sistema. Selecione as definições de sistema Avançadas.
- Selecione Variáveis de Ambiente.
- Em Variáveis de sistema, selecione Nova.
- Introduza CCL_PROFILE como o nome da variável. Para o valor da variável, introduza o caminho completo para o ficheiro sapcrypto.ini, por exemplo, C:\Programas\Gateway de dados no local\sapcrypto.ini. Selecione OK.
- Selecione OK uma segunda vez.
Configure a definição OPDG FullDomainResolutionEnabled
Para ajudar o gateway de dados no local quando procura utilizadores do Active Directory, precisamos de definir um valor de configuração nas definições do gateway de dados no local.
- No anfitrião do gateway, abra o ficheiro Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config na pasta de instalação do gateway de dados no local (C:\Programas\Gateway de dados no local) num editor.
- Pesquise pela definição FullDomainResolutionEnabled e defina o valor como True.
- Selecione Reiniciar agora no separador Definições de Serviço do configurador de gateway de dados no local para aplicar as alterações.
Configurar Mapeamentos de Utilizador no Active Directory
Se os Nomes Principais de Utilizador do Microsoft Entra ID forem iguais à propriedade de e-mail no local do Active Directory, este passo poderá ser ignorado.
Para ativar a propagação principal baseada em Kerberos para um utilizador neste cenário, é necessário um mapeamento do nome de utilizador completo do utilizador (Nome Principal do Utilizador, UPN) na Microsoft Entra ID para o nome local do utilizador no Active Directory. Para isso, usamos o atributo não utilizado msDS-cloudExtensionAttribute1
do utilizador local do Active Directory para armazenar o UPN do Microsoft Entra ID. Qualquer outro atributo não utilizado do Active Directory também pode ser usado.
No cenário para o utilizador de teste da aplicação Jack Davis, defina o atributo msDS-cloudExtensionAttribute1 da conta jdavis@corp.bestrun.com
do utilizador do domínio do Active Directory local para o UPN jdavis@bestruncorp.onmicrosoft.com
do Microsoft Entra do utilizador para associar as suas duas contas.
- No anfitrião do gateway, abra o ficheiro Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config na pasta de instalação do gateway de dados no local (C:\Programas\Gateway de dados no local) num editor.
- Pesquise pela definição ADUserNameReplacementProperty e defina o valor como SAMAccountName.
- Pesquise pela definição ADUserNameLookupProperty e defina-a para o valor msDS-cloudExtensionAttribute1. Guarde as alterações no ficheiro.
- Selecione Reiniciar agora no separador Definições de Serviço do configurador de gateway de dados no local para aplicar as alterações.
- No anfitrião do Controlador de Domínio, selecione Iniciar e selecione Ferramentas Administrativas do Windows ->Edição ADSI no menu. No Editor de ADSI, navegue na árvore de objetos do lado esquerdo para CN=Utilizadores sob o contexto predefinido de nomenclatura do domínio. Clique com o botão direito do rato no objeto do utilizador de teste (por exemplo, CN=Jack Davis) e selecione Propriedades no menu de contexto.
- Selecione o atributo msDS-cloudExtensionAttribute1 da lista e selecione Editar.
- Introduza o UPN do Microsoft Entra ID do utilizador de teste (por exemplo, jdavis@<nomededominio>.onmicrosoft.com) no campo Valor. Substitua <nomedodemínio> pelo nome de domínio do seu inquilino do Microsoft Entra ID, por exemplo, bestruncorp. Selecione OK.
Criar um Fluxo do Power Automate
Todos os componentes no local (sistema SAP, gateway de dados no local e AD) estão agora configurados corretamente para propagação principal baseada em Kerberos. Neste passo, crie e execute um Fluxo do Power Automate para testar a configuração.
Inicie sessão no Power Automate em https://make.powerautomate.com.
Selecione Os Meus Fluxos ->Novo Fluxo ->Fluxo de cloud instantâneo
Dê um nome ao fluxo, selecione Acionar manualmente um fluxo e selecione Criar.
Adicione a ação do conector ERP SAP Chamar função SAP (V3) ao seu fluxo.
Se não tiver quaisquer ligações ERP SAP criadas, é-lhe pedido para criar uma. Se tiver uma ligação existente ou criar uma nova.
- O Tipo de Autenticação deve ser Microsoft Entra ID (com Kerberos).
- O Gateway de Dados deve ser o gateway de dados no local configurado neste guia.
- Selecione Iniciar sessão.
Na ação ERP SAP Chamar função SAP (V3), defina os seguintes parâmetros:
- O Nome RFC está definido como STFC_CONNECTION.
- O sistema SAP está definido como (altere esses valores de acordo com o administrador do SAP Basis).
json { "AppServerHost": "<Nome do Servidor SAP>", "Cliente": "<Cliente SAP>", "LogonType": "ApplicationServer", "SncLibraryPath": "C:\Programas\Gateway de dados no local\sapcrypto.dll", "SncPartnerName": "p:<Nome do Parceiro SAP>", "SncQOP": "Default", "SncSso": "On", "SystemNumber": "<Número do Sistema SAP>", "UseSnc": "true" }
Se tudo tiver êxito, um parâmetro REQUTEXT onde um valor como Hello World pode ser introduzido.
Guardar e testar o fluxo.