Tutorial: Integração de logon único (SSO) do Microsoft Entra com o SAP NetWeaver
Neste tutorial, você aprenderá como integrar o SAP NetWeaver ao Microsoft Entra ID. Ao integrar o SAP NetWeaver com o Microsoft Entra ID, você pode:
- Controle no Microsoft Entra ID quem tem acesso ao SAP NetWeaver.
- Permita que seus usuários façam login automaticamente no SAP NetWeaver com suas contas Microsoft Entra.
- Gerencie suas contas em um local central.
Pré-requisitos
Para começar, você precisa dos seguintes itens:
- Uma assinatura do Microsoft Entra. Se não tiver uma subscrição, pode obter uma conta gratuita.
- Assinatura habilitada para logon único (SSO) do SAP NetWeaver.
- SAP NetWeaver V7.20 ou posterior
Descrição do cenário
- O SAP NetWeaver suporta SAML (SSO iniciado pelo SP) e OAuth. Neste tutorial, você configura e testa o Microsoft Entra SSO em um ambiente de teste.
Nota
O identificador deste aplicativo é um valor de cadeia de caracteres fixo para que apenas uma instância possa ser configurada em um locatário.
Nota
Configure o aplicativo no SAML ou no OAuth de acordo com seu requisito organizacional.
Adicionando o SAP NetWeaver da galeria
Para configurar a integração do SAP NetWeaver no Microsoft Entra ID, você precisa adicionar o SAP NetWeaver da galeria à sua lista de aplicativos SaaS gerenciados.
- Entre no centro de administração do Microsoft Entra como pelo menos um administrador de aplicativos na nuvem.
- Navegue até Identity>Applications>Enterprise applications>Novo aplicativo.
- Na seção Adicionar da galeria, digite SAP NetWeaver na caixa de pesquisa.
- Selecione SAP NetWeaver no painel de resultados e adicione o aplicativo. Aguarde alguns segundos enquanto o aplicativo é adicionado ao seu locatário.
Como alternativa, você também pode usar o Assistente de Configuração de Aplicativo Empresarial. Neste assistente, você pode adicionar um aplicativo ao seu locatário, adicionar usuários/grupos ao aplicativo, atribuir funções, bem como percorrer a configuração do SSO. Saiba mais sobre os assistentes do Microsoft 365.
Configurar e testar o Microsoft Entra SSO para SAP NetWeaver
Configure e teste o Microsoft Entra SSO com o SAP NetWeaver usando um usuário de teste chamado B.Simon. Para que o SSO funcione, você precisa estabelecer uma relação de vínculo entre um usuário do Microsoft Entra e o usuário relacionado no SAP NetWeaver.
Para configurar e testar o Microsoft Entra SSO com o SAP NetWeaver, execute as seguintes etapas:
- Configure o Microsoft Entra SSO para permitir que seus usuários usem esse recurso.
- Crie um usuário de teste do Microsoft Entra para testar o logon único do Microsoft Entra com B.Simon.
- Atribua o usuário de teste do Microsoft Entra para permitir que B.Simon use o logon único do Microsoft Entra.
- Configure o SAP NetWeaver usando SAML para definir as configurações de SSO no lado do aplicativo.
- Crie o usuário de teste do SAP NetWeaver para ter um equivalente de B.Simon no SAP NetWeaver vinculado à representação do usuário do Microsoft Entra.
- Teste o SSO para verificar se a configuração funciona.
- Configure o SAP NetWeaver for OAuth para configurar as configurações do OAuth no lado do aplicativo.
- Solicite o Token de Acesso do Azure AD para usar o Azure AD como o Provedor de Identidade (IdP).
Configurar o Microsoft Entra SSO
Nesta seção, você habilita o logon único do Microsoft Entra.
Para configurar o logon único do Microsoft Entra com o SAP NetWeaver, execute as seguintes etapas:
Abra uma nova janela do navegador da Web e faça login no site da empresa SAP NetWeaver como administrador
Certifique-se de que os serviços http e https estão ativos e que as portas apropriadas são atribuídas no SMICM T-Code.
Inicie sessão no cliente empresarial do SAP System (T01), onde o SSO é necessário e ative a Gestão de Sessões de Segurança HTTP.
Vá para Código de transação SICF_SESSIONS. Ele exibe todos os parâmetros de perfil relevantes com valores atuais. Eles se parecem abaixo: -
login/create_sso2_ticket = 2 login/accept_sso2_ticket = 1 login/ticketcache_entries_max = 1000 login/ticketcache_off = 0 login/ticket_only_by_https = 0 icf/set_HTTPonly_flag_on_cookies = 3 icf/user_recheck = 0 http/security_session_timeout = 1800 http/security_context_cache_size = 2500 rdisp/plugin_auto_logout = 1800 rdisp/autothtime = 60
Nota
Ajuste os parâmetros acima de acordo com os requisitos da sua organização, os parâmetros acima são fornecidos aqui apenas como indicação.
Se necessário, ajuste os parâmetros, no perfil de instância/padrão do sistema SAP e reinicie o sistema SAP.
Clique duas vezes no cliente relevante para ativar a sessão de segurança HTTP.
Ative abaixo os serviços SICF:
/sap/public/bc/sec/saml2 /sap/public/bc/sec/cdc_ext_service /sap/bc/webdynpro/sap/saml2 /sap/bc/webdynpro/sap/sec_diag_tool (This is only to enable / disable trace)
Vá para o código de transação SAML2 no cliente empresarial do sistema SAP [T01/122]. Ele abrirá uma interface de usuário em um navegador. Neste exemplo, assumimos 122 como cliente de negócios SAP.
Forneça seu nome de usuário e senha para entrar na interface do usuário e clique em Editar.
Substitua o nome do provedor de T01122 para
http://T01122
e clique em Salvar.Nota
Por padrão, o nome do provedor vem como
<sid><client>
formato, mas o Microsoft Entra ID espera o nome no formato de , recomendando manter o nome do provedor parahttps://<sid><client>
permitir que vários mecanismos SAP NetWeaver ABAP sejam configurados<protocol>://<name>
no Microsoft Entra ID.Gerando metadados do provedor de serviços:- Uma vez que terminemos de configurar as configurações do provedor local e dos provedores confiáveis na interface do usuário SAML 2.0, a próxima etapa seria gerar o arquivo de metadados do provedor de serviços (que conteria todas as configurações, contextos de autenticação e outras configurações no SAP). Assim que este ficheiro for gerado, carregue-o para o Microsoft Entra ID.
Vá para a guia Provedor Local.
Clique em Metadados.
Salve o arquivo XML de Metadados gerado em seu computador e carregue-o na seção Configuração Básica de SAML para preencher automaticamente os valores de URL de Identificador e Resposta no portal do Azure.
Siga estas etapas para habilitar o Microsoft Entra SSO.
Entre no centro de administração do Microsoft Entra como pelo menos um administrador de aplicativos na nuvem.
Navegue até Identity>Applications>Enterprise applications>SAP NetWeaver application integration page, localize a seção Manage e selecione Single sign-on.
Na página Selecionar um método de logon único, selecione SAML.
Na página Configurar Logon Único com SAML, clique no ícone de lápis para Configuração Básica de SAML para editar as configurações.
Na seção Configuração Básica do SAML, se desejar configurar o aplicativo no modo iniciado pelo IDP, execute a seguinte etapa:
Clique em Carregar arquivo de metadados para carregar o arquivo de metadados do provedor de serviços, que você obteve anteriormente.
Clique no logotipo da pasta para selecionar o arquivo de metadados e clique em Carregar.
Depois que o arquivo de metadados é carregado com êxito, os valores de URL de Identificador e Resposta são preenchidos automaticamente na caixa de texto da seção Configuração Básica de SAML, conforme mostrado abaixo:
Na caixa de texto URL de início de sessão, escreva um URL utilizando o seguinte padrão:
https://<your company instance of SAP NetWeaver>
Nota
Alguns clientes encontraram um erro de uma URL de resposta incorreta configurada para sua instância. Se você receber esse erro, use esses comandos do PowerShell. Primeiro, atualize as URLs de resposta no objeto de aplicativo com a URL de resposta e, em seguida, atualize a entidade de serviço. Use o Get-MgServicePrincipal para obter o valor da ID da entidade de serviço.
$params = @{ web = @{ redirectUris = "<Your Correct Reply URL>" } } Update-MgApplication -ApplicationId "<Application ID>" -BodyParameter $params Update-MgServicePrincipal -ServicePrincipalId "<Service Principal ID>" -ReplyUrls "<Your Correct Reply URL>"
O aplicativo SAP NetWeaver espera as asserções SAML em um formato específico, o que requer que você adicione mapeamentos de atributos personalizados à sua configuração de atributos de token SAML. A captura de tela a seguir mostra a lista de atributos padrão. Clique no ícone Editar para abrir a caixa de diálogo Atributos do usuário.
Na seção Declarações do Usuário na caixa de diálogo Atributos do Usuário, configure o atributo de token SAML conforme mostrado na imagem acima e execute as seguintes etapas:
Clique no ícone Editar para abrir a caixa de diálogo Gerenciar declarações de usuário.
Na lista Transformação , selecione ExtractMailPrefix().
Na lista Parâmetro 1 , selecione user.userprincipalname.
Clique em Guardar.
Na página Configurar Logon Único com SAML, na seção Certificado de Assinatura SAML, localize XML de Metadados de Federação e selecione Download para baixar o certificado e salvá-lo em seu computador.
Na seção Configurar o SAP NetWeaver , copie as URLs apropriadas, com base em sua necessidade.
Criar um usuário de teste do Microsoft Entra
Nesta seção, você criará um usuário de teste chamado B.Simon.
- Entre no centro de administração do Microsoft Entra como pelo menos um Administrador de Usuário.
- Aceder a Identidade>Utilizadores>Todos os Utilizadores.
- Selecione Novo usuário>Criar novo usuário, na parte superior da tela.
- Nas propriedades do usuário , siga estas etapas:
- No campo Nome para exibição , digite
B.Simon
. - No campo Nome principal do usuário, digite o username@companydomain.extensionarquivo . Por exemplo,
B.Simon@contoso.com
. - Marque a caixa de seleção Mostrar senha e anote o valor exibido na caixa Senha .
- Selecione Rever + criar.
- No campo Nome para exibição , digite
- Selecione Criar.
Atribuir o usuário de teste do Microsoft Entra
Nesta seção, você permitirá que B.Simon use o logon único concedendo acesso ao SAP NetWeaver.
- Entre no centro de administração do Microsoft Entra como pelo menos um administrador de aplicativos na nuvem.
- Navegue até Identity>Applications>Enterprise applications>SAP NetWeaver.
- Na página de visão geral do aplicativo, localize a seção Gerenciar e selecione Usuários e grupos.
- Selecione Adicionar usuário e, em seguida, selecione Usuários e grupos na caixa de diálogo Adicionar atribuição .
- Na caixa de diálogo Usuários e grupos, selecione B.Simon na lista Usuários e clique no botão Selecionar na parte inferior da tela. Se você estiver esperando que uma função seja atribuída aos usuários, poderá selecioná-la na lista suspensa Selecionar uma função . Se nenhuma função tiver sido configurada para este aplicativo, você verá a função "Acesso padrão" selecionada.
- Na caixa de diálogo Adicionar atribuição, clique no botão Atribuir.
Configurar o SAP NetWeaver usando SAML
Entre no sistema SAP e vá para o código de transação SAML2. Ele abre uma nova janela do navegador com a tela de configuração SAML.
Para configurar pontos de extremidade para provedor de identidade confiável (ID do Microsoft Entra), vá para a guia Provedores confiáveis .
Pressione Adicionar e selecione Carregar arquivo de metadados no menu de contexto.
Carregue o arquivo de metadados, que você baixou.
Na tela seguinte, digite o nome do alias. Por exemplo, digite
aadsts
e pressione Avançar para continuar.Certifique-se de que seu algoritmo Digest deve ser SHA-256 e não requer nenhuma alteração e pressione Next.
Em Pontos de extremidade de logon único, use HTTP POST e clique em Avançar para continuar.
Em Pontos de extremidade de logout único, selecione HTTPRedirect e clique em Avançar para continuar.
Em Pontos de extremidade de artefato, pressione Avançar para continuar.
Em Requisitos de autenticação, clique em Concluir.
Vá para a guia Federação de Identidade de Provedor Confiável>(na parte inferior da tela). Clique em Editar.
Clique em Adicionar na guia Federação de Identidades (janela inferior).
Na janela pop-up, selecione Não especificado nos formatos NameID suportados e clique em OK.
Dê ao valor Origem do ID do Usuário como Atributo de Asserção, Valor do modo de mapeamento do ID do Usuário como Email e Nome do Atributo de Asserção como
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
.Observe que os valores do modo de mapeamento de ID de Usuário e Origem de ID de Usuário determinam o vínculo entre o usuário SAP e a declaração Microsoft Entra.
Cenário: Mapeamento de usuário SAP para Microsoft Entra.
Captura de tela de detalhes do NameID do SAP.
Captura de tela mencionando as declarações necessárias do Microsoft Entra ID.
Cenário: Selecione o ID de usuário SAP com base no endereço de e-mail configurado no SU01. Neste caso, o ID de e-mail deve ser configurado em su01 para cada usuário que requer SSO.
Captura de tela de detalhes do NameID do SAP.
captura de tela mencionando as declarações necessárias do Microsoft Entra ID.
Clique em Salvar e, em seguida, clique em Habilitar para habilitar o provedor de identidade.
Clique em OK uma vez solicitado.
Criar usuário de teste do SAP NetWeaver
Nesta seção, você cria um usuário chamado B.simon no SAP NetWeaver. Trabalhe com sua equipe interna de especialistas SAP ou trabalhe com seu parceiro SAP da organização para adicionar os usuários na plataforma SAP NetWeaver.
SSO de teste
Depois que o provedor de identidade Microsoft Entra ID foi ativado, tente acessar a URL abaixo para verificar o SSO, garantindo que não haverá um prompt para nome de usuário e senha.
https://<sapurl>/sap/bc/bsp/sap/it00/default.htm
(ou) use o URL abaixo
https://<sapurl>/sap/bc/bsp/sap/it00/default.htm
Nota
Substitua sapurl pelo nome de host SAP real.
O URL acima deve levá-lo para a tela abaixo mencionada. Se você conseguir acessar a página abaixo, a instalação do Microsoft Entra SSO será concluída com êxito.
Se ocorrer um prompt de nome de usuário e senha, você poderá diagnosticar o problema habilitando um rastreamento, usando a URL:
https://<sapurl>/sap/bc/webdynpro/sap/sec_diag_tool?sap-client=122&sap-language=EN#
Configurar o SAP NetWeaver para OAuth
O processo documentado SAP está disponível no local: NetWeaver Gateway Service Enabling e OAuth 2.0 Scope Creation
Vá para SPRO e encontre os serviços Ativar e Manter.
Neste exemplo, queremos conectar o serviço OData:
DAAG_MNGGRP
com OAuth ao Microsoft Entra SSO. Use a pesquisa do nome do serviço técnico para o serviçoDAAG_MNGGRP
e ative se ainda não estiver ativo, já (procuregreen
o status na guia nós ICF). Verifique se o alias do sistema (o sistema de back-end conectado, onde o serviço está realmente em execução) está correto.- Em seguida, clique no botão OAuth na barra de botões superior e atribua
scope
(mantenha o nome padrão como oferecido).
- Em seguida, clique no botão OAuth na barra de botões superior e atribua
Para o nosso exemplo, o âmbito é
DAAG_MNGGRP_001
. Ele é gerado a partir do nome do serviço adicionando automaticamente um número. O relatório/IWFND/R_OAUTH_SCOPES
pode ser usado para alterar o nome do escopo ou criar manualmente.Nota
Mensagem
soft state status is not supported
– pode ser ignorada, pois não há problema.
Criar um usuário de serviço para o cliente OAuth 2.0
OAuth2 usa a
service ID
para obter o token de acesso para o usuário final em seu nome. Restrição importante pelo design OAuth: oOAuth 2.0 Client ID
deve ser idêntico ao que ousername
cliente OAuth 2.0 usa para login ao solicitar um Token de Acesso. Portanto, para o nosso exemplo, vamos registrar um cliente OAuth 2.0 com nome CLIENT1. Como pré-requisito, um usuário com o mesmo nome (CLIENT1) deve existir no sistema SAP e esse usuário configuraremos para ser usado pelo aplicativo referido.Ao registar um Cliente OAuth utilizamos o
SAML Bearer Grant type
.Nota
Para obter mais detalhes, consulte OAuth 2.0 Client Registration for the SAML Bearer Grant Type aqui.
Execute o T-Code
SU01
para criar CLIENT1 de usuário comoSystem type
e atribuir senha. Salve a senha, pois você precisará fornecer a credencial ao programador da API, que deve salvá-la com o nome de usuário no código de chamada. Nenhum perfil ou função deve ser atribuído.
Registre a nova ID do cliente OAuth 2.0 com o assistente de criação
Para registrar um novo cliente OAuth 2.0, inicie a transação SOAUTH2. A transação exibirá uma visão geral sobre os clientes OAuth 2.0 que já estavam registrados. Escolha Criar para iniciar o assistente para o novo cliente OAuth nomeado como CLIENT1 neste exemplo.
Vá para T-Code: SOAUTH2 e Forneça a descrição e clique em Avançar.
Selecione o SAML2 IdP – Microsoft Entra ID já adicionado na lista suspensa e salve.
Clique em Adicionar sob atribuição de escopo para adicionar o escopo criado anteriormente:
DAAG_MNGGRP_001
Clique em Concluir.
Solicitar token de acesso do Azure AD
Para solicitar um token de acesso do sistema SAP usando o Azure Ative Directory (Azure AD) como o Provedor de Identidade (IdP), siga estas etapas:
Etapa 1: Registrar aplicativo no Azure AD
- Faça logon no portal do Azure: navegue até o portal do Azure em portal.azure.com.
- Registe uma nova candidatura:
- Vá para "Azure Ative Directory".
- Selecione "Registos na aplicação" > "Novo registo".
- Preencha os detalhes do aplicativo, como Nome, URI de redirecionamento, etc.
- Clique em "Registrar".
- Configurar permissões de API:
- Após o registro, navegue até "Permissões de API".
- Clique em "Adicionar uma permissão" e selecione "APIs que minha organização usa".
- Procure o sistema SAP ou a API relevante e adicione as permissões necessárias.
- Conceda consentimento de administrador para as permissões.
Etapa 2: Criar segredo do cliente
- Navegue até a aplicação registrada: Vá para "Certificados & segredos".
- Crie um novo segredo do cliente:
- Clique em "Novo segredo do cliente".
- Forneça uma descrição e defina um período de validade.
- Clique em "Adicionar" e anote o valor secreto do cliente, pois ele será necessário para autenticação.
Etapa 3: Configurar o sistema SAP para integração do Azure AD
- Acesse o SAP Cloud Platform: faça login no seu SAP Cloud Platform Cockpit.
- Defina a configuração de confiança:
- Vá para "Segurança" > "Configuração de Confiança".
- Adicione o Azure AD como um IdP confiável importando o XML de metadados de federação do Azure AD. Isso pode ser encontrado na seção "Pontos de extremidade" do registro do aplicativo Azure AD (em Documento de Metadados de Federação).
- Configurar o cliente OAuth2:
- No sistema SAP, configure um cliente OAuth2 usando a ID do cliente e o segredo do cliente obtidos do Azure AD.
- Defina o ponto de extremidade do token e outros parâmetros OAuth2 relevantes.
Etapa 4: Solicitar token de acesso
Gorjeta
Considere usar o Gerenciamento de API do Azure para simplificar o processo de propagação principal do SAP para todos os aplicativos cliente no Azure, Power Platform, M365 e muito mais, em um único lugar, incluindo cache de token inteligente, manipulação segura de tokens e opções de governança, como limitação de solicitações. Saiba mais sobre o SAP Principal Propagation with Azure API Management. Caso o SAP Business Technology Platform seja preferido, consulte este artigo.
Prepare a solicitação de token:
- Construa uma solicitação de token usando os seguintes detalhes:
- Ponto de extremidade de token: normalmente é
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
. - ID do cliente: a ID do aplicativo (cliente) do Azure AD.
- Segredo do cliente: o valor secreto do cliente do Azure AD.
- Escopo: Os escopos necessários (por exemplo,
https://your-sap-system.com/.default
). - Tipo de concessão: Use
client_credentials
para autenticação de servidor para servidor.
- Ponto de extremidade de token: normalmente é
- Construa uma solicitação de token usando os seguintes detalhes:
Faça a solicitação de token:
- Use uma ferramenta como Postman ou um script para enviar uma solicitação POST para o ponto de extremidade do token.
- Exemplo de solicitação (em cURL):
curl -X POST \ https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'client_id={client_id}&scope=https://your-sap-system.com/.default&client_secret={client_secret}&grant_type=client_credentials'
Extraia o token de acesso:
- A resposta conterá um token de acesso se a solicitação for bem-sucedida. Use esse token de acesso para autenticar solicitações de API no sistema SAP.
Etapa 5: Usar o token de acesso para solicitações de API
- Inclua o token de acesso nas solicitações de API:
- Para cada solicitação ao sistema SAP, inclua o token de acesso no
Authorization
cabeçalho. - Exemplo de cabeçalho:
Authorization: Bearer {access_token}
- Para cada solicitação ao sistema SAP, inclua o token de acesso no
Passos Seguintes
- Configure o Microsoft Entra SAP NetWeaver para aplicar o Controle de Sessão, que protege a exfiltração e infiltração de dados confidenciais da sua organização em tempo real. O Controle de Sessão se estende do Acesso Condicional. Saiba como impor o controlo de sessão com o Microsoft Defender for Cloud Apps.
- Configure o SAP Principal Propagation (OAuth2) usando o Gerenciamento de API do Azure para controlar e proteger o acesso a sistemas SAP a partir de aplicativos cliente no Azure, Power Platform, Microsoft 365 e outros. Saiba mais sobre o SAP Principal Propagation with Azure API Management.