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
Berdasarkan praktik terbaik keamanan organisasi Anda, Anda mungkin diharuskan memutar kata sandi secara teratur untuk akun Windows Active Directory yang disediakan seperti network.privilegedadaccount di mssql.conf, atau akun lain yang memiliki nama perwakilan layanan (SPN) untuk layanan SQL Server. Metode yang didukung untuk mengubah kata sandi untuk akun didokumenkan dalam artikel ini. Perubahan kata sandi berlaku tanpa perlu menghidupkan ulang layanan SQL Server di Linux.
Alat adutil digunakan untuk memperbarui keytab. Perintah adutil harus dijalankan dari komputer yang bergabung dengan domain. Untuk informasi selengkapnya tentang adutil dan cara mengunduh alat, lihat Pengantar utilitas adutil - Direktori Aktif.
Sangat penting untuk memperbarui kata sandi baru di keytab dengan nomor kvno berikutnya sebelum memperbaruinya di Direktori Aktif. Menggunakan nomor kvno berikutnya mencegah agar layanan SQL Server tidak perlu dimulai ulang setelah perubahan kata sandi. Jika Anda memperbarui kata sandi di Direktori Aktif terlebih dahulu, lalu mengubah keytab, Anda harus memulai ulang layanan SQL Server untuk memastikan bahwa autentikasi Direktori Aktif berfungsi dengan baik.
Skenario untuk memutar keytab
Mari lihat contoh berikut. Autentikasi Direktori Aktif sudah diaktifkan untuk SQL Server di Linux. Di dalam file mssql.conf, Anda menetapkan network.privilegedadaccount ke sqluser. Akun sqluser@CONTOSO.COM sudah dibuat di Direktori Aktif, dan keytab juga dibuat di lokasi /var/opt/mssql/secrets/mssql.keytabdefault . Sekarang Anda ingin mengubah kata sandi untuk sqluser@CONTOSO.COM. Berikut adalah langkah-langkah yang perlu Anda ikuti:
Instal adutil pada komputer yang bergabung dengan domain.
Dapatkan atau perbarui Kerberos TGT (tiket pemberi tiket) menggunakan perintah
kinit. Gunakan akun istimewa untuk perintahkinit. Akun harus memiliki izin untuk menyambungkan ke domain dan harus dapat membuat akun dan SPN di domain. Dalam hal ini, kami menggunakan akunprivilegeduser@CONTOSO.COMyang memiliki izin untuk membuat akun dan SPN di domain kami yang disebutCONTOSO.COM.kinit privilegeduser@CONTOSO.COMSetelah Anda menjalankan
kinituntuk mendapatkan/memperbarui TGT, periksa nomor kvno saat ini darinetwork.privilegedadaccount. Dalam hal ini, itu adalahsqluser@CONTOSO.COM.kvno sqluser@CONTOSO.COM
Anda dapat memilih untuk memutar keytab dengan mssql-conf, atau memutar keytab secara manual menggunakan adutil.
Putar keytab dengan mssql-conf
Anda dapat menginstal adutil dan mengintegrasikannya dengan mssql-conf, yang berarti Anda dapat memutar keytab menggunakan mssql-conf.
Masuk sebagai pengguna root dan beralih ke pengguna
mssql.su mssqlDapatkan atau perbarui Kerberos TGT (tiket pemberi tiket) menggunakan perintah
kinit. Gunakan akun istimewa untuk perintahkinit. Akun harus memiliki izin untuk menyambungkan ke domain dan harus dapat membuat akun dan SPN di domain. Dalam hal ini, kami menggunakan akunprivilegeduser@CONTOSO.COMyang memiliki izin untuk membuat akun dan SPN di domain kami yang disebutCONTOSO.COM.kinit privilegeduser@CONTOSO.COMJalankan perintah mssql-conf dengan memberikan keytab SQL Server serta menyertakan detail
network.privilegedadaccount. Dalam contoh ini,privilegedadaccountadalahsqluser../mssql-conf setup-ad-keytab /var/opt/mssql/secrets/mssql.keytab sqluser --use-next-kvno'Saat dimintai kata sandi, masukkan kata sandi baru yang ingin Anda gunakan. Opsi
--use-next-kvnomengalokasikan kvno saat ini + 1.Opsional: Anda juga dapat menggunakan opsi
--kvnodengan perintahmssql-conf setup-ad-keytabuntuk menyediakan kvno tertentu. Anda harus memastikan bahwa Anda mendapatkan kvno saat ini untuk pengguna terlebih dahulu, lalu memperbarui kvno baru tersebut, yang akan menjadi kvno saat ini + 1.Anda dapat mencantumkan kunci keytab menggunakan perintah :
klist -kte /var/opt/mssql/secrets/mssql.keytabAnda akan melihat bahwa keytab diperbarui dengan kvno berikutnya untuk entri pengguna dan SPN.
Anda sekarang dapat mengubah kata sandi untuk
sqluserpengguna. Berikut ini contohnya.Penting
Jika Diminta untuk memulai ulang SQL Server selama langkah ini, Anda dapat mengabaikannya. Ingatlah untuk mengubah kata sandi di Direktori Aktif juga.
bash-4.4$ kinit privilegedaccount@CONTOSO.COM Password for privilegedaccount@CONTOSO.COM: bash-4.4$ ./mssql-conf setup-ad-keytab /var/opt/mssql/secrets/mssql.keytab sqluser --use-next-kvno sqluser@contoso.com's password: Confirm sqluser@contoso.com's password: SQL Server needs to be restarted in order to adopt the new AD configuration. To restart, run `systemctl restart mssql-server.service`. bash-4.4$ klist -kte /var/opt/mssql/secrets/mssql.keytab Keytab name: FILE:/var/opt/mssql/secrets/mssql.keytab KVNO Timestamp Principal ---- ------------------- ------------------------------------------------------ 4 12/30/2021 14:02:08 sqluser@CONTOSO.COM (aes256-cts-hmac-sha1-96) 4 12/30/2021 14:02:08 MSSQLSvc/sql1.contoso.com:1433@CONTOSO.COM (aes256-cts-hmac-sha1-96) 4 12/30/2021 14:02:08 MSSQLSvc/sql1.contoso.com@CONTOSO.COM (aes256-cts-hmac-sha1-96) 4 12/30/2021 14:02:08 MSSQLSvc/sql1:1433@CONTOSO.COM (aes256-cts-hmac-sha1-96) 4 12/30/2021 14:02:08 MSSQLSvc/sql1@CONTOSO.COM (aes256-cts-hmac-sha1-96) 5 12/30/2021 20:06:34 sqluser@CONTOSO.COM (aes256-cts-hmac-sha1-96) 5 12/30/2021 20:06:34 MSSQLSvc/sql1.contoso.com:1433@CONTOSO.COM (aes256-cts-hmac-sha1-96) 5 12/30/2021 20:06:34 MSSQLSvc/sql1.contoso.com@CONTOSO.COM (aes256-cts-hmac-sha1-96) 5 12/30/2021 20:06:34 MSSQLSvc/sql1:1433@CONTOSO.COM (aes256-cts-hmac-sha1-96) 5 12/30/2021 20:06:34 MSSQLSvc/sql1@CONTOSO.COM (aes256-cts-hmac-sha1-96)
Putar keytab secara manual menggunakan adutil
Jika Anda ingin memperbarui keytab secara manual menggunakan adutil, lihat langkah-langkah berikut.
Memperbarui keytab menggunakan adutil menambahkan entri ke dalam keytab saat ini. Misalnya, jika nomor kvno dari perintah sebelumnya adalah 2, gunakan saat memperbarui keytab. Perintah adutil berikut ini perlu Anda jalankan.
- Ubah nomor port (
-p), nama host (-H), jalur ke keytab (-k), dan nomor kvno, agar sesuai dengan lingkungan Anda.
adutil keytab createauto -k /var/opt/mssql/secrets/mssql.keytab -p 1433 -H mssql.contoso.com --password '<newpassword>' -s MSSQLSvc --kvno 3
adutil keytab create -k /var/opt/mssql/secrets/mssql.keytab -p sqluser --password '<newpassword>' --kvno 3
| Pengaturan | Description |
|---|---|
-k |
Jalur ke keytab saat ini yang sedang digunakan oleh SQL Server dan diatur menggunakan opsi network.kerberoskeytabfile dalam mssql.conf file. |
-H |
Nama domain yang sepenuhnya memenuhi syarat dari host SQL Server. |
-p |
Port tempat layanan SQL Server dikonfigurasi untuk mendengarkan pada perintah pertama. Di perintah kedua, -p mewakili network.privilegedadaccount kata sandi yang akan Anda perbarui. |
kvno |
Nilai harus berupa kvno saat ini + 1. Nilai kvno saat ini diperoleh dari langkah 3. |
Setelah menjalankan perintah di atas, Anda harus menyediakan jenis enkripsi pilihan Anda untuk entri keytab. Pastikan Anda memilih yang tepat untuk lingkungan Anda.
Periksa catatan keytab
Setelah memperbarui keytab, Anda sekarang akan melihat entri dalam keytab untuk kvno 3 (baru), dan juga kvno 2 (lama) untuk akun sqluser@CONTOSO.COM dan SPN yang sama. Anda dapat menjalankan perintah berikut klist untuk memeriksa entri di keytab:
klist -kte /var/opt/mssql/secrets/mssql.keytab
Mengubah kata sandi akun di Direktori Aktif
Langkah terakhir adalah memperbarui kata sandi network.privilegedadaccount atau akun yang memiliki SPN SQL Server di Windows Active Directory. Dalam skenario sebelumnya, kita harus memperbarui kata sandi untuk sqluser@CONTOSO.COM di Direktori Aktif. Ubah kata sandi ke <newpassword> yang Anda berikan di langkah 3 di bagian sebelumnya. Autentikasi Direktori Aktif harus terus berfungsi, dan tanpa perlu layanan SQL Server dimulai ulang.
Konten terkait
- Tutorial: Menggunakan adutil untuk mengonfigurasi autentikasi Direktori Aktif dengan SQL Server di Linux
- Tutorial: Mengonfigurasi autentikasi Direktori Aktif dengan SQL Server pada kontainer Linux
- Memahami autentikasi Direktori Aktif untuk SQL Server di Linux dan kontainer
- Memecahkan masalah autentikasi Direktori Aktif untuk SQL Server di Linux dan kontainer