Dela via


Konfigurera Microsoft Entra ID med Kerberos för SSO

Du kan konfigurera SAP ERP-anslutningsappen för Power Platform så att den använder Microsoft Entra ID-autentiseringsuppgifter för Kerberos-baserad enkel inloggning (SSO). Användarna kan komma åt SAP-data och köra SAP Remote Function Calls (RFC) i Power Platform lösningar utan att behöva logga in flera gånger på flera tjänster. Den här artikeln vägleder dig genom processen, inklusive hur du konfigurerar Kerberos-begränsad delegering (KCD) på den lokala datagatewayen för säker kommunikation.

Läs mer om Kerberos-begränsad delegering.

De här anvisningarna förutsätter att du börjar om från början. De flesta kunder har redan slutfört några av stegen. Att avgöra vilka steg du behöver utföra för ditt scenario ligger utanför omfånget för den här artikeln. Du kan till exempel hoppa över avsnittet Skapa ett SAP-tjänstkonto i Active Directory Domain Services om SAP-systemet redan har konfigurerats för Kerberos-baserad enkel inloggning.

Förutsättningar

Skapa ett SAP-tjänstkonto i AD DS

Som domänadministratör skapar du först ett tjänstkonto och definierar sedan tjänstens huvudnamn (SPN) och aktiverar det för Kerberos kryptering.

Obs

Om din SAP Basis-administratör bekräftar att SAP-systemet redan har konfigurerats för Kerberos-baserad enkel inloggning hoppar du över det här avsnittet.

Utför följande steg som domänadministratör för att ställa in tjänstekontot:

  1. Öppna Microsoft Management Console (MMC) på domänkontrollantens värddator och kör snapin-modulen Active Directory - användare och datorer.

  2. Högerklicka på Användare på domänen och välj Ny>Användare.

  3. Ange Kerberos<SID> som Fullständigt namn och Användarens inloggningsnamn, där <SID> är ID:t för ditt SAP-system, till exempel A4H.

  4. Klicka på Nästa.

  5. Ange och bekräfta lösenordet för det nya tjänstekontot.

  6. Välj både Användare kan inte ändra lösenord och Lösenordet upphör aldrig att gälla.

  7. Välj Nästa, och välj sedan Slutför.

När tjänstkontot har skapats definierar du dess SPN (Service Principal Name) och aktiverar det för Kerberos-kryptering.

  1. Öppna snapin-modulen ADSI-redigering (adsiedit.msc) och anslut till din domän.

  2. Välj CN=Users från domänens standardnamngivningskontext.

  3. Högerklicka på CN=Kerberos<SID-användarobjektet> och välj Egenskaper.

  4. I listan Attribut väljer du ServicePrincipalName.

  5. Välj Redigera.

  6. Ange tjänstens huvudnamn i formatet SAP/SID<, där>SID är ID: <t för ditt SAP-system> , till exempel A4H.

  7. Välj Lägg till, och välj OK.

  8. Gå tillbaka till snapin-modulen Active Directory - användare och datorer .

  9. I listan Användare högerklickar du på det nya SAP-tjänstkontot Kerberos<SID> och väljer Egenskaper.

  10. Välj fliken Konto.

  11. Under Kontoalternativ väljer du Det här kontot stöder Kerberos AES 256-bitars kryptering.

  12. Välj OK.

Viktigt

Om du aktiverar Kerberos AES 256-bitars kryptering kan det orsaka problem för andra klienter, till exempel SAP GUI, som begär Kerberos biljetter från det här Active Directory-kontot. Det beror på att det ändrar listan över tillgängliga krypteringsmetoder och att andra klienter inte längre har ett gemensamt krypteringschiffer. Kontrollera Active Directory-loggarna för att avgöra vilka krypteringsmetoder alla klienter använder och uppdatera sedan msDS-SupportedEncryptionTypes-egenskapen manuellt med rätt värde. Efter uppdateringen bör krypteringsalternativet AES 256 visas automatiskt utan att behöva väljas manuellt. Läs mer i Dekryptera valet av Kerberos krypteringstyper som stöds på bloggen Core infrastructure and Community.

Konfigurera säker nätverkskommunikation med Kerberos SSO-autentisering i SAP

Utför följande steg som SAP Basis-administratör i SAP GUI.

  1. Starta guiden SAP Single Sign-On genom att ange SNCWIZARD i fältet Kommando .

  2. På guidens sida Start väljer du Fortsätt.

  3. Godkänn standardvärdet för systemets SNC-identitet och välj Fortsätt.

  4. På sidan Standardprofilparametrar väljer du Fortsätt.

  5. Välj Stäng.

  6. Logga ut från SAP-systemet och starta om SAP-programservern.

  7. Logga in på SAP GUI och kör SNCWIZARD igen.

  8. På sidan Start väljer du Fortsätt.

  9. På sidan Autentiseringsuppgifter för Kerberos väljer du Fortsätt.

  10. I SPNEGO-konfiguration väljer du Visa/Ändra för att växla till redigeringsläge och väljer sedan Lägg till.

  11. Ange följande värden:

    • Användarens huvudnamn: Kerberos<SID>@DOMAIN, där Kerberos<SID> är tjänstkontots användarnamn och DOMÄN är det fullständiga namnet på din Active Directory-domän med versaler, till exempel KerberosA4H(at)CORP.BESTRUN.COM.
    • Lösenord och Bekräfta lösenord: Lösenordet som du angav när du skapade Active Directory-kontot.
  12. Välj Kontrollera användare i Active Directory för att verifiera användaren och välj sedan Avsluta.

  13. Välj Spara.

  14. På sidan Autentiseringsuppgifter för X.509 väljer du Hoppa över.

  15. Välj Slutför.

Mappa sedan SNC-användarnamnet (baserat på Windows-domänanvändarnamnet) till SAP-användarens huvudnamn.

  1. I SAP GUI kör du transaktionen SU01.

  2. Ange testanvändar-ID:t (till exempel JDAVIS) i fältet Användare och välj sedan Ändra.

  3. Välj fliken SNC.

  4. Ange användarens huvudnamn i fältet SNC-namn, till exempel p:CN=JDAVIS(at)CORP.BESTRUN.COM.

  5. Välj Spara.

Konfigurera den lokala datagatewayen för Kerberos begränsad delegering

Som standard körs den lokala gatewayen som det datorlokala tjänstkontot NT Service\PBIEgwService. Om du vill använda Kerberos begränsad delegering med protokollets S4U-tillägg måste gatewayen köras som ett tjänstkonto i domänen.

Du löser problemet genom som domänadministratör.

  1. Gå tillbaka till snapin-modulen Active Directory - användare och datorer på domänkontrollantens värddator.

  2. Högerklicka på Användare på domänen och välj Ny>Användare.

  3. Ange GatewaySvc som fullständigt namn och användarens inloggningsnamn.

  4. Klicka på Nästa.

  5. Ange och bekräfta lösenordet för det nya domäntjänstekontot.

  6. Välj både Användare kan inte ändra lösenord och Lösenordet upphör aldrig att gälla.

  7. Välj Nästa, och välj sedan Slutför.

När domäntjänstkontot har skapats definierar du dess SPN (Service Principal Name) och aktiverar det för Kerberos-begränsad delegering.

  1. I ett upphöjt PowerShell fönster anger du följande kommando för att skapa ett SPN för det nya tjänstkontot. Ersätt <OPDG-värdnamnet> med värdnamnet för din lokala datagateway och <domän> med namnet på din domän. Du kan ta reda på värdnamnet genom att ange kommandot hostname i en kommandotolk.

    setspn –s gateway/<OPDG hostname> <domain>\GatewaySvc
    
  2. I snapin-modulen Active Directory - användare och datorer högerklickar du på det nya tjänstkontot och väljer Egenskaper.

  3. Välj fliken Delegering.

  4. Välj Lita på den här datorn enbart för delegering till angivna tjänster och Använd valfritt autentiseringsprotokoll.

  5. Välj Lägg till.

  6. Välj Användare eller datorer.

  7. Ange Kerberos<SID> i fältet objektnamn, där <SID> är ID:t för ditt SAP-system, till exempel A4H.

  8. Välj Kontrollera namn och sedan OK.

Listan över tillåtna tjänster innehåller nu SPN för SAP-systemet. Det nya gatewaytjänstkontot kan endast begära en tjänstbiljett för SAP-systemet för den spridda användarens räkning med protokolltillägget Kerberos S4U2proxy.

  1. Välj Välj alla.
  2. Välj OK.
  3. Välj OK en andra gång.
  4. Tjänstkontot för den lokala datagatewayen måste beviljas till lokala principer på den lokala datagatewayvärden. Utför den här konfigurationen med den lokala grupprincipredigeraren genom att köra gpedit.msc från en kommandotolk för administratörer .
  5. Gå till Lokal datorprincip ->Datorkonfiguration ->Windows-inställningar ->Säkerhetsinställningar ->Lokala principer ->Tilldelning av användarrättigheter. Ge domäntjänstkontot för den lokala datagatewayen (till exempel CORP\GatewaySvc) den lokala principen fungera som en del av operativsystemet genom att dubbelklicka på det.
  6. Välj Lägg till användare eller grupp.
  7. Ange namnet på din lokala datagateways domäntjänstkonto (till exempel GatewaySvc) och välj Kontrollera namn för att matcha det till det fullständiga befintliga namnet. Välj OK. Tjänstkontots domännamn (till exempel CORP\GatewaySvc) läggs nu till i principens användarlista. Välj OK för att tillämpa den nya konfigurationen.
  8. Upprepa samma steg för principen Personifiera en klient efter autentisering genom att dubbelklicka på den. Välj Lägg till användare eller grupp och matcha den lokala datagatewayens tjänstkonto till det fullständiga befintliga namnet med Kontrollera namn. Välj OK.
  9. Tjänstkontots namn (till exempel CORP\GatewaySvc) läggs nu till i principens användarlista. Välj OK. Stäng Redigeraren för lokal grupprincip.
  10. Starta appen för lokal datagateway från skrivbordslänken på gatewayvärden eller genom att köra C:\Program Files\On-premises datagateway\EnterpriseGatewayConfigurator.exe. Välj logga in för att logga in som den Power Platform systemadministratörsanvändare som registrerade den lokala datagatewayen i miljön.
  11. Välj Serviceinställningar i konfiguratorns meny. Välj Ändra konto.
  12. Välj Använd och starta om.
  13. Ange namnet på tjänstkontot för din lokala datagateway (till exempel CORP\GatewaySvc) och lösenordet. Välj Konfigurera.
  14. Ange ditt Power Platform-inloggningskonto som systemadministratör genom att välja logga in.
  15. Välj Migrera, återställ eller ta över en befintlig gateway för att återställa gatewayregistreringen.
  16. Välj ditt gatewaykluster och din instans i listrutorna och ange den återställningsnyckel som valdes under den första registreringen. Välj Konfigurera.
  17. När återställningen är klar använder din lokala instans av datagatewaytjänsten domäntjänstkontot (till exempel CORP\GatewaySvc).

Installera och konfigurera Kryptografiskt SAP-bibliotek

För SNC-kommunikation mellan den lokala datagatewayen och SAP-systemet måste det kryptografiska SAP-biblioteket installeras på gatewayvärden tillsammans med SAP NCo 3.1.

  1. Ladda ned den senaste versionen av SAP-kryptografiska biblioteket från SAP-supportportalens programnedladdning (S-användare krävs) och kopiera biblioteksfilen (sapcrypto.dll) till den lokala datagatewayens installationskatalog på gatewayvärden (C:\Program Files\On-premises datagateway). Högerklicka på sapcrypto.dll-filen och välj Egenskaper från snabbmenyn.
  2. Växla till fliken Information för att kontrollera versionen av biblioteket. Det bör vara 8.5.25 eller senare. Välj OK.
  3. Skapa en ny textfil sapcrypto.ini i samma katalog (C:\Program Files\On-premises datagateway) med detta innehåll: ccl/snc/enable_kerberos_in_client_role = 1.
  4. Spara filen.
  5. Skapa systemmiljövariabeln CCLPROFILE och sätt värdet till sökvägen för konfigurationsfilen sapcrypto.ini. Starta kontrollpanelen på gatewayvärden och navigera till System och säkerhet ->System. Välj Avancerade systeminställningar.
  6. Välj Envimiljövariabler.
  7. Under Systemvariabler, väljer du Nytt.
  8. Ange CCL_PROFILE som variabelnamn. För variabelvärdet anger du den fullständiga sökvägen till den sapcrypto.ini filen, till exempel C:\Program Files\On-premises data gateway\sapcrypto.ini. Välj OK.
  9. Välj OK en andra gång.

Konfigurera inställningen FullDomainResolutionEnabled OPDG

För att hjälpa den lokala datagatewayen när du söker efter Active Directory-användare måste vi ange ett konfigurationsvärde i inställningarna för den lokala datagatewayen.

  1. På gatawayvärden öppnar du filen Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config i installationsmappen för den lokala datagatewayen (C:\Program Files\On-premises data gateway) i en redigerare.
  2. Sök efter inställningen FullDomainResolutionEnabled och ställ in den på Sant.
  3. Välj Starta om nu på fliken Tjänstinställningar för den lokala datagatewaykonfiguratorn för att tillämpa ändringarna.

Konfigurera användarmappningar i Active Directory

Om Microsoft Entra ID-användarens huvudnamn är samma som den lokala Active Directory-e-postegenskapen kan det här steget hoppas över.

Om du vill aktivera Kerberos-baserad huvudspridning för en användare i det här scenariot krävs en mappning från användarens fullständiga användarnamn (User Principal Name) i Microsoft Entra ID till användarens lokala namn i Active Directory. För detta ändamål använder vi det oanvända attributet msDS-cloudExtensionAttribute1 för den lokala Active Directory-användaren för att lagra Microsoft Entra ID-UPN. Alla andra oanvända Active Directory-attribut kan också användas.

I scenariot för programtestanvändaren Jack Davis anger du attributet msDS-cloudExtensionAttribute1 för det lokala Active Directory-domänanvändarkontot jdavis@corp.bestrun.com till användarens Microsoft Entra ID-UPN jdavis@bestruncorp.onmicrosoft.com för att länka sina två konton.

  1. På gatawayvärden öppnar du filen Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config i installationsmappen för den lokala datagatewayen (C:\Program Files\On-premises data gateway) i en redigerare.
  2. Sök efter inställningen ADUserNameReplacementProperty och ställ in den på SAMAccountName.
  3. Sök efter inställningen ADUserNameLookupProperty och ange värdet msDS-cloudExtensionAttribute1. Spara ändringarna i filen.
  4. Välj Starta om nu på fliken Tjänstinställningar för den lokala datagatewaykonfiguratorn för att tillämpa ändringarna.
  5. domänkontrollantvärden väljer du Start och sedan Windows Administrationsverktyg ->ADSI-redigering på menyn. I ADSI-redigeraren navigerar du i objektträdet på vänster sida till CN=Users under domänens standardnamngivningskontext. Högerklicka på testanvändarens objekt (till exempel CN=Jack Davis) och välj Egenskaper på snabbmenyn.
  6. Välj attributet msDS-cloudExtensionAttribute1 i listan och välj sedan Redigera.
  7. Ange testanvändarens Microsoft Entra ID-UPN (till exempel jdavis@<domännamn>.onmicrosoft.com) i fältet Värde . Ersätt <domännamn> med din Microsoft Entra ID-klients domännamn, till exempel, bestruncorp. Välj OK.

Skapa ett Power Automate-flöde

Alla lokala komponenter (SAP-system, lokal datagateway och AD) är nu korrekt konfigurerade för Kerberos-baserad huvudspridning. I det här steget skapar och kör du ett Power Automate-flöde för att testa konfigurationen.

  1. Logga in i Power Automate på https://make.powerautomate.com.

  2. Välj Mina flöden ->Nytt flöde ->Direkt molnflöde

  3. Ge flödet ett namn, välj Utlös ett flöde manuellt och välj Skapa.

  4. Lägg till åtgärden SAP ERP-anslutningsprogram Anropa SAP-funktionen (V3) i flödet.

  5. Om du inte har några SAP ERP-anslutningar skapade uppmanas du att skapa en. Om du har en befintlig anslutning ska du skapa en ny.

    • Autentiseringstypen ska vara Microsoft Entra ID (med Kerberos).
    • Data Gateway ska vara den lokala datagateway som konfigurerades i den här guiden.
    • Välj Logga in.
  6. I åtgärden SAP ERP Anropa SAP-funktion (V3) anger du följande parametrar:

    • RFC-namn är inställt på STFC_CONNECTION.
    • SAP-systemet är inställt på (ändra dessa värden enligt din SAP Basis-administratör).

    json { "AppServerHost": "<SAP-servernamn>", "Client": "<SAP-klient>", "LogonType": "ApplicationServer", "SncLibraryPath": "C:\Program Files\On-premises datagateway\sapcrypto.dll", "SncPartnerName": "p:<SAP-partnernamn>", "SncQOP": "Standard", "SncSso": "På", "SystemNumber": "<SAP-systemnummer>", "UseSnc": "true" }

  7. Om allt lyckas, en REQUTEXT-parameter där ett värde som Hello World kan anges.

  8. Spara och testa flödet.