Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: Linux
SQL Server Reporting Services'da SQL Server 2019 (15.x) ve sonraki sürümleri (2019 ve sonraki sürümler)
Bu makale, Linux üzerinde SQL Server için Power BI Rapor Sunucusu (PBIRS) katalog veritabanlarının nasıl kurulacağını ve yapılandırılacağını açıklar.
Prerequisites
Bu makalede, örneklerde etki alanı CORPNET.CONTOSO.COMve aşağıdaki yapılandırma kullanılır.
Makineleri yapılandırma
| Makine | İşletim Sistemi | Details |
|---|---|---|
| Windows etki alanı denetleyicisi | Windows Server 2019 veya Windows Server 2022 | |
Rapor geliştirme ve dağıtım (WIN19) |
Visual Studio 2019 çalıştıran Windows Server 2019 | - Rapor geliştirme ve dağıtım - Talep temelli veya zamanlanmış rapor çıktısı için depo görevi görecek dosya paylaşımı hizmetleri |
Power BI Rapor Sunucusu (WIN22) |
Windows Server 2022, desteklenen Power BI Rapor Sunucusu (PBIRS) sürümünü çalıştırıyor | |
| Geliştirici bilgisayarı | SQL Server Management Studio (SSMS) çalıştıran Windows 11 istemcisi | |
SQL Server 2019 (rhel8test) |
Red Hat Enterprise Linux (RHEL) 8.x Sunucusu, SQL Server 2019 (15.x) ile en son kümülatif güncelleme (CU) ile çalışıyor |
Hesapları yapılandırma
| Hesap adı | Details |
|---|---|
CORPNET\cluadmin |
Genel kullanıcı hesabı. Etki alanı denetleyicisi dışındaki tüm Windows sunucularında Yerel Yönetici hesabı. |
CORPNET\pbirsservice |
PBIRS hizmet hesabı |
CORPNET\linuxservice |
SQL Server hizmet hesabı (yalnızca Linux üzerinde SQL Server ortamı için oluşturulur) |
CORPNET\reportuser |
PBIRS normal kullanıcısının benzetimini yapmak için kullanılan genel kullanıcı hesabı |
Bu örnek senaryo, Kerberos delegasyonunun düzgün çalışmasını sağlamak için ayrı sunucular ve ayrı hesaplar kullanır (yani, çift atlama senaryolarını yönetir).
Linux üzerinde SQL Server yapılandırması
PBIRS'i, Report Server katalog veritabanlarını barındıran arka uç olarak Linux üzerinde çalışan SQL Server'ı kullanacak şekilde yapılandırmadan (veya yeniden yapılandırmadan) önce, Linux üzerindeki SQL Server örneğinin etki alanına katılmış olduğundan emin olun.
Alan adını kurmak, yapılandırmak adutil ve katılmak için Tutorial'daki talimatları izleyin: Linux üzerinde SQL Server ile Active Directory doğrulamasını yapılandırmak için adutil kullanın.
Note
RHEL 8'de belirli paketler hakkında bilgi için bkz. SSSD kullanarak RHEL sistemlerini doğrudan AD'ye bağlama.
SQL Server hizmet asıl adları (SPN'ler)
PBIRS'i kurup yapılandırmadan önce, alan üzerinde CORPNET gerekli SPN'leri yapılandırın. Alan Adı Yöneticisi ayrıcalıklarına sahip bir hesap kullanabilirsiniz, ancak SPN oluşturacak kadar izni olan herhangi bir hesap yeterlidir. SPN'leri oluşturduktan sonra, hesapları Kerberos kısıtlı delegasyonunu kullanacak şekilde yapılandırın.
Bu senaryo aşağıdaki minimum SPN'leri gerektirir:
Yönetici komut isteğinden, Linux üzerinde SQL Server servis hesabı için SPN oluşturun. Bu örnek, varsayılan 1433 portunu kullanır:
setspn -S MSSQLSvc/rhel8test:1433 CORPNET\linuxservice setspn -S MSSQLSvc/rhel8test.CORPNET.CONTOSO.COM:1433 CORPNET\linuxserviceSonraki iki SPN, Power BI Rapor Sunucusu hizmet hesabı içindir.
setspn -S HTTP/WIN22.CORPNET.CONTOSO.COM CORPNET\pbirsservice setspn -S HTTP/WIN22 CORPNET\pbirsservice
Kısıtlı temsilci devri uygulaması içinde çalışırken Kerberos biletlerinin iletilmesine yönelik Kerberos gereksinimlerini karşılamak için, temsilci devrini RFC 4120'de belirtildiği gibi Microsoft'un MIT Kerberos standardına yönelik uzantısını kullanarak yapılandırır ve Service for User to Proxy (S4U2proxy) özelliğini kullanırsınız. Bu mekanizma, PBIRS servisi ve SQL Server hizmetinin, bir kullanıcı adına diğer belirlenmiş hizmetlere hizmet biletleri almasını sağlar.
Örneğin, raporu reportuser görüntülemek için PBIRS sunucusunun web arayüzüyle kimlik doğrulaması yapıldığında, rapor çalışır ve SQL Server tablosu gibi bir veri kaynağından verilere erişmek zorundadır. SQL Server servisi, kimlik doğrulama sırasında PBIRS sunucusuna verilen Kerberos servis biletini almalıdırreportuser. S4U2proxy uzantısı, kullanıcının bilet veren bileti (TGT) veya oturum anahtarı iletilmeden gerekli kimlik bilgilerini aktarmak için gerekli protokol geçişini sağlar.
Bu sonuca ulaşmak için, etki alanında PBIRS hizmet hesabına (bu örnekte pbirsservice) ve SQL Server hizmet hesabına (bu örnekte linuxservice) Temsil için kimlik doğrulaması yapma konusunda güvenilir hakkını verin. Bu hakkı birden fazla şekilde verebilirsiniz (örneğin, ADSI Edit veya Bilgisayar ve Kullanıcılar arayüzü). Bu örnek, yükseltilmiş bir PowerShell komutu kullanır:
SQL Server hizmet hesabını alın ve temsilci seçmeye izin verecek şekilde ayarlayın. Bu adım yalnızca Kerberos temsilcisini değil, hesapta S4U2proxy (protokol geçişi için) temsilini de etkinleştirir. Son iki cmdlet, temsilci yetkilisini etki alanındaki belirli kaynaklara (SQL Server örneğinin SPN'leri) uygular.
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')}Power BI Rapor Sunucusu hizmet hesabını alın ve temsilci seçmeye izin verecek şekilde ayarlayın. Bu adım yalnızca Kerberos temsilcisini değil, hesapta S4U2proxy (protokol geçişi için) temsilini de etkinleştirir. Dört
Set-ADUsercmdlet, devretme yetkisini alan içindeki belirli kaynaklara, SQL Server ve PBIRS sunucusu için SPN'lere uygular.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')}
Power BI Rapor Sunucusu (PBIRS)
PBIRS'i sadece yapılandırma modunda kurun.
PBIRS'yi yükledikten hemen sonra, Kerberos kimlik doğrulamasını destekleyecek şekilde yapılandırmanız gerekir. PBIRS varsayılan olarak yalnızca NTLM kimlik doğrulamasını destekler. Kurulum sırasında, PBIRS yapılandırmasını tamamlamadan önce arayüzde veya komut satırı üzerinden PBIRS yapılandırma dosyalarından birini güncellebilirsiniz. Mevcut bir PBIRS kurulumunu kullanıyorsanız, değişikliklerin yürürlüğe girmesi için düzenlemeleri yapın ve PBIRS servisini yeniden başlatın. Yapılandırma dosyası ise rsreportserver.config. PBIRS'in kurulu olduğu yoldadır. Örneğin, PBIRS'nin varsayılan yüklemesinde dosya aşağıdaki konumdadır:
C:\Program Files\Microsoft SQL Server Reporting Services\SSRS\ReportServer\rsreportserver.config
Bu XML dosyasını düzenlemek için herhangi bir metin düzenleyiciyi kullanın. Dosyayı düzenlemeden önce kopyalayın. Dosyayı açtıktan sonra, XML belgesi içinde AuthenticationTypes etiketini arayın ve RSWindowsNTLM ile RSWindowsKerberos öğelerini RSWindowsNegotiate öğesinden önce ekleyin. Örneğin:
<Authentication>
<AuthenticationTypes>
<RSWindowsNegotiate/>
<RSWindowsKerberos/>
<RSWindowsNTLM/>
</AuthenticationTypes>
</Authentication>
Bu adımı tamamlamalısınız çünkü Linux üzerinde SQL Server yalnızca SQL ve Kerberos kimlik doğrulamasını destekliyor.
Note
Sadece öğeyi RSWindowsKerberos eklemeniz yeterli, ancak RSWindowsNegotiate Windows ve Linux SQL Server örneklerini destekleyen bir sunucu filosu arasında PBIRS yapılandırma dosyalarını standartlaştırmak istiyorsanız faydalıdır.
PBIRS kullanıcı arabirimi yapılandırması
Yapılandırma dosyası düzenlemeleri tamamlandıktan sonra PBIRS servisi yeniden başlatıldıktan sonra, alan tabanlı hizmet hesabını ayarlamak ve uzak Linux üzerinde SQL Server örneğine bağlanmak gibi kalan PBIRS yapılandırma seçenekleriyle devam edebilirsiniz.
PBIRS hizmet hesabı uygun izinlere sahip SQL Server örneğinde görünmelidir. SQL Server Management Studio'da (SSMS) izinleri denetleyebilirsiniz. Nesne Gezgini'da Güvenlik>Girişleri'ne gidin, hesaba CORPNET\pbirsservice sağ tıklayın ve Özellikler'i seçin. İzinler Kullanıcı Eşlemesi sayfasında görünür.
Son olarak, reportuser test amaçlı SQL Server'a giriş olarak ekleyin. Bu durumda, basit bir yaklaşımı seçtiniz ve kullanıcıyı iki kullanıcı veritabanı içinde db_datareader sabit veritabanı rolüne eklediniz: AdventureWorks ve AdventureWorksDW.
Raporlar yayınlandıktan sonra
Raporlar dağıtıldıktan sonra rapor aboneliklerini ayarlamanız gerekiyorsa, PBIRS veri kaynaklarında katıştırılmış kimlik bilgilerini yapılandırmak iyi bir uygulamadır. raporu görüntüleyen kullanıcının kimliğine bürünme seçeneği ile yapılandırılmış katıştırılmış kimlik bilgilerinin kullanımı hariç tüm kimlik bilgisi seçenekleri düzgün çalışır. Linux üzerinde SQL Server uygulamasında kimliğe bürünme işlemini zorlaştıran bir sınırlama nedeniyle Windows kimlik bilgileri kullanılırken bu adım başarısız olur.