Partilhar via


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.

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.

  1. Entre no centro de administração do Microsoft Entra como pelo menos um administrador de aplicativos na nuvem.
  2. Navegue até Identity>Applications>Enterprise applications>Novo aplicativo.
  3. Na seção Adicionar da galeria, digite SAP NetWeaver na caixa de pesquisa.
  4. 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:

  1. Configure o Microsoft Entra SSO para permitir que seus usuários usem esse recurso.
    1. Crie um usuário de teste do Microsoft Entra para testar o logon único do Microsoft Entra com B.Simon.
    2. Atribua o usuário de teste do Microsoft Entra para permitir que B.Simon use o logon único do Microsoft Entra.
  2. Configure o SAP NetWeaver usando SAML para definir as configurações de SSO no lado do aplicativo.
    1. 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.
  3. Teste o SSO para verificar se a configuração funciona.
  4. Configure o SAP NetWeaver for OAuth para configurar as configurações do OAuth no lado do aplicativo.
  5. 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:

  1. Abra uma nova janela do navegador da Web e faça login no site da empresa SAP NetWeaver como administrador

  2. 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.

  3. 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.

    1. 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.

    2. Se necessário, ajuste os parâmetros, no perfil de instância/padrão do sistema SAP e reinicie o sistema SAP.

    3. Clique duas vezes no cliente relevante para ativar a sessão de segurança HTTP.

      A sessão de Segurança HTTP

    4. 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)
      
  4. 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.

    Código da transação

  5. Forneça seu nome de usuário e senha para entrar na interface do usuário e clique em Editar.

    nome de utilizador e palavra-passe

  6. 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 para https://<sid><client> permitir que vários mecanismos SAP NetWeaver ABAP sejam configurados <protocol>://<name>no Microsoft Entra ID.

    Os vários mecanismos SAP NetWeaver ABAP

  7. 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.

    Gerando metadados do provedor de serviços

    1. Vá para a guia Provedor Local.

    2. Clique em Metadados.

    3. 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.

  1. Entre no centro de administração do Microsoft Entra como pelo menos um administrador de aplicativos na nuvem.

  2. Navegue até Identity>Applications>Enterprise applications>SAP NetWeaver application integration page, localize a seção Manage e selecione Single sign-on.

  3. Na página Selecionar um método de logon único, selecione SAML.

  4. 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.

    Editar configuração básica de SAML

  5. Na seção Configuração Básica do SAML, se desejar configurar o aplicativo no modo iniciado pelo IDP, execute a seguinte etapa:

    1. Clique em Carregar arquivo de metadados para carregar o arquivo de metadados do provedor de serviços, que você obteve anteriormente.

    2. Clique no logotipo da pasta para selecionar o arquivo de metadados e clique em Carregar.

    3. 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:

    4. 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>"
    
  6. 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.

    editar atributo

  7. 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:

    1. Clique no ícone Editar para abrir a caixa de diálogo Gerenciar declarações de usuário.

      ícone de edição

      image

    2. Na lista Transformação , selecione ExtractMailPrefix().

    3. Na lista Parâmetro 1 , selecione user.userprincipalname.

    4. Clique em Guardar.

  8. 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.

    O link de download do certificado

  9. Na seção Configurar o SAP NetWeaver , copie as URLs apropriadas, com base em sua necessidade.

    Copiar URLs de configuração

Criar um usuário de teste do Microsoft Entra

Nesta seção, você criará um usuário de teste chamado B.Simon.

  1. Entre no centro de administração do Microsoft Entra como pelo menos um Administrador de Usuário.
  2. Aceder a Identidade>Utilizadores>Todos os Utilizadores.
  3. Selecione Novo usuário>Criar novo usuário, na parte superior da tela.
  4. Nas propriedades do usuário , siga estas etapas:
    1. No campo Nome para exibição , digite B.Simon.
    2. No campo Nome principal do usuário, digite o username@companydomain.extensionarquivo . Por exemplo, B.Simon@contoso.com.
    3. Marque a caixa de seleção Mostrar senha e anote o valor exibido na caixa Senha .
    4. Selecione Rever + criar.
  5. 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.

  1. Entre no centro de administração do Microsoft Entra como pelo menos um administrador de aplicativos na nuvem.
  2. Navegue até Identity>Applications>Enterprise applications>SAP NetWeaver.
  3. Na página de visão geral do aplicativo, localize a seção Gerenciar e selecione Usuários e grupos.
  4. Selecione Adicionar usuário e, em seguida, selecione Usuários e grupos na caixa de diálogo Adicionar atribuição .
  5. 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.
  6. Na caixa de diálogo Adicionar atribuição, clique no botão Atribuir.

Configurar o SAP NetWeaver usando SAML

  1. 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.

  2. Para configurar pontos de extremidade para provedor de identidade confiável (ID do Microsoft Entra), vá para a guia Provedores confiáveis .

    Configurar provedores confiáveis de logon único

  3. Pressione Adicionar e selecione Carregar arquivo de metadados no menu de contexto.

    Configurar o Single Sign-On 2

  4. Carregue o arquivo de metadados, que você baixou.

    Configurar o Single Sign-On 3

  5. Na tela seguinte, digite o nome do alias. Por exemplo, digite aadstse pressione Avançar para continuar.

    Configurar o Single Sign-On 4

  6. Certifique-se de que seu algoritmo Digest deve ser SHA-256 e não requer nenhuma alteração e pressione Next.

    Configurar o Single Sign-On 5

  7. Em Pontos de extremidade de logon único, use HTTP POST e clique em Avançar para continuar.

    Configurar o Single Sign-On 6

  8. Em Pontos de extremidade de logout único, selecione HTTPRedirect e clique em Avançar para continuar.

    Configurar o Single Sign-On 7

  9. Em Pontos de extremidade de artefato, pressione Avançar para continuar.

    Configurar o Single Sign-On 8

  10. Em Requisitos de autenticação, clique em Concluir.

    Configurar o Single Sign-On 9

  11. Vá para a guia Federação de Identidade de Provedor Confiável>(na parte inferior da tela). Clique em Editar.

    Configurar o Single Sign-On 10

  12. Clique em Adicionar na guia Federação de Identidades (janela inferior).

    Configurar o Single Sign-On 11

  13. Na janela pop-up, selecione Não especificado nos formatos NameID suportados e clique em OK.

    Configurar o Single Sign-On 12

  14. 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.

    Configurar o Logon Único

  15. 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.

  1. Captura de tela de detalhes do NameID do SAP.

    Configurar o Single Sign-On 13

  2. Captura de tela mencionando as declarações necessárias do Microsoft Entra ID.

    Configurar o Single Sign-On 14

    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.

    1. Captura de tela de detalhes do NameID do SAP.

      Configurar o Single Sign-On 15

    2. captura de tela mencionando as declarações necessárias do Microsoft Entra ID.

    Configurar o Single Sign-On 16

  3. Clique em Salvar e, em seguida, clique em Habilitar para habilitar o provedor de identidade.

    Configurar o Single Sign-On 17

  4. Clique em OK uma vez solicitado.

    Configurar o Single Sign-On 18

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

  1. 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.

  2. 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.

    testar o Single Sign-On

  3. 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

  1. O processo documentado SAP está disponível no local: NetWeaver Gateway Service Enabling e OAuth 2.0 Scope Creation

  2. Vá para SPRO e encontre os serviços Ativar e Manter.

    Ativar e manter serviços

  3. 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ço DAAG_MNGGRP e ative se ainda não estiver ativo, já (procure green 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.

    Serviço OData

    • Em seguida, clique no botão OAuth na barra de botões superior e atribua scope (mantenha o nome padrão como oferecido).
  4. 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.

    Configurar o OAuth

    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

  1. 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: o OAuth 2.0 Client ID deve ser idêntico ao que o username 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.

  2. 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.

  3. Execute o T-Code SU01 para criar CLIENT1 de usuário como System 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

  1. 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.

  2. Vá para T-Code: SOAUTH2 e Forneça a descrição e clique em Avançar.

    SOAUTH2

    ID do cliente OAuth 2.0

  3. Selecione o SAML2 IdP – Microsoft Entra ID já adicionado na lista suspensa e salve.

    SAML2 IdP – Microsoft Entra ID 1

    SAML2 IdP – Microsoft Entra ID 2

    SAML2 IdP – Microsoft Entra ID 3

  4. Clique em Adicionar sob atribuição de escopo para adicionar o escopo criado anteriormente: DAAG_MNGGRP_001

    Âmbito

    Atribuição de escopo

  5. 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

  1. Faça logon no portal do Azure: navegue até o portal do Azure em portal.azure.com.
  2. 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".
  3. 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

  1. Navegue até a aplicação registrada: Vá para "Certificados & segredos".
  2. 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

  1. Acesse o SAP Cloud Platform: faça login no seu SAP Cloud Platform Cockpit.
  2. 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).
  3. 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.

  1. 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.
  2. 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'
      
  3. 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

  1. 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}
      

Passos Seguintes