Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: SQL Server 2019 (15.x) e versioni successive in Linux
SQL Server Reporting Services (2019 e versioni successive)
Questo articolo spiega come installare e configurare i database del catalogo Server di report di Power BI (PBIRS) per SQL Server in Linux.
Prerequisiti
In questo articolo, gli esempi usano il dominio CORPNET.CONTOSO.COM e la configurazione seguente.
Configurare il computer
| Macchina | Sistema operativo | dettagli |
|---|---|---|
| Controller di dominio Windows | Windows Server 2019 o Windows Server 2022 | |
Sviluppo e implementazione dei report (WIN19) |
Windows Server 2019 che esegue Visual Studio 2019 | - Sviluppo e distribuzione dei report - Servizi di condivisione file da usare come repository per i risultati dei report pianificati o basati sulla domanda |
Server di report di Power BI (WIN22) |
Windows Server 2022, che esegue una versione supportata di Server di report di Power BI (PBIRS) | |
| Computer per sviluppatori | Client Windows 11 che esegue SQL Server Management Studio (SSMS) | |
SQL Server 2019 (rhel8test) |
Red Hat Enterprise Linux (RHEL) 8.x Server, che esegue SQL Server 2019 (15.x) con l'ultimo aggiornamento cumulativo (CU) |
Configurare gli account
| Nome dell'account | dettagli |
|---|---|
CORPNET\cluadmin |
Account utente globale Account amministratore locale in tutti i server Windows, ad eccezione del controller di dominio. |
CORPNET\pbirsservice |
Account del servizio PBIRS |
CORPNET\linuxservice |
Account del servizio SQL Server (creato solo per l'ambiente SQL Server in Linux) |
CORPNET\reportuser |
Account utente globale usato per simulare un normale utente di PBIRS |
Questo scenario di esempio utilizza server separati e account separati per garantire che la delega di Kerberos funzioni correttamente (cioè, gestisce scenari di doppio salto).
Configurazione di SQL Server in Linux
Prima di configurare (o riconfigurare) PBIRS per usare SQL Server in Linux come backend per ospitare i database del catalogo Report Server, assicurati che l'istanza SQL Server in Linux sia collegata al dominio.
Per installare, configurare adutil e unirti al dominio, segui le istruzioni nel Tutorial: Usa adutil per configurare l'autenticazione Active Directory con SQL Server in Linux.
Note
Per informazioni su pacchetti specifici in RHEL 8, vedere Connessione dei sistemi RHEL direttamente in Active Directory tramite SSSD.
Nomi principali del servizio (SPN) per SQL Server
Prima di installare e configurare PBIRS, configura gli SPN necessari sul CORPNET dominio. Puoi usare un account con privilegi di Domain Admin, ma qualsiasi account con abbastanza permessi per creare SPN è sufficiente. Dopo aver creato gli SPN, configura gli account per l’uso della delega vincolata di Kerberos.
Questo scenario richiede i seguenti SPN minimi:
Da un prompt dei comandi con privilegi amministrativi, crea lo SPN per l'account di servizio di SQL Server in Linux. Questa istanza utilizza la porta predefinita 1433:
setspn -S MSSQLSvc/rhel8test:1433 CORPNET\linuxservice setspn -S MSSQLSvc/rhel8test.CORPNET.CONTOSO.COM:1433 CORPNET\linuxserviceI due SPN successivi sono destinati all'account del servizio Server di report di Power BI.
setspn -S HTTP/WIN22.CORPNET.CONTOSO.COM CORPNET\pbirsservice setspn -S HTTP/WIN22 CORPNET\pbirsservice
Per gestire i requisiti di Kerberos per inoltrare i ticket Kerberos quando si opera all'interno di un'implementazione di delega vincolata, si configura la delegazione utilizzando l'estensione di Microsoft allo standard MIT Kerberos, come specificato nell'RFC 4120, e si utilizza il Service for User to Proxy (S4U2proxy). Questo meccanismo consente al servizio PBIRS e al servizio SQL Server di ottenere ticket di servizio ad altri servizi specificati per conto di un utente.
Ad esempio, quando reportuser si autentica con l'interfaccia web del server PBIRS per visualizzare un report, il report viene eseguito e deve accedere ai dati di un'origine dati, ad esempio una tabella di SQL Server. Il servizio SQL Server deve ottenere il reportuser ticket di servizio Kerberos, che è stato concesso al server PBIRS durante l'autenticazione. L'estensione S4U2proxy fornisce la transizione necessaria al protocollo per passare le credenziali richieste senza inoltrare il ticket di concessione dei ticket (TGT) dell'utente o la chiave di sessione dell'utente.
Per ottenere questo risultato, concedere all'account di servizio PBIRS (pbirsservicein questo esempio) e all'account di servizio SQL Server (linuxservicein questo esempio) il diritto di Autenticazione Affidabile per la Delega nel dominio. Puoi concedere questo diritto in diversi modi (ad esempio, ADSI Edit o l'interfaccia di Computer and Users). Questo esempio utilizza un comando PowerShell elevato:
Ottenere l'account del servizio SQL Server e impostarlo per consentire la delega. Questo passaggio abilita non solo la delega Kerberos, ma anche la delega S4U2proxy (utilizzata per la transizione del protocollo) sull'account. I due cmdlet finali applicano l'autorità di delega a risorse specifiche nel dominio, i nomi SPN per l'istanza di SQL Server.
Get-ADUser -Identity linuxservice | Set-ADAccountControl -TrustedToAuthForDelegation $True Set-ADUser -Identity linuxservice -Add @{'msDS-AllowedToDelegateTo'=@('MSSQLSvc/rhel8test.CORPNET.CONTOSO.COM:1433')} Set-ADUser -Identity linuxservice -Add @{'msDS-AllowedToDelegateTo'=@('MSSQLSvc/rhel8test:1433')}Ottieni l'account del servizio Server di report di Power BI e impostalo per consentire la delega. Questo passaggio abilita non solo la delega Kerberos, ma anche la delega S4U2proxy (utilizzata per la transizione del protocollo) sull'account. I quattro
Set-ADUsercmdlet applicano l'autorità di delega a risorse specifiche nel dominio, gli SPN per il SQL Server e il server PBIRS.Get-ADUser -Identity pbirsservice | Set-ADAccountControl -TrustedToAuthForDelegation $True Set-ADUser -Identity pbirsservice -Add @{'msDS-AllowedToDelegateTo'=@('MSSQLSvc/rhel8test.CORPNET.CONTOSO.COM:1433')} Set-ADUser -Identity pbirsservice -Add @{'msDS-AllowedToDelegateTo'=@('MSSQLSvc/rhel8test:1433')} Set-ADUser -Identity pbirsservice -Add @{'msDS-AllowedToDelegateTo'=@('HTTP/Win22.CORPNET.CONTOSO.COM')} Set-ADUser -Identity pbirsservice -Add @{'msDS-AllowedToDelegateTo'=@('HTTP/Win22')}
Server di report di Power BI (PBIRS)
Installa PBIRS in modalità di sola configurazione.
Subito dopo l'installazione di PBIRS, è necessario configurarlo per supportare l'autenticazione Kerberos. PBIRS per impostazione predefinita supporta solo l'autenticazione NTLM. Durante l'installazione, aggiorna uno dei file di configurazione PBIRS, sia nell'interfaccia utente che tramite riga di comando, prima di completare la configurazione PBIRS. Se usi un'installazione PBIRS esistente, effettua le modifiche e riavvia il servizio PBIRS affinché le modifiche entrino in vigore. Il file di configurazione è rsreportserver.config. Si trova nel percorso dove è installato il PBIRS. Ad esempio, in un'installazione predefinita di PBIRS, il file si trova nel percorso seguente:
C:\Program Files\Microsoft SQL Server Reporting Services\SSRS\ReportServer\rsreportserver.config
Usa qualsiasi editor di testo per modificare questo file XML. Copia il file prima di modificarlo. Dopo aver aperto il file, cerca il AuthenticationTypes tag all'interno del documento XML e aggiungi gli RSWindowsNegotiate elementi e RSWindowsKerberos prima dell'elemento RSWindowsNTLM . Per esempio:
<Authentication>
<AuthenticationTypes>
<RSWindowsNegotiate/>
<RSWindowsKerberos/>
<RSWindowsNTLM/>
</AuthenticationTypes>
</Authentication>
Devi completare questo passaggio perché SQL Server in Linux supporta solo l'autenticazione SQL e Kerberos.
Note
Basta includere l'elementoRSWindowsKerberos, ma RSWindowsNegotiate è utile se vuoi standardizzare i file di configurazione PBIRS su una flotta di server che supportano una combinazione di istanze Windows e Linux SQL Server.
Configurazione dell'interfaccia utente PBIRS
Una volta che il servizio PBIRS è stato riavviato dopo aver completato le modifiche al file di configurazione, puoi procedere con le restanti opzioni di configurazione PBIRS, come impostare l'account del servizio basato su dominio e connetterti al SQL Server in Linux remoto.
L'account del servizio PBIRS deve essere visualizzato all'interno dell'istanza di SQL Server con autorizzazioni appropriate. È possibile verificare le autorizzazioni in SQL Server Management Studio (SSMS). In Esplora oggetti, passa a Sicurezza>Accessi, fai clic con il pulsante destro del mouse sull'account CORPNET\pbirsservice e seleziona Proprietà. Le autorizzazioni sono visibili nella pagina Mappatura utente.
Infine, aggiungi il reportuser link come login su SQL Server per scopi di test. In questo caso, hai scelto l'approccio semplice e hai aggiunto l'utente al ruolo di database fisso db_datareader all'interno di due database utente: AdventureWorks e AdventureWorksDW.
Dopo la distribuzione dei report
Se è necessario configurare le sottoscrizioni di report dopo la distribuzione dei report, è consigliabile configurare le credenziali incorporate nelle origini dati PBIRS. Tutte le opzioni delle credenziali funzionano correttamente, ad eccezione dell'uso di credenziali incorporate configurate con l'opzione impersona l'utente che visualizza il report . Questo passaggio ha esito negativo quando si usano le credenziali di Windows, a causa di una limitazione nell'implementazione di SQL Server su Linux che rende più difficile l'impersonificazione.