Mengatur kebijakan kata sandi kustom untuk login SQL di SQL Server di Linux

Berlaku untuk: SQL Server 2022 (16.x) dan versi yang lebih baru di Linux

Artikel ini menjelaskan cara menyiapkan dan mengelola kebijakan kata sandi untuk SQL Server masuk di Linux. Kebijakan kata sandi kustom tersedia mulai SQL Server 2022 (16.x) Pembaruan Kumulatif (CU) 23, dan SQL Server 2025 (17.x).

Kebijakan kata sandi menerapkan aturan untuk kompleksitas, kedaluwarsa, dan perubahan, yang membantu menjaga SQL Server login tetap aman.

Nota

Kebijakan kata sandi juga tersedia di Windows. Untuk informasi selengkapnya, lihat Kebijakan kata sandi.

Pengaturan kebijakan khusus

Atur parameter konfigurasi berikut dalam mssql.conf file untuk menerapkan kebijakan kata sandi kustom:

Opsi konfigurasi Deskripsi
passwordpolicy.passwordminimumlength Mengatur jumlah minimum karakter yang diperlukan untuk kata sandi. Panjang kata sandi bisa hingga 128 karakter.
passwordpolicy.passwordhistorylength Mengatur jumlah kata sandi sebelumnya yang diingat sistem.
passwordpolicy.passwordminimumage Mengatur durasi minimum yang harus ditunda pengguna sebelum mengubah kata sandi mereka lagi.
passwordpolicy.passwordmaximumage Mengatur durasi maksimum kata sandi dapat digunakan sebelum harus diubah.

Nota

Saat ini Anda dapat mengatur passwordminimumlength menjadi kurang dari delapan karakter. Kata sandi Anda harus mengikuti kebijakan kata sandi default SQL Server. Secara default, kata sandi harus panjangnya minimal delapan karakter dan berisi karakter dari tiga dari empat set berikut: huruf besar, huruf kecil, digit dasar-10, dan simbol. Panjang kata sandi bisa hingga 128 karakter. Gunakan kata sandi yang panjang dan kompleks mungkin.

Konfigurasikan kebijakan dengan salah satu dari dua cara:

Mengatur kebijakan kata sandi kustom dengan adutil

Di lingkungan tempat manajemen kebijakan dipusatkan di server Direktori Aktif (AD), administrator domain mengatur dan mengubah nilai kebijakan kata sandi di server AD. Komputer Linux yang menjalankan SQL Server juga harus menjadi bagian dari domain Windows.

Gunakan adutil untuk mengambil kebijakan kata sandi dari server AD dan menulisnya ke mssql.conf file. Metode ini menawarkan manfaat manajemen terpusat, dan memastikan penerapan kebijakan yang konsisten di seluruh lingkungan SQL Server.

Persyaratan bagi adutil

  1. Buat sesi terautentikasi Kerberos:

    • Jalankan kinit dengan sudo untuk mendapatkan atau memperbarui tiket pemberian tiket (TGT) Kerberos.

    • Gunakan akun istimewa untuk perintah kinit. Akun memerlukan izin untuk menyambungkan ke domain.

    Dalam contoh berikut, ganti <user> dengan akun yang memiliki hak istimewa yang ditingkatkan di domain.

    sudo kinit <user>@CONTOSO.COM
    
  2. Verifikasi bahwa tiket diberikan:

    sudo klist
    
  3. Untuk memperbarui kebijakan kata sandi, kueri domain dengan adutil:

    sudo adutil updatepasswordpolicy
    

    Jika perintah berhasil, output terlihat mirip dengan contoh berikut:

    Successfully updated password policy in mssqlconf.
    Restart SQL Server to apply the changes.
    

    Secara opsional, Anda dapat menambahkan --path opsi ke perintah sebelumnya. Anda dapat menggunakan opsi ini jika Anda memiliki mssql-conf alat di lokasi yang berbeda dari jalur default. Jalur default adalah /opt/mssql/bin/mssql-conf.

  4. Mulai ulang layanan SQL Server:

    sudo systemctl restart mssql-server
    

Mengatur kebijakan kata sandi kustom secara manual dengan mssql-conf

Perbarui parameter kebijakan di mssql.conf langsung dengan mssql-conf. Gunakan metode ini ketika host Linux tidak bergabung ke domain, atau ketika tidak ada pengontrol domain yang tersedia untuk sumber kebijakan.

Jalankan perintah berikut mssql-conf untuk mengatur setiap properti kebijakan.

  1. Atur panjang kata sandi minimum menjadi 14 karakter, mematuhi persyaratan kompleksitas yang diuraikan dalam kebijakan Kata Sandi.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordminimumlength 14
    
  2. Atur usia kata sandi minimum ke satu hari. Pengguna dapat mengubah kata sandi mereka setelah satu hari.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordminimumage 1
    
  3. Atur panjang riwayat kata sandi ke 8. Pengguna harus menggunakan delapan kata sandi unik sebelum menggunakan kembali kata sandi lama.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordhistorylength 8
    
  4. Atur usia kata sandi maksimum menjadi 45 hari. Pengguna dapat menggunakan kata sandi hingga 45 hari sebelum pengguna harus mengubahnya.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordmaximumage 45
    
  5. Terapkan perubahan.

    • Pada SQL Server 2022 (16.x) CU 23 dan versi yang lebih baru, dan di SQL Server 2025 (17.x) CU 3 dan versi yang lebih baru, muat ulang mssql.conf tanpa memulai ulang layanan. Sambungkan ke instans SQL Server dan jalankan:

      EXECUTE sp_reload_mssqlconf;
      
    • Atau, pada versi yang lebih lama, hidupkan ulang layanan SQL Server sebagai gantinya:

      sudo systemctl restart mssql-server
      

Keterbatasan

Sebelum SQL Server 2022 (16.x) CU 23 dan SQL Server 2025 (17.x) CU 3, parameter passwordminimumlength tidak dapat diatur ke lebih dari 14 karakter.

Perubahan pada kebijakan kata sandi grup di Direktori Aktif tidak disebarluaskan secara otomatis. Jalankan adutil updatepasswordpolicy untuk merefresh mssql.conf setelah setiap perubahan, atau atur nilai secara manual dengan menggunakan mssql-conf jika host Linux tidak bergabung ke domain.

Dalam Direktori Aktif, Anda dapat menentukan atau mendefinisikan setiap kebijakan kata sandi tingkat grup menggunakan kotak centang:

Cuplikan layar pengaturan kebijakan keamanan panjang kata sandi minimum.

Menghapus kotak centang tidak menonaktifkan kebijakan di SQL Server on Linux. Untuk berhenti memberlakukan nilai, perbarui langsung di mssql-conf.