Bagikan melalui


Bergabung dengan SQL Server pada host Linux ke domain Direktori Aktif

Berlaku untuk: SQL Server - 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 bergabung dengan komputer ke domain saat 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 pengendali domain juga harus diselesaikan ke FQDN pengontrol domain:

ping contoso
ping contoso.com
ping dc1.contoso.com
nslookup <IP address of dc1.contoso.com>

Tip

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 contoso.com dan alamat IP Direktori Aktif adalah 10.0.0.4, /etc/resolv.conf harus disiapkan untuk memastikan resolusi nama yang berhasil dari host.

cat /etc/resolv.conf

Berikut set hasilnya.

# Generated by NetworkManager
search contoso.com com
nameserver 10.0.0.4

RHEL 7.x

  1. /etc/sysconfig/network-scripts/ifcfg-eth0 Edit file, sehingga domain Direktori Aktif Anda berada di daftar pencarian domain. Atau edit file konfigurasi antarmuka lain yang sesuai:

    sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
    

    Konten akan terlihat mirip dengan contoh berikut:

    PEERDNS=no
    DNS1=<Domain controller IP address>
    DOMAIN="contoso.com com"
    
  2. Setelah mengedit file ini, mulai ulang layanan jaringan:

    sudo systemctl restart network
    
  3. Sekarang periksa apakah file Anda /etc/resolv.conf berisi baris seperti contoh berikut:

    sudo vi /etc/resolv.conf
    

    Konten akan terlihat mirip dengan contoh berikut:

    search contoso.com com
    nameserver <Domain controller IP address>
    
  4. 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/hosts
    

    Konten 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 bergabung dengan host Linux ke pengontrol domain Direktori Aktif.

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 Bergabung dengan AD menggunakan realmd di SUSE Linux Enterprise Server 15
Ubuntu Cara menyiapkan SSSD dengan Direktori Aktif

Gunakan langkah-langkah berikut untuk menggabungkan host SQL Server ke domain Direktori Aktif:

  1. 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:

    RHEL:

    sudo yum install realmd krb5-workstation
    

  1. Jika penginstalan paket klien Kerberos meminta nama realm, masukkan nama domain Anda dalam huruf besar.

  2. Setelah Anda mengonfirmasi bahwa DNS Anda dikonfigurasi dengan benar, gabungkan domain dengan menjalankan perintah berikut. Anda harus mengautentikasi menggunakan akun Direktori Aktif yang memiliki hak istimewa yang memadai di Direktori Aktif untuk bergabung dengan komputer baru ke domain. Perintah ini membuat akun komputer baru di Direktori Aktif, membuat /etc/krb5.keytab file 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.com
    

    Setelah Anda menjalankan perintah ini, file Anda /etc/hostname harus berisi <old hostname>.contoso.com.

    sudo realm join contoso.com -U 'user@CONTOSO.COM' -v
    

    Anda akan 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 installed Instal paket tersebut menggunakan manajer paket distribusi Linux Anda sebelum menjalankan perintah realm join lagi.
    Insufficient permissions to join the domain Tanyakan kepada administrator domain bahwa Anda memiliki izin yang memadai untuk bergabung dengan komputer Linux ke domain Anda.
    KDC reply did not match expectations Anda mungkin belum menentukan nama realm yang benar untuk pengguna. Nama realm peka huruf besar/kecil, biasanya huruf besar, dan dapat diidentifikasi dengan realm perintah yang ditemukan 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.

  3. 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.COM
    

    Jika id user\@contoso.com mengembalikan, No such user, pastikan bahwa layanan SSSD berhasil dimulai dengan menjalankan perintah sudo systemctl status sssd. Jika layanan berjalan dan Anda masih melihat kesalahan, coba aktifkan pengelogan verbose untuk SSSD. Untuk informasi selengkapnya, lihat dokumentasi Red Hat untuk Pemecahan Masalah SSSD.

    Jika kinit user\@CONTOSO.COM mengembalikan, 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 meminta Direktori Aktif menggunakan panggilan pustaka OpenLDAP langsung dalam penyiapan 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

Silakan lihat rekomendasi untuk menggunakan mssql-conf network.disablesssd opsi konfigurasi di bagian Opsi konfigurasi tambahan di artikel Menggunakan autentikasi Direktori Aktif dengan SQL Server di Linux.

Verifikasi bahwa Anda /etc/krb5.conf 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>

Output perintah ini harus mirip <reversed IP address>.in-addr.arpa domain name pointer SqlHost.contoso.comdengan . 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.