SQL Server denetim (veritabanı altyapısı)
Denetim örneği SQL Server Veritabanı Altyapısıya da tek tek bir veritabanı izleme ve üzerinde meydana gelen olayları günlüğü içerir Veritabanı Altyapısı. SQL ServerDenetim sunucu denetim belirtimleri sunucu düzeyinde olayları ve veritabanı düzeyinde olayları veritabanı denetim belirtimleri içerebilir sunucu denetimleri oluşturmanızı sağlar. Denetlenen olayları olay günlüklerini veya dosyaları denetlemek için yazılabilir.
Denetim için çeşitli seviyeleri vardır SQL Server, hükümet veya standartları gereksinimlerini kurulumunuza bağlı. SQL ServerDenetim araçları ve işlemleri etkinleştirmek, depolamak ve denetimleri çeşitli sunucu ve veritabanı nesneleri görüntülemek için olmalıdır sağlar.
Sunucu Denetim eylem grupları her örneği, veritabanı denetim eylem grupları veya veritabanı denetim eylemler veritabanı başına kaydedebilirsiniz. Denetim olayı denetlenebilir eylemi karşılaşılan her zaman ortaya çıkar.
Tüm sürümleri SQL ServerSunucu düzeyi denetimleri desteği. Veritabanı düzeyinde denetim için kuruluş, Developer ve değerlendirme sürümlerini sınırlıdır. Daha fazla bilgi için, bkz. SQL Server 2012 Sürümleri Tarafından Desteklenen Özellikler.
SQL Server denetim bileşenleri
Bir Denetim birkaç öğe sunucu eylemleri veya veritabanı eylemleri belirli bir grubun tek bir paket halinde birleşimidir. Bileşenleri SQL Serversadece grafik ve veri elemanları ile birlikte bir rapor tanımı rapor üretir gibi bir denetim adı verilen bir çıktı üretmek için Denetim birleştirin.
SQL Serverkullanımları denetle Genişletilmiş olayları bir denetim oluşturmak için. Genişletilmiş olayları hakkında daha fazla bilgi için bkz: SQL Server Genişletilmiş olayları.
SQL Server denetim
SQL Server denetim nesneye toplar sunucu veya veritabanı düzeyinde eylemler tek bir örneğini ve izlenecek eylem grupları. Denetim altındadır SQL Serverörnek düzeyi. Başına çoklu denetimleri olabilir SQL Serverörneği.
Bir denetim tanımladığınızda, sonuçları çıkış konumunu belirtin. Denetim hedef budur. Denetim oluşturulan bir devre dışı devlet ve otomatik olarak herhangi bir eylem denetlememektedir. Denetim etkinleştirildikten sonra Denetim hedef denetim verileri alır.
Sunucu denetim belirtimi
Sunucu denetim belirtimi nesnesinin ait olduğu için bir denetim. Sen-ebilmek yaratmak bir sunucu denetim belirtimi başına denetim, hem de oluşturulduğundan SQL Serverörneğinin kapsamı.
Sunucu denetim belirtimi olayları genişletilmiş özelliği tarafından harekete geçirilen birçok sunucu düzeyinde eylem grupları toplar. You can include Denetim eylem grupları bir sunucu denetim belirtimi. Denetim eylem grupları olan eylemler, Atomik olayların içinde meydana gelen önceden tanımlı gruplar Veritabanı Altyapısı. Bu eylemler, onları hedef kaydeden denetim, gönderilir.
Sunucu düzeyinde denetim eylem grupları'nda açıklanan SQL Server denetim eylem grupları ve eylemler.
Veritabanı denetim belirtimi
Veritabanı denetim belirtimi nesne de ait bir SQL Serverdenetim. Sen-ebilmek yaratmak için bir veritabanı denetim belirtimi SQL Serververitabanı başına denetim.
Veritabanı denetim belirtimi veritabanı düzeyinde denetim eylem olayları genişletilmiş özelliği tarafından harekete geçirilen toplar. Ya da Denetim eylem grupları ekleyebilir veya veritabanı denetim belirtimi olaylarını denetleme. Denetim olayları tarafından denetlenen atomik eylemler SQL Servermotoru. Denetim eylem grupları eylemlerinin önceden tanımlı gruplar vardır. Her ikisi are vasıl SQL ServerVeritabanı kapsam. Bu eylemler, onları hedef kaydeden denetim, gönderilir. Sistem görünümleri gibi sunucu kapsamı nesneleri bir kullanıcı veritabanı denetim belirtimi bulunmaz.
Veritabanı düzeyinde denetim eylem grupları ve denetim eylemler konusunda açıklanan SQL Server denetim eylem grupları ve eylemler.
Hedef
Denetim sonuçları bir dosya, Windows Güvenlik olay günlüğüne veya Windows uygulama olay günlüğüne bir hedefe gönderilir. Günlükleri gözden olmalı ve hedef ek kayıtlar yazmak için yeterli alan olduğundan emin olmak için düzenli olarak arşivlenir.
Önemli |
---|
Kimliği doğrulanmış herhangi bir kullanıcı, okuma ve Windows uygulama olay günlüğüne yazma. Uygulama olay günlüğü, Windows Güvenlik olay günlüğüne daha düşük izinleri gerektirir ve Windows Güvenlik olay günlüğüne az güvenlidir. |
Windows güvenliği için yazma gerektirir günlük SQL Serverhizmet hesabı eklenecek Güvenlik denetimleri üretme İlkesi. Varsayılan, yerel sistem, yerel hizmet ve ağ hizmeti tarafından bu ilke bir parçasıdır. Bu ayar, Güvenlik İlkesi ek bileşenini (secpol.msc) kullanılarak yapılandırılabilir. Ayrıca, Nesne erişimini denetleme güvenlik ilkesi, her ikisi de için etkinleştirilmelidir başarı ve hata. Bu ayar, Güvenlik İlkesi ek bileşenini (secpol.msc) kullanılarak yapılandırılabilir. İçinde Windows Vistaya da Windows Server 2008, you can set daha ayrıntılı uygulama üretilen ilke denetim ilkesi programı kullanarak komut satırından (AuditPol.exe). Windows güvenlik günlüğüne yazma etkinleştirme adımları hakkında daha fazla bilgi için bkz: SQL Server denetim olayları güvenlik günlüğüne yazma. Auditpol.exe programı hakkında daha fazla bilgi için bkz: Bilgi Bankası makalesi 921469, detaylı güvenlik denetimini yapılandırmak için Grup İlkesi kullanma. Windows olay günlüklerini Windows işletim sistemi için geneldir. Windows olay günlükleri hakkında daha fazla bilgi için bkz: Olay Görüntüleyicisi'ne genel bakış. Eğer sen lüzum daha hassas denetim izinlerini, ikili dosya hedef kullanın.
Denetim bilgilerini bir dosyaya kaydederken, tahrifat, engellemek için erişim dosya konumuna aşağıdaki yollarla sınırlayabilirsiniz:
SQL ServerHizmet hesabı hem okuma hem de yazma izni olması gerekir.
Denetim Yöneticiler genellikle okuma ve yazma izni gerektirir. Bu denetim yöneticilerin Windows hesapları denetim dosyaları, yönetim gibi olduğunu varsayar: sırt onları kadar vb. farklı paylaşımlara kopyalayarak.
Denetim dosyalarını okumak için yetkili denetim okuyucuların okuma izniniz olmalıdır.
Bile Veritabanı Altyapısıyazılı bir dosyaya izniniz varsa, diğer Windows kullanıcıları denetim dosyası okuyabilirsiniz. Veritabanı AltyapısıOkuma işlemleri engelleyen bir kilit olmaz.
Çünkü Veritabanı Altyapısıdosyasına erişebilirsiniz SQL Servercontrol server izni olan oturumları kullanabilirsiniz Veritabanı AltyapısıDenetim dosyalara erişmek için. Denetim dosyası okunurken herhangi bir kullanıcı kaydetmek için Denetim tanımlar master.sys.fn_get_audit_file. Bu kayıt oturumları denetim dosyası üzerinden eriştiğiniz control server izni ile SQL Server.
Denetim yönetici (için arşiv amaçlı vb.) farklı bir konuma dosya kopyalar, yeni konumu ACL'lerin aşağıdaki izinleri azaltılacak:
Yönetici – denetim okuma / yazma
Okuyucu – denetim okuma
Denetim raporları ayrı bir örneğinden oluşturmak öneririz SQL Server, örneği gibi SQL Server Express, hangi yalnızca Yöneticiler denetlemek veya denetim okuyucular erişiminiz. Ayrı bir örneğini kullanarak Veritabanı Altyapısıbildirdiği için yetkisiz kullanıcıların Denetim kaydı erişim sağlamasını önlemeye yardımcı olabilir.
Windows BitLocker Sürücü Şifrelemesi veya Windows Şifreleme Dosya Sistemi'ni kullanarak Denetim dosyasının depolandığı klasörü şifreleyerek yetkisiz erişimlere karşı ilave koruma sağlayabilir.
Hedef için yazılmış denetim kayıtları hakkında daha fazla bilgi için bkz: SQL Server denetim kayıtları.
SQL Server denetim kullanarak genel bakış
Sen-ebilmek kullanma SQL Server Management Studioya Transact-SQLbir denetim tanımlamak için. Denetim oluşturulan etkinleştirildikten sonra hedef girişleri alacaksınız.
Sen-ebilmek okumak Windows olay günlüklerini kullanarak Olay Görüntüleyicisi'ni yarar içinde pencere eşiği. Dosya hedefleri, sen-ebilmek kullanma ya da Günlük dosyası Görüntüleyici içinde SQL Server Management Studioya da başvuran hedef dosyayı okumak için işlevi.
Oluşturma ve denetim kullanarak genel işlem aşağıdaki gibidir.
Bir denetim oluşturma ve hedef tanımlayın.
Sunucu denetim belirtimi veya denetim haritalar veritabanı denetim belirtimi oluşturmak. Denetim belirtimi etkinleştirin.
Denetim etkinleştirin.
Windows kullanarak denetim olayları okumak Olay Görüntüleyicisi'ni, Günlük dosyası Viewer, ya da fn_get_audit_fileişlevi.
Daha fazla bilgi için Server denetim ve sunucu denetim belirtimi oluşturmakve Server denetim ve veritabanı denetim belirtimi oluşturmak.
Dikkate Alınacak Noktalar
Denetim başlatılması sırasında bir hata durumunda sunucu başlatılmaz. Bu durumda, sunucu kullanılarak başlatılabilir –fkomut satırı seçeneği.
Ne zaman bir denetim hatası neden sunucu kapatmaya ya da çünkü başlatılmayacak biçimde ON_FAILURE = kapatma belirtilen denetim için MSG_AUDIT_FORCED_SHUTDOWNolay \Kütüğü yazılır Kapatma ilk karşılaşma bu ayardan oluşur çünkü olay bir kez yazılır. Bu olay, sonra kapatma neden denetim hatası iletisi yazılır. Yönetici denetim kaynaklı kapatmalar başlatarak atlayabilirsiniz SQL Servertek kullanıcı modu kullanarak –mbayrağı. Eğer tek kullanıcı modunda başlatmak, herhangi bir denetim geçiş nereye ON_FAILURE = kapatma oturum ON_FAILURE olarak çalıştırmak için belirtilen = devam et. Ne zaman SQL Serverkullanılarak başlatılan –mbayrak, MSG_AUDIT_SHUTDOWN_BYPASSEDhata \Kütüğü ileti yazılır
Hizmet başlatma seçenekleri hakkında daha fazla bilgi için bkz: Veritabanı altyapısı hizmeti başlatma seçenekleri.
Bir veritabanı ile tanımlanan bir denetim ekleme
Denetim belirtimi ve sunucuda var olmayan bir GUID neden belirtir bir veritabanı iliştirme bir artık denetim belirtimi. Eşleşen GUID ile bir denetim sunucu örneği yok çünkü, hiçbir denetim olayları kaydedilir. Bu durumu düzeltmek için varolan bir sunucu denetim sahipsiz denetim belirtimi bağlamak için alter veritabanı denetim belirtimi komutunu kullanın. Ya da, yeni sunucu denetim belirtilen GUID oluşturmak için create server DENETIM komutunu kullanın.
Başka bir sürümüne tanımlanmış denetim belirtimi içeren bir veritabanını iliştirebilirsiniz SQL Server, desteklemediği SQL ServerDenetim, gibi SQL Server Expressama denetim olayları kaydedilmeyecek.
Veritabanı yansıtma ve SQL Server denetim
Denetim belirtimi tanımlanmış veritabanı denetim belirtimi içeren bir veritabanını ve kullandığı veritabanı yansıtma veritabanı içerecektir. Yansıtılmış sql örneği düzgün çalışabilmesi için aşağıdaki öğeleri yapılandırılmış olması gerekir:
Yansıtma sunucu denetim denetim kayıtlarını yazmak veritabanı denetim belirtimi etkinleştirmek için aynı GUID olmalıdır. Bu komut oluşturma denetim ile GUID kullanılarak yapılandırılabilir= <GUID from source Server Audit>.
İkili dosya hedefler, yansıtma sunucu hizmeti hesabı uygun nerede denetim izi yazılmaktadır konumu izinleriniz olmalıdır.
Windows olay günlüğü hedefler, yansıtma sunucunun bulunduğu bilgisayardaki güvenlik ilkesi hizmet hesabı erişimi güvenlik ve uygulama olay günlüğüne izin vermeniz gerekir.
Oluşturma ve denetimleri Transact-sql ile yönetme
ddl deyimleri, dinamik yönetimi görünümler ve işlevler kullanma ve Katalog görünümleri tüm yönlerini uygulamak için SQL Serverdenetim.
Veri tanımlama dili deyimleri
Aşağıdaki ddl deyimleri oluşturmak, değiştirmek ve denetim belirtimleri bırakma için kullanabilirsiniz:
Dinamik görünümler ve işlevler
Aşağıdaki tabloda dinamik görünümler ve için kullanabileceğiniz bir işlev listeler SQL Serverdenetim.
Dinamik görünümler ve işlevler |
Açıklama |
---|---|
Denetim günlüğü ve bir parçası olarak yapılandırılan her denetim eylem grubu bildirilebilir her denetim eylem için bir satır döndürür SQL Serverdenetim. |
|
Denetim geçerli durumu hakkında bilgi sağlar. |
|
Haritalar tablo döndüren class_typeiçin Denetim günlüğü alanında class_descalana sys.dm_audit_actions. |
|
Sunucu denetim tarafından oluşturulan bir denetim dosyasından bilgi verir. |
Katalog görünümleri
Sen-ebilmek kullanma-e için katalog görünümleri aşağıdaki tabloda SQL Serverdenetim.
Katalog görünümleri |
Açıklama |
---|---|
Veritabanı denetim özellikleri hakkında bilgi içeren bir SQL ServerDenetim bir sunucu örneği. |
|
Veritabanı denetim özellikleri hakkında bilgi içeren bir SQL Serverdenetlemek için tüm veritabanları sunucu örneği. |
|
Her biri için bir satır içerir SQL ServerDenetim bir sunucu örneği. |
|
Sunucu denetim özellikleri hakkında bilgi içeren bir SQL ServerDenetim bir sunucu örneği. |
|
Sunucu denetim belirtimi ayrıntıları (eylem) hakkında bilgi içeren bir SQL ServerDenetim bir sunucu örneği. |
|
Depoları genişletilmiş dosya denetim türü hakkında bilgiler içeren bir SQL ServerDenetim bir sunucu örneği. |
İzinler
Her özellik ve komut için SQL ServerDenetim bağımsız izin gereksinimleri vardır.
Oluşturmak, değiştirmek veya sunucu denetim veya sunucu denetim belirtimi için sunucu ilkeleri alter any server DENETIM veya control server izni gerektirir. Oluşturmak, değiştirmek veya veritabanı denetim belirtimi bırak için alter any database DENETIM izni veya veritabanı üzerinde alter veya control izni veritabanı ilkeleri gerektirir. Ayrıca, sorumluları veritabanına bağlanma izni veya control server veya alter any server DENETIM izinleri olması gerekir.
Aksi belirtilmedikçe, katalog görünümlerini görüntüleme aşağıdakilerden biri bir asıl gerektirir:
Üyelik sysadminsunucu rolü.
control server izni.
VIEW server state izni.
alter HIÇBIR DENETIM izni.
VIEW DENETIM state izni (yalnızca asıl erişim sağlar sys.server_auditskatalog görünüm).
Bir asıl dinamik yönetimi görünümleri kullanma VIEW server state veya alter HIÇBIR DENETIM izni olması gerekir.
Haklar ve izinler vermek hakkında daha fazla bilgi için bkz: grant (Transact-sql).
Dikkat |
---|
Sorumluları olarak sysadminrolü sabotaj denetim bileşenleri ve bu db_ownerrolü ile denetim belirtimleri veritabanında sabotaj. SQL ServerDenetim oluşturan veya denetim belirtimi değiştirir oturum en az any database DENETIM alter izni olduğunu doğrular. Ancak, bir veritabanı iliştirdiğinizde doğrulama yok. Tüm veritabanı denetim belirtimleri yalnızca bu sorumluları olarak olarak güvenilir varsaymalıdır sysadminya db_owner rolü. |
ilişkili Görevler
Oluşturma ve denetimleri Transact-sql ile yönetme
Server denetim ve sunucu denetim belirtimi oluşturmak
Server denetim ve veritabanı denetim belirtimi oluşturmak
SQL Server denetim günlüğünü görüntüleme
SQL Server denetim olayları güvenlik günlüğüne yazma
Denetim için yakından ilgili konular
Sunucu Özellikleri (Güvenlik sayfası)
İçin oturum açma denetimini etkinleştirmek açıklar SQL Server. Denetim kayıtları Windows uygulama \Kütüğü içinde saklananC2 denetim modu sunucu yapılandırma seçeneği
C2 güvenlik uyumluluğunu denetleme modunda açıklıyor SQL Server.Güvenlik Denetim olay kategori (SQL Server Profiler)
Sen-ebilmek kullanma içinde denetim olayları anlatıyor SQL Server Profiler. Daha fazla bilgi için, bkz. SQL Server Profiler.sql izleme
Açıklar nasıl sql izleme sayfasından kendi uygulamalarından izleri kullanmak yerine el ile oluşturmak için kullanılabilir SQL ServerProfiler.ddl Tetikleyicileri
Veri tanımlama dili (ddl) Tetikleyicileri veritabanlarınıza değişiklikleri izlemek için nasıl kullanabileceğinizi açıklar.Microsoft TechNet: SQL Server TechCenter: SQL Server 2005 güvenlik ve koruma
Hakkında güncel bilgiler SQL Servergüvenlik.