Menerapkan Keamanan Agen SQL Server

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Penting

Pada Azure SQL Managed Instance, sebagian besar, tetapi tidak semua fitur SQL Server Agent saat ini didukung. Lihat Perbedaan T-SQL Azure SQL Managed Instance dari SQL Server untuk detailnya.

SQL Server Agent memungkinkan administrator database menjalankan setiap langkah pekerjaan dalam konteks keamanan yang hanya memiliki izin yang diperlukan untuk melakukan langkah pekerjaan tersebut, yang ditentukan oleh proksi SQL Server Agent. Untuk mengatur izin untuk langkah pekerjaan tertentu, Anda membuat proksi yang memiliki izin yang diperlukan lalu menetapkan proksi tersebut ke langkah pekerjaan. Proksi dapat ditentukan untuk lebih dari satu langkah pekerjaan. Untuk langkah-langkah pekerjaan yang memerlukan izin yang sama, Anda menggunakan proksi yang sama.

Bagian berikut menjelaskan peran database apa yang harus Anda berikan kepada pengguna sehingga mereka dapat membuat atau menjalankan pekerjaan dengan menggunakan SQL Server Agent.

Memberikan Akses ke SQL Server Agent

Untuk menggunakan SQL Server Agent, pengguna harus menjadi anggota dari satu atau beberapa peran database tetap berikut:

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Peran ini disimpan dalam database msdb . Secara default, tidak ada pengguna yang merupakan anggota dari peran database ini. Keanggotaan dalam peran ini harus diberikan secara eksplisit. Pengguna yang merupakan anggota peran server tetap sysadmin memiliki akses penuh ke SQL Server Agent, dan tidak perlu menjadi anggota peran database tetap ini untuk menggunakan SQL Server Agent. Jika pengguna bukan anggota dari salah satu peran database ini atau peran sysadmin , simpul SQL Server Agent tidak tersedia untuk mereka ketika mereka terhubung ke SQL Server dengan menggunakan SQL Server Management Studio.

Anggota peran database ini dapat melihat dan menjalankan pekerjaan yang mereka miliki, dan membuat langkah-langkah pekerjaan yang berjalan sebagai akun proksi yang ada. Untuk informasi selengkapnya tentang izin tertentu yang terkait dengan masing-masing peran ini, lihat Peran Database Tetap Agen SQL Server.

Anggota peran server tetap sysadmin memiliki izin untuk membuat, memodifikasi, dan menghapus akun proksi. Anggota peran sysadmin memiliki izin untuk membuat langkah-langkah pekerjaan yang tidak menentukan proksi, tetapi sebaliknya berjalan sebagai akun layanan SQL Server Agent, yang merupakan akun yang digunakan untuk memulai SQL Server Agent.

Panduan

Ikuti panduan ini untuk meningkatkan keamanan implementasi SQL Server Agent Anda:

  • Buat akun pengguna khusus khusus untuk proksi, dan hanya gunakan akun pengguna proksi ini untuk menjalankan langkah-langkah pekerjaan.

  • Hanya berikan izin yang diperlukan untuk akun pengguna proksi. Hanya berikan izin tersebut yang benar-benar diperlukan untuk menjalankan langkah-langkah pekerjaan yang ditetapkan ke akun proksi tertentu.

  • Jangan jalankan layanan SQL Server Agent di bawah akun Microsoft Windows yang merupakan anggota grup Administrator Windows.

  • Proksi hanya seaman penyimpanan kredensial SQL Server.

  • Jika operasi penulisan pengguna dapat menulis ke log Peristiwa NT, mereka dapat menaikkan pemberitahuan melalui SQL Server Agent.

  • Jangan tentukan akun Admin NT sebagai akun layanan atau akun proksi.

  • Perhatikan bahwa SQL Server dan SQL Server Agent memiliki akses ke aset satu sama lain. Kedua layanan berbagi ruang proses tunggal dan SQL Server Agent adalah sysadmin pada layanan SQL Server.

  • Ketika TSX mendaftar dengan MSX, MSX sysadmins mendapatkan kontrol total atas instans TSX SQL Server.

  • ACE adalah ekstensi dan tidak dapat memanggil dirinya sendiri. ACE dipanggil oleh Chainer ScenarioEngine.exe - juga dikenal sebagai Microsoft.SqlServer.Chainer.Setup.exe - atau dapat dipanggil oleh proses host lain.

  • ACE bergantung pada DLL konfigurasi berikut yang dimiliki oleh SSDP, karena API DLL tersebut dipanggil oleh ACE:

    • SCO - Microsoft.SqlServer.Configuration.Sco.dll, termasuk validasi SCO baru untuk akun virtual

    • Kluster - Microsoft.SqlServer.Configuration.Cluster.dll

    • SFC - Microsoft.SqlServer.Configuration.SqlConfigBase.dll

    • Ekstensi - Microsoft.SqlServer.Configuration.ConfigExtension.dll

Lihat Juga

Menggunakan Peran yang Telah Ditentukan Sebelumnya
sp_addrolemember (T-SQL)
sp_droprolemember (T-SQL)
Keamanan dan Perlindungan (Mesin Database)