Condividi tramite


Imposta Microsoft Entra ID con Kerberos per SSO

È possibile configurare il connettore SAP ERP di Power Platform per utilizzare le credenziali di Microsoft Entra ID per l'accesso Single Sign-On (SSO) basato su Kerberos. Gli utenti possono accedere ai dati SAP ed eseguire chiamate di funzioni remote SAP (RFC) nelle soluzioni Power Platform senza dover effettuare più volte l'accesso a più servizi. Questo articolo illustra il processo, inclusa la configurazione della delega vincolata (KCD) Kerberos sul gateway dati locale per comunicazioni sicure.

Scopri di più sulla delega vincolata Kerberos.

Queste istruzioni presuppongono che si parta da zero. La maggior parte dei clienti ha già completato alcuni passaggi. Determinare quali passaggi devi completare per il tuo scenario esula dallo scopo di questo articolo. Ad esempio, puoi saltare la sezione Creare un account di servizio SAP in Active Directory Domain Services se il tuo sistema SAP è già configurato per SSO basato su Kerberos.

Prerequisiti

Creare un account di servizio SAP in AD DS

In qualità di amministratore di dominio, dovrai prima creare un account di servizio, quindi definire il Service Principal Name (SPN) e abilitarlo per la crittografia Kerberos.

Nota

Se l'amministratore di SAP Basis conferma che il sistema SAP è già configurato per l'SSO basato su Kerberos, salta questa sezione.

Per configurare l'account di servizio, esegui i seguenti passaggi come amministratore di dominio:

  1. Sul PC host del controller di dominio, aprire la console di gestione (MMC) Microsoft ed eseguire lo snap-in Utenti e computer di Active Directory.

  2. Nel tuo dominio, fai clic con il pulsante destro del mouse su Utenti e seleziona Nuovo>Utente.

  3. Inserisci Kerberos<SID> come Nome completo e Nome di accesso utente, dove <SID> è l'ID del tuo sistema SAP, ad esempio A4H.

  4. Seleziona Avanti.

  5. Immetti e conferma la password per il nuovo account di servizio.

  6. Seleziona entrambi L'utente non può modificare la password e La password non scade mai.

  7. Seleziona Avanti, quindi Fine.

Dopo aver creato l'account di servizio, definisci il suo Service Principal Name (SPN) e abilitalo per la crittografia Kerberos.

  1. Apri lo snap-in ADSI Edit (adsiedit.msc) e Connetti sul tuo dominio.

  2. Seleziona CN=Users dal contesto di denominazione predefinito del tuo dominio.

  3. Fare clic con il pulsante destro del mouse sull'oggetto utente CN=Kerberos<SID> e su Seleziona Proprietà.

  4. Nell'elenco Attributi , Seleziona ServicePrincipalName.

  5. Selezionare Modifica.

  6. Immettere il nome del Service Principal nel formato SAP/<SID>, dove <SID> è l'ID del sistema SAP, ad esempio A4H.

  7. Seleziona Aggiungi e quindi OK.

  8. Torna allo snap-in Utenti e computer di Active Directory.

  9. Nell'elenco Utenti , fare clic con il pulsante destro del mouse sul nuovo account di servizio SAP Kerberos<SID> and Seleziona Proprietà.

  10. Selezionare la scheda Account.

  11. In Opzioni account, Seleziona Questo account supporta la crittografia Kerberos AES a 256 bit.

  12. Seleziona OK.

Importante

L'abilitazione della crittografia AES a 256 bit Kerberos può causare problemi ad altri client, come SAP GUI, che richiedono ticket Kerberos da questo account Active Directory. Ciò avviene perché cambia l'elenco dei metodi di crittografia disponibili e altri client non dispongono più di un cifrario di crittografia comune. Controllare i registri di Active Directory per determinare quali metodi di crittografia vengono utilizzati da tutti i client, quindi aggiornare manualmente la proprietà con il valore corretto. msDS-SupportedEncryptionTypes Dopo l'aggiornamento, l'opzione di crittografia AES 256 dovrebbe apparire automaticamente, senza dover essere selezionata manualmente. Per ulteriori informazioni, consulta la pagina Decodificare la selezione dei tipi di crittografia Kerberos supportati nel blog Core infrastructure and Community.

Imposta comunicazioni di rete sicure con l'autenticazione SSO Kerberos in SAP

Esegui i seguenti passaggi nella GUI SAP come amministratore SAP Basis.

  1. Per avviare la procedura guidata SAP Single Sign-On, immettere SNCWIZARD nel campo Comando .

  2. Nella pagina Avvia della procedura guidata seleziona Continua.

  3. Accetta il valore predefinito per l'Identità SNC del sistema e seleziona Continua.

  4. Nella pagina Parametri profilo predefiniti , Seleziona Continua.

  5. Seleziona Chiudi.

  6. Esci dal sistema SAP e riavvia il server applicativo SAP.

  7. Accedi alla GUI SAP ed esegui nuovamente SNCWIZARD.

  8. Nella pagina Avvia seleziona Continua.

  9. Nella pagina Kerberos Credenziali , Seleziona Continua.

  10. In Configurazione SPNEGO, Seleziona Visualizza/Cambia per passare a modalità di modifica, quindi Seleziona Aggiungi.

  11. Immettere i valori seguenti:

    • Nome dell'entità utente: Kerberos<SID>@DOMAIN, dove Kerberos<SID> è il nome utente dell'account di servizio e DOMAIN è il nome completo del dominio Active Directory in lettere maiuscole; ad esempio, KerberosA4H(at)CORP.BESTRUN.COM.
    • Password e Conferma password: la password immessa durante la creazione dell'account Active Directory.
  12. Seleziona Controlla utente in Active Directory per verificare l'utente, quindi seleziona Esci.

  13. Seleziona Salva.

  14. Nella pagina Credenziali X.509 , seleziona Ignora.

  15. Selezionare Completamento.

Successivamente, mappa il nome utente SNC (in base al nome utente di dominio Windows) al nome dell'entità utente SAP.

  1. Nella GUI SAP, esegui la transazione SU01.

  2. Immetti l'ID utente di prova ( ad esempio, JDAVIS ) nel campo Utente, quindi selezionar Modifica.

  3. Seleziona la scheda SNC.

  4. Immetti il nome dell'entità utente nel campo Nome SNC; ad esempio, p:CN=JDAVIS(at)CORP.BESTRUN.COM.

  5. Seleziona Salva.

Imposta il gateway dati locale per la delega vincolata Kerberos

Per impostazione predefinita, il gateway locale viene eseguito come account di servizio locale della macchina NT Service\PBIEgwService. Per utilizzare la delega vincolata Kerberos con le estensioni S4U del protocollo, il gateway deve essere eseguito come account di servizio nel dominio.

Esegui le seguenti operazioni come amministratore di dominio:

  1. Sul PC host del controller di dominio, torna allo snap-in Utenti e computer di Active Directory.

  2. Nel tuo dominio, fai clic con il pulsante destro del mouse su Utenti e seleziona Nuovo>Utente.

  3. Inserisci GatewaySvc come Nome completo e Nome di accesso utente.

  4. Seleziona Avanti.

  5. Inserisci e conferma la password per il nuovo account del servizio di dominio.

  6. Seleziona entrambi L'utente non può modificare la password e La password non scade mai.

  7. Seleziona Avanti, quindi Fine.

Una volta creato l'account di servizio del dominio, ne definirai il nome dell'entità servizio e lo abiliterai per la delega vincolata Kerberos.

  1. In una finestra PowerShell con privilegi elevati, immettere il seguente comando per creare un SPN per il nuovo account di servizio. Sostituisci <nome host OPDG> con il nome host del tuo gateway dati locale e <dominio> con il nome del tuo dominio. È possibile scoprire il nome host immettendo il comando hostname al prompt dei comandi.

    setspn –s gateway/<OPDG hostname> <domain>\GatewaySvc
    
  2. Nello snap-in Utenti e computer di Active Directory , fare clic con il pulsante destro del mouse sul nuovo account di servizio e scegliere Seleziona Proprietà.

  3. Seleziona la scheda Delega.

  4. Seleziona Utente attendibile per la delega solo ai servizi specificati e Usa un qualsiasi protocollo di autenticazione.

  5. Seleziona Aggiungi.

  6. Seleziona Utenti o computer.

  7. Inserisci Kerberos<SID> nel campo dei nomi degli oggetti, dove <SID> è l'ID del tuo sistema SAP, ad esempio A4H.

  8. Seleziona Controlla nomi, quindi seleziona OK.

L'elenco dei servizi consentiti ora contiene l'SPN del sistema SAP. Il nuovo account del servizio gateway può richiedere un ticket di servizio solo per il sistema SAP per conto dell'utente propagato con l'estensione del protocollo S4U2proxy Kerberos.

  1. Seleziona Seleziona tutto.
  2. Seleziona OK.
  3. Seleziona OK una seconda volta.
  4. L'account del servizio gateway dati locale deve essere concesso ai criteri locali sull'host del gateway dati locale. Eseguire questa configurazione con l' Editor Criteri di gruppo locali eseguendo gpedit.msc da un prompt dei comandi amministratore .
  5. Vai a Criteri del computer locale ->Configurazione computer ->Impostazioni di Windows ->Impostazioni di sicurezza ->Criteri locali ->Assegnazione diritti utente. Concedi all'account del servizio di dominio del gateway dati locale (ad esempio CORP\GatewaySvc) i criteri locali come parte del sistema operativo facendo doppio clic su di esso.
  6. Seleziona Aggiungi utente o Gruppo.
  7. Inserisci il nome dell'account del servizio di dominio del tuo gateway dati locale (ad esempio GatewaySvc) e Seleziona Controlla nomi per risolverlo nel nome completo esistente. Seleziona OK. Il nome di dominio dell'account di servizio (ad esempio CORP\GatewaySvc) viene ora aggiunto all'elenco utenti del criterio. Seleziona OK per applicare la nuova configurazione.
  8. Ripetere lo stesso passaggio per il criterio Impersona un client dopo l'autenticazione facendo doppio clic su di esso. Seleziona Aggiungi utente o gruppo e converti l'account di servizio del gateway dati locale nel nome completo esistente con Controlla nomi. Seleziona OK.
  9. Il nome dell'account di servizio (ad esempio CORP\GatewaySvc) viene ora aggiunto all'elenco utenti del criterio. Seleziona OK. Chiudi l'Editor Criteri di gruppo locale.
  10. Avvia l'app del gateway dati locale dal collegamento desktop sull'host del gateway oppure eseguendo C:\Programmi\On-premises data gateway\EnterpriseGatewayConfigurator.exe., seleziona Accedi per accedere come utente amministratore di sistema di Power Platform che ha registrato il gateway dati locale nell'ambiente.
  11. Seleziona Impostazioni servizio dal menu del configuratore. Seleziona Cambia account.
  12. Seleziona Applica e Riavvia.
  13. Immetti il nome dell'account di servizio del gateway dati locale (ad esempio CORP\GatewaySvc) e password. Seleziona Configura.
  14. Fornisci il tuo account di accesso al sistema amministratore, selezionando Power Platform Accedi .
  15. Seleziona Migrazione, ripristina o acquisisci un gateway esistente per ripristinare la registrazione del gateway.
  16. Seleziona seleziona il cluster e l'istanza del gateway dalle caselle a discesa e fornisci la chiave di ripristino scelta durante la registrazione iniziale. Seleziona Configura.
  17. Una volta completato il ripristino, l'istanza del servizio gateway dati locale utilizza l'account di servizio del dominio (ad esempio CORP\GatewaySvc).

Installa e configura la libreria crittografica SAP

Per la comunicazione SNC tra il gateway dati locale e il sistema SAP, la libreria crittografica SAP deve essere installata sull'host del gateway insieme a SAP NCo 3.1.

  1. Scarica l'ultima versione della libreria crittografica SAP dal Download Software del Portale di Supporto SAP (richiesto S-User) e copia il file della libreria (sapcrypto.dll) nella directory di installazione del gateway dati locale sull'host del gateway (C:\Programmi\On-premises data gateway). Fare clic con il pulsante destro del mouse sul file sapcrypto.DLL e scegliere Seleziona Proprietà dal menu contestuale.
  2. Passare alla scheda Dettagli per verificare la versione della libreria. Dovrebbe essere la versione 8.5.25 o più recente. Seleziona OK.
  3. Crea un nuovo file di testo sapcrypto.ini nella stessa directory (C:\Programmi\On-premises data gateway) con questo contenuto: ccl/snc/enable_kerberos_in_client_role = 1.
  4. Salva il file.
  5. Crea una variabile di ambiente di sistema CCLPROFILE e impostane il valore sul percorso del file di configurazione sapcrypto.ini. Sull'host del gateway, avvia il Pannello di controllo e vai a Sistema e sicurezza ->Sistema. Seleziona le impostazioni di sistema avanzate.
  6. Seleziona Variabili di ambiente.
  7. In Variabili di sistema seleziona Nuovo.
  8. Inserisci CCL_PROFILE come nome della variabile. Per il valore della variabile, immettere il percorso completo del file sapcrypto.ini, ad esempio, C:\Program Files\On-premises data gateway\sapcrypto.ini. Seleziona OK.
  9. Seleziona OK una seconda volta.

Configurare l'impostazione OPDG FullDomainResolutionEnabled

Per aiutare il gateway dati locale nella ricerca degli utenti di Active Directory, dobbiamo impostare un valore di configurazione nelle impostazioni del gateway dati locale.

  1. Sull'host del gateway, apri il file Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config nella cartella di installazione del gateway dati locale (C:\Programmi\On-premises data gateway) in un editor.
  2. Cerca l'impostazione FullDomainResolutionEnabled e imposta il suo valore su True.
  3. Seleziona Riavvia ora dalla scheda Impostazioni servizio del configuratore del gateway dati locale per applicare le modifiche.

Configurare i mapping degli utenti in Active Directory

I nomi di accesso UPN di Microsoft Entra ID sono gli stessi della proprietà di posta elettronica locale di Active Directory, quindi è possibile ignorare questo passaggio.

Per abilitare Principal Propagation basata su Kerberos per un utente in questo scenario, è necessario un mapping dal nome utente completo dell'utente (nome dell'entità utente, UPN) in Microsoft Entra ID al nome locale dell'utente in Active Directory. A tale scopo, utilizziamo l'attributo inutilizzato msDS-cloudExtensionAttribute1 dell'utente Active Directory locale per memorizzare l' Microsoft Entra ID UPN. È possibile utilizzare anche qualsiasi altro attributo di Active Directory non utilizzato.

Nello scenario per l'utente di prova dell'applicazione Jack Davis, imposta l'attributo msDS-cloudExtensionAttribute1 dell'account utente di dominio di Active Directory locale jdavis@corp.bestrun.com sull'UPN di Microsoft Entra ID dell'utente jdavis@bestruncorp.onmicrosoft.com per collegare i due account.

  1. Sull'host del gateway, apri il file Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config nella cartella di installazione del gateway dati locale (C:\Programmi\On-premises data gateway) in un editor.
  2. Cerca l'impostazione ADUserNameReplacementProperty e impostane il valore su SAMAccountName.
  3. Cerca l'impostazione ADUserNameLookupProperty e impostala sul valore msDS-cloudExtensionAttribute1. Salva le modifiche nel file.
  4. Seleziona Riavvia ora dalla scheda Impostazioni servizio del configuratore del gateway dati locale per applicare le modifiche.
  5. Sull'host Domain Controller , Seleziona Start e Seleziona Strumenti di amministrazione di Windows ->Modifica ADSI dal menu. Nell'editor ADSI, naviga nell'albero degli oggetti sul lato sinistro fino a CN=Users nel contesto di denominazione predefinito del dominio. Fai clic con il pulsante destro del mouse sull'oggetto dell'utente di prova (ad esempio CN=Jack Davis) e seleziona Proprietà dal menu contestuale.
  6. Seleziona l'attributo msDS-cloudExtensionAttribute1 dall'elenco e seleziona Modifica.
  7. Inserisci l'UPN di Microsoft Entra ID dell'utente di prova (ad esempio jdavis@< domainname>.onmicrosoft.com) nel campo Valore. Sostituisci <domainname> con il nome di dominio del tuo tenant Microsoft Entra ID, ad esempio, bestruncorp. Seleziona OK.

Creare un flusso Power Automate

Tutti i componenti locale (sistema SAP, gateway dati locale e AD) sono ora configurati correttamente per la propagazione dei principali basata su Kerberos. In questo passaggio, crea ed esegui un flusso Power Automate per testare la configurazione.

  1. Accedi a Power Automate all'indirizzo https://make.powerautomate.com.

  2. Seleziona Flussi personali ->Nuovo flusso ->Flusso cloud istantaneo

  3. Assegna un nome al flusso, seleziona Attiva manualmente un flusso, quindi seleziona Crea.

  4. Aggiungi l'azione del connettore SAP ERP Chiama funzione SAP (V3) al tuo flusso.

  5. Se non disponi di una connessione SAP ERP creata, ti verrà richiesto di crearne una. Se hai una connessione esistente, creane una nuova.

    • Il Tipo di autenticazione deve essere Microsoft Entra ID (con Kerberos).
    • Il gateway dati dovrebbe essere il gateway dati locale configurato in questo guida.
    • Selezionare Accedi.
  6. Nell'azione SAP ERP Chiama funzione SAP (V3) , impostare i seguenti parametri:

    • Il nome RFC è impostato su STFC_CONNECTION.
    • Il sistema SAP è impostato su (modifica questi valori in base alle esigenze dell'amministratore SAP Basis).

    json { "AppServerHost": "<Nome server SAP>", "Client": "<Client SAP>", "LogonType": "ApplicationServer", "SncLibraryPath": "C:\Programmi\On-premises data gateway\sapcrypto.dll", "SncPartnerName": "p:<Nome partner SAP>", "SncQOP": "Default", "SncSso": "On", "SystemNumber": "<Numero sistema SAP>", "UseSnc": "true" }

  7. Se tutto va a buon fine, è possibile immettere un parametro REQUTEXT in cui è possibile immettere un valore del tipo Hello World .

  8. Salvare e testare il flusso.