Mengapa Anda menggunakan akun layanan terkelola daripada akun virtual di SQL Server 2012?

14

Dalam SQL Server 2012, akun layanan dibuat sebagai akun virtual (VA), seperti yang dijelaskan di sini , sebagai lawan akun layanan terkelola (MSA).

Perbedaan penting yang dapat saya lihat untuk ini, berdasarkan pada deskripsi:

  • MSA adalah akun domain, VA adalah akun lokal
  • MSA menggunakan manajemen kata sandi automagic yang ditangani oleh AD, VA tidak memiliki kata sandi
  • dalam konteks Kerberos, MSA mendaftarkan SPN secara otomatis, VA tidak

Apakah ada perbedaan lain? Jika Kerberos tidak digunakan, mengapa DBA lebih suka MSA?

UPDATE : Pengguna lain telah mencatat kemungkinan kontradiksi dalam dokumen MS tentang VA :

Akun virtual dikelola secara otomatis, dan akun virtual dapat mengakses jaringan di lingkungan domain.

melawan

Akun virtual tidak dapat diautentikasi ke lokasi yang jauh. Semua akun virtual menggunakan izin akun mesin. Menyediakan akun mesin dalam format <domain_name>\<computer_name>$.

Apa itu "akun mesin"? Bagaimana / kapan / mengapa itu "disediakan"? Apa perbedaan antara "mengakses jaringan di lingkungan domain" dan "mengautentikasi ke lokasi jauh [di lingkungan domain]"?

jordanpg
sumber
1
Paragraf terakhir Anda menambahkan 4 pertanyaan lagi. Aturan S / O merekomendasikan satu pertanyaan per permintaan. Saya dapat menjawab salah satu dari pertanyaan ini: "Akun mesin" adalah akun layanan lokal (NT). Setiap mesin memiliki satu. Ketika Anda menjalankan layanan NT sebagai "Sistem", itu berjalan di bawah akun lokal khusus ini. Karena tidak dikelola oleh domain, itu tidak bisa (secara inheren) dipercaya oleh mesin lain dalam domain. Akun secara otomatis dibuat ketika OS diinstal. Ini adalah throw-back ke masa jaringan peer-to-peer.
TimG
Jadi jika "semua akun virtual menggunakan izin akun mesin" maka dengan definisi ini, itu tidak mungkin "mengakses jaringan di lingkungan domain".
jordanpg
1
(dalam pesan saya sebelumnya, saya meninggalkan sesuatu). Ketika server bergabung dengan domain, akun "Sistem" lokal akan dipetakan ke akun domain <domain_name> \ <computer_name> $. Akun itu adalah akun domain yang sebenarnya.
TimG
Saya akan mengatakan, tidak biasa menggunakan akun mesin untuk "mengakses jaringan di lingkungan domain". Seperti yang dapat Anda bayangkan, itu sangat generik dan karenanya memberikan pintu belakang yang murah hati. Anda dapat memberikan izin untuk akun itu, sama seperti akun lainnya, tetapi tidak disarankan.
TimG
Tidak mungkin semuanya atipikal itu. VA, yang "menggunakan izin akun mesin", adalah jenis akun default untuk hampir semua akun layanan MSSQL12. Entah MS tidak mengeluarkan kalimat seperti "namun, tidak disarankan untuk menggunakan VA untuk mengakses jaringan dalam domain" atau justru inilah yang dimaksudkan. Itu sebabnya saya mengajukan pertanyaan.
jordanpg

Jawaban:

4

Begini cara saya melihatnya.

Saat Anda menggunakan VA, Anda menyamar sebagai akun mesin.

Masalahnya adalah, mudah membuat VA atau menggunakan yang sudah ada (mis. NT Authority \ NETWORKSERVICE). Jika Anda memberikan akses akun mesin ke sebuah instance, aplikasi yang berjalan sebagai VA akan dapat terhubung ke instance itu dan melakukan tindakan.

Dengan akun terkelola, Anda harus memberikan kredensial untuk akun itu ke aplikasi apa pun yang ingin menggunakannya, memungkinkan Anda lebih terperinci dengan izin.

Nabil Becker
sumber