Mengonfigurasi autentikasi Windows di server laporan

Secara default, Reporting Services menerima permintaan yang menentukan autentikasi Negosiasi atau NTLM. Jika penyebaran Anda menyertakan aplikasi klien dan browser yang menggunakan penyedia keamanan ini, Anda dapat menggunakan nilai default tanpa konfigurasi lain. Katakanlah Anda ingin menggunakan penyedia keamanan yang berbeda untuk keamanan terintegrasi Windows, atau jika Anda mengubah nilai default dan ingin memulihkan pengaturan asli. Anda dapat menggunakan informasi dalam artikel ini untuk menentukan pengaturan autentikasi pada server laporan.

Untuk menggunakan keamanan terintegrasi Windows, setiap pengguna yang memerlukan akses ke server laporan harus memiliki akun pengguna lokal atau domain Windows yang valid. Atau, mereka harus menjadi anggota akun grup lokal atau domain Windows. Anda dapat menyertakan akun dari domain lain selama domain tersebut tepercaya. Akun harus memiliki akses ke komputer server laporan, dan kemudian harus ditetapkan ke peran untuk mendapatkan akses ke operasi server laporan tertentu.

Persyaratan berikut juga harus dipenuhi:

  • File RSReportServer.config harus diatur AuthenticationType ke RSWindowsNegotiate, , RSWindowsKerberosatau RSWindowsNTLM. Secara default, file RSReportServer.config menyertakan RSWindowsNegotiate pengaturan jika akun layanan Server Laporan adalah NetworkService atau LocalSystem; jika tidak, RSWindowsNTLM pengaturan digunakan. Anda dapat menambahkan RSWindowsKerberos jika Anda memiliki aplikasi yang hanya menggunakan autentikasi Kerberos.

    Penting

    Saat Anda menggunakan RSWindowsNegotiate, kesalahan autentikasi Kerberos terjadi jika Anda mengonfigurasi layanan Server Laporan untuk dijalankan di bawah akun pengguna domain dan Anda tidak mendaftarkan Nama Perwakilan Layanan (SPN) untuk akun tersebut. Untuk informasi selengkapnya, lihat Mengatasi kesalahan autentikasi Kerberos saat menyambungkan ke server laporan dalam topik ini.

  • ASP.NET harus dikonfigurasi untuk Autentikasi Windows. Secara default, file Web.config untuk layanan Web Server Laporan menyertakan <authentication mode="Windows"> pengaturan. Jika Anda mengubahnya menjadi <authentication mode="Forms">, Autentikasi Windows untuk Layanan Pelaporan gagal.

  • File Web.config untuk layanan Web Server Laporan harus memiliki <identity impersonate= "true" />.

  • Aplikasi atau browser klien harus mendukung keamanan terintegrasi Windows.

  • Portal web tidak memerlukan lebih banyak konfigurasi.

Untuk mengubah pengaturan autentikasi server laporan, edit elemen dan nilai XML di file RSReportServer.config. Anda dapat menyalin dan menempelkan contoh dalam artikel ini untuk menerapkan kombinasi tertentu.

Pengaturan default berfungsi paling baik jika semua komputer klien dan server berada di domain yang sama atau di domain tepercaya. Dan, server laporan disebarkan untuk akses intranet di belakang firewall perusahaan. Domain tepercaya dan tunggal adalah persyaratan untuk meneruskan kredensial Windows. Kredensial dapat diteruskan lebih dari satu kali jika Anda mengaktifkan protokol Kerberos versi 5 untuk server Anda. Jika tidak, kredensial hanya dapat diteruskan satu kali sebelum kedaluwarsa. Untuk informasi selengkapnya tentang mengonfigurasi kredensial untuk beberapa koneksi komputer, lihat Menentukan informasi kredensial dan koneksi untuk sumber data laporan.

Instruksi berikut ditujukan untuk server laporan mode asli. Jika server laporan disebarkan dalam mode terintegrasi SharePoint, Anda harus menggunakan pengaturan autentikasi default yang menentukan keamanan terintegrasi Windows. Server laporan menggunakan fitur internal dalam ekstensi Autentikasi Windows default untuk mendukung server laporan dalam mode terintegrasi SharePoint.

Perlindungan yang Diperluas untuk autentikasi

Dimulai dengan SQL Server 2008 R2 (10.50.x), dukungan untuk Extended Protection for Authentication tersedia. Fitur SQL Server mendukung penggunaan pengikatan saluran dan pengikatan layanan untuk meningkatkan perlindungan autentikasi. Fitur Reporting Services perlu digunakan dengan sistem operasi yang mendukung Extended Protection. Anda dapat menentukan konfigurasi Reporting Services untuk perlindungan yang diperluas dengan pengaturan tertentu dalam file RSReportServer.config. Anda dapat memperbarui file dengan mengedit file atau dengan menggunakan API WMI. Untuk informasi selengkapnya, lihat Perlindungan yang Diperluas untuk autentikasi dengan Reporting Services.

Mengonfigurasi server laporan untuk menggunakan keamanan terintegrasi Windows

  1. Buka RSReportServer.config di editor teks.

  2. Temukan <Authentication>.

  3. Salin salah satu struktur XML berikut yang paling sesuai dengan kebutuhan Anda. Anda dapat menentukan RSWindowsNegotiate, RSWindowsNTLM, dan RSWindowsKerberos dalam urutan apa pun. Anda harus mengaktifkan persistensi autentikasi jika Anda ingin mengautentikasi koneksi daripada setiap permintaan individual. Di bawah persistensi autentikasi, semua permintaan yang memerlukan autentikasi diizinkan selama koneksi.

    Struktur XML pertama adalah konfigurasi default saat akun layanan Server Laporan adalah NetworkService atau LocalSystem:

    <Authentication>
        <AuthenticationTypes>
            <RSWindowsNegotiate />
        </AuthenticationTypes>
        <EnableAuthPersistence>true</EnableAuthPersistence>
    </Authentication>
    

    Struktur XML kedua adalah konfigurasi default saat akun layanan Server Laporan bukan NetworkService atau LocalSystem:

    <Authentication>
        <AuthenticationTypes>
                <RSWindowsNTLM />
        </AuthenticationTypes>
        <EnableAuthPersistence>true</EnableAuthPersistence>
    </Authentication>
    

    Struktur XML ketiga menentukan semua paket keamanan yang digunakan dalam keamanan terintegrasi Windows:

    <AuthenticationTypes>
        <RSWindowsNegotiate />
        <RSWindowsKerberos />
        <RSWindowsNTLM />
    </AuthenticationTypes>
    

    Struktur XML keempat menentukan NTLM hanya untuk penyebaran yang tidak mendukung Kerberos atau untuk mengatasi kesalahan autentikasi Kerberos:

    <AuthenticationTypes>
        <RSWindowsNTLM />
    </AuthenticationTypes>
    
  4. Tempelkan di atas entri yang ada untuk <Authentication>.

    Anda tidak dapat menggunakan Custom dengan jenis.RSWindows

  5. Ubah pengaturan yang sesuai untuk perlindungan yang diperluas. Perlindungan yang diperluas dinonaktifkan secara default. Jika entri ini tidak ada, komputer saat ini mungkin tidak menjalankan versi Reporting Services yang mendukung perlindungan yang diperluas. Untuk informasi selengkapnya, lihat Perlindungan yang diperluas untuk autentikasi dengan Reporting Services

    <RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel>
    <RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario>
    
  6. Simpan file.

  7. Jika Anda mengonfigurasi penyebaran peluasan skala, ulangi langkah-langkah ini untuk server laporan lain dalam penyebaran.

  8. Mulai ulang server laporan untuk menghapus sesi apa pun yang saat ini terbuka.

Mengatasi kesalahan autentikasi Kerberos saat menyambungkan ke Server Laporan

Pada server laporan yang dikonfigurasi untuk autentikasi Negosiasi atau Kerberos, koneksi klien ke server laporan gagal jika ada kesalahan autentikasi Kerberos. Kesalahan autentikasi Kerberos diketahui terjadi ketika:

  • Layanan Server Laporan berjalan sebagai akun pengguna domain Windows dan Anda tidak mendaftarkan Nama Prinsipal Layanan (SPN) untuk akun tersebut.

  • Server laporan dikonfigurasi dengan RSWindowsNegotiate pengaturan .

  • Browser memilih Kerberos melalui NTLM di header autentikasi dalam permintaan yang dikirimnya ke server laporan.

Anda dapat mendeteksi kesalahan jika Mengaktifkan pengelogan Kerberos. Gejala lain dari kesalahan adalah Anda dimintai kredensial beberapa kali lalu melihat jendela browser kosong.

Anda dapat mengonfirmasi bahwa Anda mengalami kesalahan autentikasi Kerberos dengan menghapus <RSWindowsNegotiate> dari file konfigurasi Anda dan memasang ulang koneksi.

Setelah mengonfirmasi masalah, Anda dapat mengatasinya dengan cara berikut:

  • Daftarkan SPN untuk layanan Server Laporan di bawah akun pengguna domain. Untuk informasi selengkapnya, lihat Mendaftarkan Nama Perwakilan Layanan (SPN) untuk server laporan.

  • Ubah akun layanan untuk dijalankan di bawah akun bawaan seperti Layanan Jaringan. Akun bawaan memetakan HTTP SPN ke SPN Host, yang ditentukan ketika Anda bergabung dengan komputer ke jaringan Anda. Untuk informasi selengkapnya, lihat Mengonfigurasi akun layanan (Report Server Configuration Manager).

  • Gunakan NTLM. NTLM umumnya berfungsi dalam kasus di mana autentikasi Kerberos gagal. Untuk menggunakan NTLM, hapus RSWindowsNegotiate dari file RSReportServer.config dan verifikasi bahwa hanya RSWindowsNTLM ditentukan. Jika Anda memilih pendekatan ini, Anda dapat terus menggunakan akun pengguna domain untuk layanan Server Laporan meskipun Anda tidak menentukan SPN untuk itu.

Untuk meringkas, Anda harus menjalankan perintah yang mirip dengan contoh berikut. Ganti nilai yang sesuai.

setspn -S HTTP/<SSRS Server FDQN> <SSRS Service Account>
setspn -S HTTP/<host header for Report server web site> <SSRS Service Account>
setspn -S HTTP/<SharePoint Server FDQN> <SharePoint Application Pool Account>
setspn -S HTTP/<host header for SharePoint site>  <SharePoint Application Pool Account>
setspn -S HTTP/Dummy <Claims to Windows Taken Service Account>

Informasi log

Ada beberapa sumber informasi pengelogan yang dapat membantu mengatasi masalah terkait Kerberos.

Atribut User-Account-Control

Tentukan apakah akun layanan Reporting Services memiliki atribut yang memadai yang ditetapkan di Direktori Aktif. Tinjau file log jejak layanan Reporting Services untuk menemukan nilai yang dicatat untuk atribut UserAccountControl. Nilai yang dicatat dalam bentuk desimal. Anda perlu mengonversi nilai desimal ke bentuk heksadesimal lalu menemukan nilai tersebut dalam artikel MSDN yang menjelaskan Atribut Kontrol Akun Pengguna.

  • Entri log jejak layanan Reporting Services terlihat mirip dengan contoh berikut:

    appdomainmanager!DefaultDomain!8f8!01/14/2010-14:42:28:: i INFO: The UserAccountControl value for the service account is 590336
    
  • Salah satu opsi untuk mengonversi nilai Nilai desimal ke bentuk heksadesimal adalah kepada kami Kalkulator Microsoft Windows. Kalkulator Windows mendukung beberapa mode yang memperlihatkan Dec opsi dan Hex opsi. Dec Pilih opsi, tempel atau ketik nilai desimal yang Anda temukan di file log lalu pilih opsi 'Hex'.

  • Kemudian lihat artikel Atribut Kontrol Akun Pengguna untuk mendapatkan atribut untuk akun layanan.

SPN yang dikonfigurasi di Direktori Aktif untuk akun layanan Reporting Services

Untuk mencatat SPN di file log pelacakan layanan Reporting Services, Anda dapat mengaktifkan fitur Perlindungan Yang Diperluas Reporting Services untuk sementara.

  • Ubah file konfigurasi rsreportserver.config dengan mengatur berikut:

    <RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel>
    <RSWindowsExtendedProtectionScenario>Any</RSWindowsExtendedProtectionScenario>
    
  • Mulai ulang layanan Reporting Services.

Jika Anda tidak ingin terus menggunakan Extended Protection, atur kembali nilai konfigurasi ke default dan mulai ulang akun Reporting Services Service.

<RSWindowsExtendedProtectionLevel>Off</RSWindowsExtendedProtectionLevel>
<RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario>

Untuk informasi selengkapnya, lihat Perlindungan yang Diperluas untuk autentikasi dengan Reporting Services.

Bagaimana browser memilih Kerberos yang Dinegosiasikan atau NTLM yang Dinegosiasikan

Ketika Anda menggunakan Internet Explorer untuk menyambungkan ke server laporan, internet menentukan Kerberos atau NTLM yang Dinegosiasikan pada header autentikasi. NTLM digunakan alih-alih Kerberos ketika:

  • Permintaan dikirim ke server laporan lokal.

  • Permintaan dikirim ke alamat IP komputer server laporan daripada header host atau nama server.

  • Perangkat lunak firewall memblokir port yang digunakan untuk autentikasi Kerberos.

  • Sistem operasi server tertentu tidak mengaktifkan Kerberos.

  • Domain ini mencakup versi lama klien Windows dan sistem operasi server yang tidak mendukung fitur autentikasi Kerberos yang dibangun ke dalam versi sistem operasi yang lebih baru.

Selain itu, Internet Explorer mungkin memilih Kerberos atau NTLM yang dinegosiasikan tergantung pada bagaimana Anda mengonfigurasi pengaturan URL, LAN, dan proksi.

MELAPORKAN URL server

Jika URL menyertakan nama domain yang sepenuhnya memenuhi syarat, Internet Explorer memilih NTLM. Jika URL menentukan localhost, Internet Explorer memilih NTLM. Jika URL menentukan nama jaringan komputer, Internet Explorer memilih Negosiasi, yang berhasil atau gagal, tergantung pada apakah SPN ada untuk akun layanan Server Laporan.

Pengaturan LAN dan proksi pada klien

PENGATURAN LAN dan proksi yang Anda atur di Internet Explorer dapat menentukan apakah NTLM dipilih melalui Kerberos. Namun, karena pengaturan LAN dan proksi bervariasi di seluruh organisasi, tidak dimungkinkan untuk menentukan pengaturan yang tepat yang berkontribusi pada kesalahan autentikasi Kerberos. Misalnya, organisasi Anda mungkin memberlakukan pengaturan proksi yang mengubah URL dari URL intranet menjadi URL nama domain yang sepenuhnya memenuhi syarat yang diselesaikan melalui koneksi Internet. Jika penyedia autentikasi yang berbeda digunakan untuk berbagai jenis URL, Anda mungkin menemukan bahwa beberapa koneksi berhasil ketika Anda mengharapkannya gagal.

Anda mungkin mengalami kesalahan koneksi yang menurut Anda disebabkan oleh kegagalan autentikasi. Jika demikian, Anda dapat mencoba kombinasi lan dan pengaturan proksi yang berbeda untuk mengisolasi masalah. Di Internet Explorer, pengaturan LAN dan proksi ada di kotak dialog Pengaturan Jaringan Area Lokal (LAN), yang Anda buka dengan memilih pengaturan LAN pada tab Koneksi opsi Internet.

Informasi tambahan untuk Kerberos dan server laporan