Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server di Linux
Artikel ini menyediakan panduan umum tentang cara menggabungkan komputer host SQL Server Linux ke domain Direktori Aktif. Ada dua metode: gunakan paket SSSD bawaan, atau gunakan penyedia Direktori Aktif pihak ketiga. Contoh produk gabungan domain pihak ketiga adalah PowerBroker Identity Services (PBIS), One Identity, dan Centrify.
Panduan ini mencakup langkah-langkah untuk memeriksa konfigurasi Direktori Aktif Anda. Namun, ini tidak dimaksudkan untuk memberikan instruksi tentang cara menghubungkan mesin ke domain menggunakan utilitas pihak ketiga.
Catatan
Untuk informasi tentang mengonfigurasi Direktori Aktif dengan versi Ubuntu, RHEL, atau SLES yang lebih baru, lihat Tutorial: Menggunakan adutil untuk mengonfigurasi autentikasi Direktori Aktif dengan SQL Server di Linux.
Prasyarat
Sebelum mengonfigurasi autentikasi Direktori Aktif, Anda perlu menyiapkan pengendali domain Active Directory, Windows, di jaringan Anda. Kemudian gabungkan SQL Server Anda di host Linux ke domain Direktori Aktif.
Langkah-langkah sampel yang dijelaskan dalam artikel ini hanya untuk panduan dan lihat sistem operasi Ubuntu 16.04, Red Hat Enterprise Linux (RHEL) 7.x, dan SUSE Linux Enterprise Server (SLES) 12. Langkah-langkah aktual mungkin sedikit berbeda di lingkungan Anda tergantung pada bagaimana lingkungan Keseluruhan Anda dikonfigurasi dan versi sistem operasi. Misalnya, Ubuntu 18.04 menggunakan netplan sementara Red Hat Enterprise Linux (RHEL) 8.x menggunakan nmcli di antara alat lain untuk mengelola dan mengonfigurasi jaringan. Anda harus melibatkan administrator sistem dan domain untuk lingkungan Anda untuk alat, konfigurasi, penyesuaian, dan pemecahan masalah tertentu yang diperlukan.
Reverse DNS (rDNS)
Ketika Anda menyiapkan komputer yang menjalankan Windows Server sebagai pengendali domain, Anda mungkin tidak memiliki zona rDNS secara default. Pastikan bahwa zona rDNS yang berlaku ada untuk pengontrol domain dan alamat IP komputer Linux yang akan menjalankan SQL Server.
Pastikan juga bahwa catatan PTR yang menunjuk ke pengendali domain Anda ada.
Memeriksa koneksi ke pengendali domain
Periksa apakah Anda dapat menghubungi pengendali domain dengan menggunakan nama domain yang pendek dan sepenuhnya memenuhi syarat, dan dengan menggunakan nama host pengendali domain. IP pengontrol domain juga harus diresolusikan ke FQDN pengontrol domain.
ping contoso
ping contoso.com
ping dc1.contoso.com
nslookup <IP address of dc1.contoso.com>
Tips
Tutorial ini menggunakan contoso.com dan CONTOSO.COM sebagai contoh nama domain dan realm, masing-masing. Ini juga menggunakan DC1.CONTOSO.COM sebagai contoh nama domain yang sepenuhnya memenuhi syarat dari pengendali domain. Anda harus mengganti nama-nama ini dengan nilai Anda sendiri.
Untuk memastikan resolusi nama domain yang tepat, sangat penting untuk memperbarui /etc/resolv.conf file jika ada perbedaan yang ditemukan selama pemeriksaan nama. Prosedur pembaruan bervariasi di seluruh distribusi; oleh karena itu, berkonsultasi dengan dokumentasi resmi disarankan untuk panduan yang akurat. Daftar berikut ini menyediakan tautan untuk beberapa distribusi dan versi kuncinya:
| Distribusi | Artikel referensi |
|---|---|
| RHEL 8 | Mengonfigurasi /etc/resolv.conf secara manual |
| RHEL 9 | Mengonfigurasi /etc/resolv.conf secara manual |
| SLES 15 | pengaturan NETCONFIG_DNS_STATIC_SEARCHLIST dan NETCONFIG_DNS_STATIC_SERVERS |
| Ubuntu | Bagian Resolusi Nama |
Tujuannya adalah untuk mengonfigurasi /etc/resolv.conf distribusi Anda dengan benar untuk memfasilitasi resolusi nama domain. Misalnya, jika domain Anda adalah contoso.com dan alamat IP Active Directory adalah 10.0.0.4, /etc/resolv.conf harus dikonfigurasi dengan benar untuk memastikan resolusi nama yang berhasil dari host.
cat /etc/resolv.conf
Berikut hasilnya.
# Generated by NetworkManager
search contoso.com com
nameserver 10.0.0.4
RHEL 7.x
Editlah file
/etc/sysconfig/network-scripts/ifcfg-eth0, sehingga domain Active Directory Anda berada di daftar pencarian domain. Atau edit file konfigurasi antarmuka lain yang sesuai:sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0Konten akan terlihat mirip dengan contoh berikut:
PEERDNS=no DNS1=<Domain controller IP address> DOMAIN="contoso.com com"Setelah mengedit file ini, mulai ulang layanan jaringan:
sudo systemctl restart networkSekarang periksa apakah file Anda
/etc/resolv.confberisi baris seperti contoh berikut:sudo vi /etc/resolv.confKonten akan terlihat mirip dengan contoh berikut:
search contoso.com com nameserver <Domain controller IP address>Jika Anda masih tidak dapat melakukan ping pada pengendali domain, temukan nama domain dan alamat IP pengontrol domain yang sepenuhnya memenuhi syarat. Contoh nama domain adalah
DC1.CONTOSO.COM. Tambahkan entri berikut ke/etc/hosts:sudo vi /etc/hostsKonten akan terlihat mirip dengan contoh berikut:
<IP address> DC1.CONTOSO.COM CONTOSO.COM CONTOSO
Bergabung ke domain Direktori Aktif
Setelah konfigurasi dasar dan konektivitas dengan pengendali domain diverifikasi, ada dua opsi untuk bergabung dengan komputer host Linux SQL Server dengan pengontrol domain Direktori Aktif:
Opsi 1: Gunakan paket SSSD untuk bergabung dengan domain Direktori Aktif
Metode ini menggabungkan host SQL Server ke domain Direktori Aktif menggunakan paket realmd dan sssd .
Ini adalah metode yang disukai untuk menyambungkan host Linux ke pengontrol domain Active Directory.
Untuk petunjuk terbaru, lihat dokumentasi resmi yang disediakan oleh mitra distribusi.
| Distribusi | Artikel referensi |
|---|---|
| RHEL 8 | Menemukan dan menggabungkan Domain AD menggunakan SSSD |
| RHEL 9 | Menemukan dan menggabungkan Domain AD menggunakan SSSD |
| SLES | Memasukkan ke dalam Active Directory dengan menggunakan keanggotaan domain Windows |
| Ubuntu | Cara menyiapkan SSSD dengan Direktori Aktif |
Gunakan langkah-langkah berikut untuk menggabungkan host SQL Server ke domain Direktori Aktif:
Gunakan realmd untuk menggabungkan komputer host Anda ke Domain Direktori Aktif Anda. Anda harus terlebih dahulu menginstal paket klien realmd dan Kerberos pada komputer host SQL Server menggunakan manajer paket distribusi Linux Anda:
Jika penginstalan paket klien Kerberos meminta nama realm, masukkan nama domain Anda dengan menggunakan huruf kapital.
Setelah Anda mengonfirmasi bahwa DNS Anda dikonfigurasi dengan benar, gabungkan domain dengan menjalankan perintah berikut. Anda harus mengautentikasi menggunakan akun Active Directory yang memiliki hak istimewa yang memadai di Active Directory untuk menambahkan komputer baru ke domain. Perintah ini membuat akun komputer baru di Direktori Aktif, membuat
/etc/krb5.keytabfile keytab host, mengonfigurasi domain di/etc/sssd/sssd.conf, dan memperbarui/etc/krb5.conf.Karena masalah dengan realmd, pertama-tama atur nama host komputer ke FQDN alih-alih ke nama komputer. Jika tidak, realmd mungkin tidak membuat semua SPN yang diperlukan untuk komputer dan entri DNS tidak akan diperbarui secara otomatis, bahkan jika pengendali domain Anda mendukung pembaruan DNS dinamis.
sudo hostname <old hostname>.contoso.comSetelah Anda menjalankan perintah ini, file Anda
/etc/hostnameharus berisi<old hostname>.contoso.com.sudo realm join contoso.com -U 'user@CONTOSO.COM' -vSeharusnya Anda melihat pesan,
Successfully enrolled machine in realm.Tabel berikut ini mencantumkan beberapa pesan kesalahan yang bisa Anda terima dan saran untuk menyelesaikannya:
Pesan Kesalahan Rekomendasi Necessary packages are not installedInstal paket tersebut menggunakan manajer paket distribusi Linux Anda sebelum menjalankan perintah realm join lagi. Insufficient permissions to join the domainTanyakan kepada administrator domain bahwa Anda memiliki izin yang memadai untuk bergabung dengan komputer Linux ke domain Anda. KDC reply did not match expectationsAnda mungkin belum menentukan nama realm yang benar untuk pengguna. Nama realm bersifat peka terhadap huruf besar/kecil, biasanya menggunakan huruf besar, dan dapat diidentifikasi dengan perintah realm discover contoso.com. SQL Server menggunakan SSSD dan NSS untuk memetakan akun pengguna dan grup ke pengidentifikasi keamanan (SID). SSSD harus dikonfigurasi dan berjalan untuk SQL Server agar berhasil membuat login Direktori Aktif. realmd biasanya melakukan ini secara otomatis sebagai bagian dari bergabung dengan domain, tetapi dalam beberapa kasus, Anda harus melakukan ini secara terpisah.
Untuk informasi selengkapnya, lihat cara mengonfigurasi SSSD secara manual, dan mengonfigurasi NSS untuk bekerja dengan SSSD.
Verifikasi bahwa Anda sekarang dapat mengumpulkan informasi tentang pengguna dari domain, dan bahwa Anda dapat memperoleh tiket Kerberos sebagai pengguna tersebut. Contoh berikut menggunakan perintah id, kinit, dan klist untuk ini.
id user@contoso.com uid=1348601103(user@contoso.com) gid=1348600513(domain group@contoso.com) groups=1348600513(domain group@contoso.com) kinit user@CONTOSO.COM Password for user@CONTOSO.COM: klist Ticket cache: FILE:/tmp/krb5cc_1000 Default principal: user@CONTOSO.COMJika
id user\@contoso.commengembalikan,No such user, pastikan bahwa layanan SSSD berhasil dimulai dengan menjalankan perintahsudo systemctl status sssd. Jika layanan berjalan dan Anda masih melihat kesalahan, coba mengaktifkan verbose logging untuk SSSD. Untuk informasi selengkapnya, lihat dokumentasi Red Hat untuk Pemecahan Masalah SSSD.Jika
kinit user\@CONTOSO.COMmengembalikan,KDC reply didn't match expectations while getting initial credentials, pastikan Anda menentukan realm dalam huruf besar.
Untuk informasi selengkapnya, lihat dokumentasi Red Hat untuk Menemukan dan Bergabung dengan Domain Identitas.
Opsi 2: Gunakan utilitas penyedia OpenLDAP pihak ketiga
Anda dapat menggunakan utilitas pihak ketiga seperti PBIS, VAS, atau Centrify. Artikel ini tidak mencakup langkah-langkah untuk setiap utilitas individu. Anda harus terlebih dahulu menggunakan salah satu utilitas ini untuk bergabung dengan host Linux untuk SQL Server ke domain sebelum melanjutkan.
SQL Server tidak menggunakan kode atau pustaka integrator pihak ketiga untuk kueri terkait Direktori Aktif apa pun. SQL Server selalu melakukan query ke Active Directory menggunakan panggilan pustaka OpenLDAP secara langsung dalam pengaturan ini. Integrator pihak ketiga hanya digunakan untuk bergabung dengan host Linux ke domain Direktori Aktif, dan SQL Server tidak memiliki komunikasi langsung dengan utilitas ini.
Penting
Lihat rekomendasi untuk menggunakan opsi konfigurasi mssql-conf network.disablesssd di bagian Opsi konfigurasi tambahan di artikel Menggunakan autentikasi Direktori Aktif dengan SQL Server di Linux.
Pastikan bahwa /etc/krb5.conf Anda dikonfigurasi dengan benar. Untuk sebagian besar penyedia Direktori Aktif pihak ketiga, konfigurasi ini dilakukan secara otomatis. Namun, periksa /etc/krb5.conf nilai berikut untuk mencegah masalah di masa mendatang:
sudo vi /etc/krb5.conf
Konten akan terlihat mirip dengan contoh berikut:
[libdefaults]
default_realm = CONTOSO.COM
[realms]
CONTOSO.COM = {
}
[domain_realm]
contoso.com = CONTOSO.COM
.contoso.com = CONTOSO.COM
Periksa apakah DNS terbalik dikonfigurasi dengan benar
Perintah berikut harus mengembalikan nama domain yang sepenuhnya memenuhi syarat (FQDN) dari host yang menjalankan SQL Server. Contohnya SqlHost.contoso.com.
host <IP address of SQL Server host>
Hasil dari perintah ini harus mirip dengan <reversed IP address>.in-addr.arpa domain name pointer SqlHost.contoso.com. Jika perintah ini tidak mengembalikan FQDN host Anda, atau jika FQDN salah, tambahkan entri DNS terbalik untuk SQL Server Anda di host Linux ke server DNS Anda.
Langkah selanjutnya
Dalam artikel ini, Anda membahas cara mengonfigurasi SQL Server pada komputer host Linux dengan Autentikasi Direktori Aktif. Untuk menyelesaikan konfigurasi SQL Server di Linux untuk mendukung akun Direktori Aktif, ikuti instruksi berikut.