Putar SQL Managed Instance yang diaktifkan oleh keytab yang dikelola pelanggan Azure Arc
Artikel ini menjelaskan cara memutar keytabs yang dikelola pelanggan untuk SQL Managed Instance yang diaktifkan oleh Azure Arc. Keytabs ini digunakan untuk mengaktifkan login Direktori Aktif untuk instans terkelola.
Prasyarat:
Sebelum melanjutkan artikel ini, Anda harus memiliki konektor direktori aktif dalam mode keytab yang dikelola pelanggan dan SQL Managed Instance yang diaktifkan oleh Azure Arc yang dibuat.
- Menyebarkan konektor direktori aktif keytab yang dikelola pelanggan
- Menyebarkan dan menyambungkan SQL Managed Instance yang diaktifkan oleh Azure Arc
Cara memutar keytabs yang dikelola pelanggan dalam instans terkelola
Langkah-langkah berikut perlu diikuti untuk memutar tab kunci:
- Dapatkan
kvno
nilai untuk pembuatan kredensial saat ini untuk akun Direktori Aktif SQL MI. - Buat file keytab baru dengan entri untuk pembuatan kredensial saat ini. Secara khusus,
kvno
nilai harus cocok dari langkah (1.) di atas. - Perbarui file keytab baru dengan entri baru untuk kredensial baru untuk akun Direktori Aktif SQL MI.
- Buat rahasia kubernetes yang menyimpan konten file keytab baru di namespace yang sama dengan SQL MI.
- Edit spesifikasi SQL MI untuk mengarahkan pengaturan rahasia keytab Direktori Aktif ke rahasia baru ini.
- Ubah kata sandi di domain Direktori Aktif.
Kami telah menyediakan skrip PowerShell dan bash berikut yang akan mengurus langkah 1-5 untuk Anda:
rotate-sqlmi-keytab.sh
- Skrip bash ini menggunakanktutil
atauadutil
(jika--use-adutil
bendera ditentukan) untuk menghasilkan keytab baru untuk Anda.rotate-sqlmi-keytab.ps1
- Skrip PowerShell ini menggunakanktpass.exe
untuk menghasilkan keytab baru untuk Anda.
Menjalankan skrip di atas akan menghasilkan file keytab berikut untuk pengguna arcsqlmi@CONTOSO.COM
, rahasia sqlmi-keytab-secret-kvno-2-3
, dan namespace test
:
KVNO Timestamp Principal
---- ------------------- ------------------------------------------------------
2 02/16/2023 17:12:05 arcsqlmiuser@CONTOSO.COM (aes256-cts-hmac-sha1-96)
2 02/16/2023 17:12:05 arcsqlmiuser@CONTOSO.COM (arcfour-hmac)
2 02/16/2023 17:12:05 MSSQLSvc/arcsqlmi.contoso.com@CONTOSO.COM (aes256-cts-hmac-sha1-96)
2 02/16/2023 17:12:05 MSSQLSvc/arcsqlmi.contoso.com@CONTOSO.COM (arcfour-hmac)
2 02/16/2023 17:12:05 MSSQLSvc/arcsqlmi.contoso.com:31433@CONTOSO.COM (aes256-cts-hmac-sha1-96)
2 02/16/2023 17:12:05 MSSQLSvc/arcsqlmi.contoso.com:31433@CONTOSO.COM (arcfour-hmac)
3 02/16/2023 17:13:41 arcsqlmiuser@CONTOSO.COM (aes256-cts-hmac-sha1-96)
3 02/16/2023 17:13:41 arcsqlmiuser@CONTOSO.COM (arcfour-hmac)
3 02/16/2023 17:13:41 MSSQLSvc/arcsqlmi.contoso.com@CONTOSO.COM (aes256-cts-hmac-sha1-96)
3 02/16/2023 17:13:41 MSSQLSvc/arcsqlmi.contoso.com@CONTOSO.COM (arcfour-hmac)
3 02/16/2023 17:13:41 MSSQLSvc/arcsqlmi.contoso.com:31433@CONTOSO.COM (aes256-cts-hmac-sha1-96)
3 02/16/2023 17:13:41 MSSQLSvc/arcsqlmi.contoso.com:31433@CONTOSO.COM (arcfour-hmac)
Dan spesifikasi updated-secret.yaml berikut:
apiVersion: v1
kind: Secret
type: Opaque
metadata:
name: sqlmi-keytab-secret-kvno-2-3
namespace: test
data:
keytab:
<keytab-contents>
Terakhir, ubah kata sandi untuk arcsqlmi
akun pengguna di pengontrol domain untuk domain contoso.com
Direktori Aktif :
Buka Manajer Server pada pengendali domain untuk domain
contoso.com
Direktori Aktif . Anda dapat mencari Manajer Server atau membukanya melalui menu Mulai.Buka Alat>Pengguna Direktori Aktif dan Komputer
Pilih pengguna yang ingin Anda ubah kata sandinya. Klik kanan untuk memilih pengguna. Pilih Atur ulang kata sandi:
Masukkan kata sandi baru dan pilih
OK
.
Pemecahan masalah kesalahan setelah rotasi
Jika ada kesalahan saat mencoba menggunakan Autentikasi Direktori Aktif setelah menyelesaikan rotasi keytab, file berikut dalam arc-sqlmi
kontainer dalam pod SQL MI adalah tempat yang baik untuk mulai menyelidiki akar penyebabnya:
security.log
file yang terletak di/var/opt/mssql/log
- File log ini memiliki log untuk interaksi SQL dengan domain Direktori Aktif.errorlog
file yang terletak di/var/opt/mssql/log
- File log ini berisi log dari SQL Server yang berjalan pada kontainer.mssql.keytab
file terletak di - Verifikasi bahwa file keytab ini berisi entri yang baru diperbarui/var/run/secrets/managed/keytabs/mssql
dan cocok dengan file keytab yang dibuat dengan menggunakan skrip yang disediakan di atas. File keytab dapat dibaca menggunakanklist
perintah yaitu.klist -k mssql.keytab -e
Selain itu, setelah mendapatkan Tiket Pemberian Tiket (TGT) kerberos dengan menggunakan kinit
perintah, verifikasi kvno
pengguna SQL cocok dengan yang tertinggi kvno
dalam mssql.keytab
file dalam arc-sqlmi
kontainer. Misalnya, untuk arcsqlmi@CONTOSO.COM
pengguna:
- Dapatkan TGT kerberos dari domain Direktori Aktif dengan menjalankan
kinit arcsqlmi@CONTOSO.COM
. Ini akan meminta input pengguna untuk kata sandi untukarcsqlmi
pengguna. - Setelah ini berhasil,
kvno
dapat dikueri dengan menjalankankvno arcsqlmi@CONTOSO.COM
.
Kita juga dapat mengaktifkan pengelogan kinit
debug untuk perintah dengan menjalankan yang berikut: KRB5_TRACE=/dev/stdout kinit -V arcsqlmi@CONTOSO.COM
. Ini meningkatkan verbositas dan menghasilkan log ke stdout saat perintah sedang dijalankan.