Azure SQL Yönetilen Örneği denetimini kullanmaya başlama
Şunlar için geçerlidir: Azure SQL Yönetilen Örneği
Azure SQL Yönetilen Örneği denetimi veritabanı olaylarını izler ve bunları Azure depolama hesabınızdaki bir denetim günlüğüne yazar. Denetim şunları da sağlar:
- Mevzuatla uyumluluk, veritabanı etkinliğini anlama ve işletme sorunlarını veya şüpheli güvenlik ihlallerini işaret edebilecek farklılıklar ve anormal durumlar hakkında içgörü sahip olmanıza yardımcı olur.
- Uyumluluğu garanti etmese bile uyumluluk standartlarına uymayı sağlar ve kolaylaştırır. Daha fazla bilgi için, en güncel SQL Yönetilen Örneği uyumluluk sertifikalarının listesini bulabileceğiniz Microsoft Azure Güven Merkezi'ne bakın.
Önemli
Azure SQL Veritabanı, Azure Synapse ve Azure SQL Yönetilen Örneği için denetim, kullanılabilirlik ve performans için iyileştirilmiştir. Çok yüksek etkinlik veya yüksek ağ yükü sırasında Azure SQL Veritabanı, Azure Synapse ve Azure SQL Yönetilen Örneği işlemlerin devam etmelerine izin verir ve bazı denetlenen olayları kaydetmeyebilir.
Sunucunuz için Azure Depolama'ya denetimi ayarlama
Aşağıdaki bölümde yönetilen örneğinizde denetimin yapılandırması açıklanmaktadır.
Azure portalına gidin.
Denetim günlüklerinin depolandığı bir Azure Depolama kapsayıcısı oluşturun.
Denetim günlüklerinizi depolamak istediğiniz Azure depolama hesabına gidin.
- Bölgeler arası okumaları/yazmaları önlemek için yönetilen örnekle aynı bölgede bir depolama hesabı kullanın.
- Depolama hesabınız bir Sanal Ağ veya Güvenlik Duvarının arkasındaysa bkz. Sanal ağdan erişim verme.
- Bekletme süresini 0 'dan (sınırsız saklama) başka bir değere değiştirirseniz, bekletme yalnızca bekletme değeri değiştirildikten sonra yazılan günlüklere uygulanır (bekletmenin sınırsız olarak ayarlandığı süre boyunca yazılan günlükler, bekletme etkinleştirildikten sonra bile korunur).
Depolama hesabında Genel Bakış'a gidin ve Bloblar'ı seçin.
Üstteki menüde + Kapsayıcı'yı seçerek yeni bir kapsayıcı oluşturun.
Kapsayıcı Adı sağlayın, Genel erişim düzeyini Özel olarak ayarlayın ve ardından Tamam'ı seçin.
Önemli
Sunucu veya veritabanı düzeyinde denetim olayları için sabit bir günlük deposu yapılandırmak isteyen müşteriler Azure Depolama tarafından sağlanan yönergeleri izlemelidir. (Lütfen seçtiğinizden emin olunSabit blob depolamayı yapılandırırken ek eklemelere izin verin.)
Denetim günlükleri için kapsayıcıyı oluşturduktan sonra, denetim günlükleri için hedef olarak yapılandırmanın iki yolu vardır: T-SQL veya SQL Server Management Studio (SSMS) kullanıcı arabirimini kullanma:
T-SQL kullanarak denetim günlükleri için blob depolamayı yapılandırma:
Kapsayıcılar listesinde yeni oluşturulan kapsayıcıyı ve ardından Kapsayıcı özellikleri'ni seçin.
Kopyala simgesini seçerek kapsayıcı URL'sini kopyalayın ve gelecekte kullanmak üzere URL'yi (örneğin, Not Defteri'nde) kaydedin. Kapsayıcı URL'si biçimi
https://<StorageName>.blob.core.windows.net/<ContainerName>
Depolama hesabına yönetilen örnek denetimi erişim hakları vermek için bir Azure Depolama SAS belirteci oluşturun:
Önceki adımda kapsayıcıyı oluşturduğunuz Azure depolama hesabına gidin.
Depolama Ayarları menüsünde Paylaşılan erişim imzası'nı seçin.
SAS'yi aşağıdaki gibi yapılandırın:
İzin verilen hizmetler: Blob
Başlangıç tarihi: Saat dilimiyle ilgili sorunlardan kaçınmak için dünkü tarihi kullanın
Bitiş tarihi: Bu SAS belirtecinin süresinin dolmasına neden olan tarihi seçin
Not
Denetim hatalarını önlemek için belirteci süresi dolmak üzere yenileyin.
SAS Oluştur'a tıklayın.
SAS belirteci en altta görünür. Kopyala simgesini seçerek belirteci kopyalayın ve gelecekte kullanmak üzere kaydedin (örneğin, Not Defteri'nde).
Önemli
Belirtecin başından soru işareti (
?
) karakterini kaldırın.
SQL Server Management Studio veya desteklenen başka bir araç aracılığıyla yönetilen örneğine bağlanın.
Önceki adımlarda oluşturduğunuz kapsayıcı URL'sini ve SAS belirtecini kullanarak yeni bir kimlik bilgisi oluşturmak için aşağıdaki T-SQL deyimini yürütebilirsiniz:
CREATE CREDENTIAL [<container_url>] WITH IDENTITY='SHARED ACCESS SIGNATURE', SECRET = '<SAS KEY>' GO
Yeni bir sunucu denetimi oluşturmak için aşağıdaki T-SQL deyimini yürütebilirsiniz (kendi denetim adınızı seçin ve önceki adımlarda oluşturduğunuz kapsayıcı URL'sini kullanın). Belirtilmezse,
RETENTION_DAYS
varsayılan değer 0'dır (sınırsız bekletme):CREATE SERVER AUDIT [<your_audit_name>] TO URL (PATH ='<container_url>', RETENTION_DAYS = <integer>); GO
Sunucu denetim belirtimi veya veritabanı denetim belirtimi oluşturarak devam edin.
SQL Server Management Studio 18 ve sonraki sürümleri kullanarak denetim günlükleri için blob depolamayı yapılandırın:
SQL Server Management Studio kullanıcı arabirimini kullanarak yönetilen örneğe bağlanın.
Nesne Gezgini kök notunu genişletin.
Güvenlik düğümünü genişletin, Denetimler düğümüne sağ tıklayın ve Yeni Denetim'i seçin:
Denetim hedefi'nde URL'nin seçili olduğundan emin olun ve Gözat'ı seçin:
(İsteğe bağlı) Azure hesabınızda oturum açın:
Açılan listelerden bir abonelik, depolama hesabı ve blob kapsayıcısı seçin veya Oluştur'u seçerek kendi kapsayıcınızı oluşturun. İşiniz bittiğinde Tamam'ı seçin:
Denetim Oluştur iletişim kutusunda Tamam'ı seçin.
Not
Denetim oluşturmak için SQL Server Management Studio kullanıcı arabirimi kullanılırken, SAS anahtarına sahip kapsayıcı için otomatik olarak bir kimlik bilgisi oluşturulur.
Blob kapsayıcısını denetim günlükleri için hedef olarak yapılandırdıktan sonra, SQL Server'da olduğu gibi bir sunucu denetim belirtimi veya veritabanı denetim belirtimi oluşturup etkinleştirin:
3. adımda oluşturduğunuz sunucu denetimini etkinleştirin:
ALTER SERVER AUDIT [<your_audit_name>] WITH (STATE = ON); GO
Ek bilgi için:
- SQL Server'da Azure SQL Yönetilen Örneği ve veritabanı arasındaki farkları denetleme
- SUNUCU DENETIMI OLUŞTURMA
- ALTER SERVER AUDIT
Microsoft Desteği işlemlerini denetleme
SQL Yönetilen Örneği için Microsoft Desteği işlemlerinin denetlenilmesi, Microsoft destek mühendislerinin destek isteği sırasında sunucunuza erişmesi gerektiğinde işlemlerini denetlemenize olanak tanır. Denetiminizle birlikte bu özelliğin kullanımı, işgücünüze yönelik daha fazla şeffaflık sunmanın yanı sıra anomali algılama, eğilim görselleştirme ve veri kaybı önlemeye de olanak verir.
Microsoft Desteği işlemlerinin denetimini etkinleştirmek için SQL Yönetim Örneğinizdeki Güvenlik>Denetimi altında Denetim Oluştur'a gidin ve Microsoft destek işlemleri'ne tıklayın.
Not
Microsoft işlemlerini denetlemek için ayrı bir sunucu denetimi oluşturmanız gerekir. Bu onay kutusunu mevcut bir denetim için etkinleştirirseniz denetim üzerine yazılır ve yalnızca destek işlemlerini günlüğe kaydeder.
Sunucunuz için Event Hubs veya Azure İzleyici günlüklerine denetimi ayarlama
Yönetilen örnekteki denetim günlükleri Azure Event Hubs veya Azure İzleyici günlüklerine gönderilebilir. Bu bölümde bunun nasıl yapılandırıldığı açıklanmaktadır:
Tanılama ayarları'nı seçin.
Tanılamayı aç'ı seçin. Tanılama zaten etkinse bunun yerine +Tanılama ayarı ekle seçeneği gösterilir.
Günlük listesinde SQLSecurityAuditEvents öğesini seçin.
Microsoft destek işlemlerini yapılandırıyorsanız, günlük listesinde DevOps işlemleri Denetim Günlükleri'ni seçin.
Denetim olayları için bir hedef seçin: Event Hubs, Azure İzleyici günlükleri veya her ikisi. Her hedef için gerekli parametreleri (örneğin Log Analytics çalışma alanı) yapılandırın.
Kaydet'i seçin.
SQL Server Management Studio (SSMS) veya desteklenen başka bir istemci kullanarak yönetilen örneğe bağlanın.
Sunucu denetimi oluşturmak için aşağıdaki T-SQL deyimini yürütür:
CREATE SERVER AUDIT [<your_audit_name>] TO EXTERNAL_MONITOR; GO
SQL Server'da olduğu gibi bir sunucu denetim belirtimi veya veritabanı denetim belirtimi oluşturun ve etkinleştirin:
8. adımda oluşturulan sunucu denetimini etkinleştirin:
ALTER SERVER AUDIT [<your_audit_name>] WITH (STATE = ON); GO
T-SQL kullanarak denetimi ayarlama
-- Create audit without OPERATOR_AUDIT - Will audit standard SQL Audit events
USE [master];
GO
CREATE SERVER AUDIT testingauditnodevops TO EXTERNAL_MONITOR;
GO
CREATE SERVER AUDIT SPECIFICATION testingaudit_Specification_nodevops
FOR SERVER AUDIT testingauditnodevops ADD (SUCCESSFUL_LOGIN_GROUP),
ADD (BATCH_COMPLETED_GROUP),
ADD (FAILED_LOGIN_GROUP)
WITH (STATE = ON);
GO
ALTER SERVER AUDIT testingauditnodevops
WITH (STATE = ON);
GO
-- Create separate audit without OPERATOR_AUDIT ON - Will audit Microsoft Support Operations
USE [master]
CREATE SERVER AUDIT testingauditdevops TO EXTERNAL_MONITOR
WITH (OPERATOR_AUDIT = ON);
GO
CREATE SERVER AUDIT SPECIFICATION testingaudit_Specification_devops
FOR SERVER AUDIT testingauditdevops ADD (SUCCESSFUL_LOGIN_GROUP),
ADD (BATCH_COMPLETED_GROUP),
ADD (FAILED_LOGIN_GROUP)
WITH (STATE = ON);
GO
ALTER SERVER AUDIT testingauditdevops
WITH (STATE = ON);
GO
Denetim günlüklerini kullanma
Azure Depolama'da depolanan günlükleri kullanma
Blob denetim günlüklerini görüntülemek için kullanabileceğiniz çeşitli yöntemler vardır.
Denetim günlüğü verilerini tablo biçiminde döndürmek için sistem işlevini
sys.fn_get_audit_file
(T-SQL) kullanın. Bu işlevi kullanma hakkında daha fazla bilgi için sys.fn_get_audit_file belgelerine bakın.Azure Depolama Gezgini gibi bir araç kullanarak denetim günlüklerini inceleyebilirsiniz. Azure Depolama'da denetim günlükleri, denetim günlüklerini depolamak için tanımlanan bir kapsayıcı içinde blob dosyaları koleksiyonu olarak kaydedilir. Depolama klasörünün hiyerarşisi, adlandırma kuralları ve günlük biçimi hakkında daha fazla bilgi için bkz . Blob Denetim Günlüğü Biçimi Başvurusu.
Denetim günlüğü tüketim yöntemlerinin tam listesi için bkz. Azure SQL Veritabanı denetimi kullanmaya başlama.
Event Hubs'da depolanan günlükleri kullanma
Event Hubs'dan denetim günlükleri verilerini kullanmak için olayları kullanacak ve bunları bir hedefe yazacak bir akış ayarlamanız gerekir. Daha fazla bilgi için Azure Event Hubs belgelerine bakın.
Azure İzleyici günlüklerinde depolanan günlükleri kullanma ve analiz etme
Denetim günlükleri Azure İzleyici günlüklerine yazılırsa, bunlar Log Analytics çalışma alanında kullanılabilir ve burada denetim verileri üzerinde gelişmiş aramalar çalıştırabilirsiniz. Başlangıç noktası olarak Log Analytics çalışma alanına gidin. Genel bölümünde Günlükler'i seçin ve denetim günlüklerini görüntülemek için: search "SQLSecurityAuditEvents"
gibi temel bir sorgu girin.
Azure İzleyici günlükleri, tüm iş yükleriniz ve sunucularınız genelinde milyonlarca kaydı kolayca analiz etmek için tümleşik arama ve özel panoları kullanarak gerçek zamanlı operasyonel içgörüler sağlar. Azure İzleyici günlükleri arama dili ve komutları hakkında daha fazla bilgi için bkz . Azure İzleyici günlükleri arama başvurusu.
Not
Bu makale kısa süre önce Log Analytics yerine Azure İzleyici günlükleri terimini kullanacak şekilde güncelleştirildi. Günlük verileri hala bir Log Analytics çalışma alanında depolanır ve yine de aynı Log Analytics hizmeti tarafından toplanır ve analiz edilir. Azure İzleyici'deki günlüklerin rolünü daha iyi yansıtacak şekilde terminolojiyi güncelleştiriyoruz. Ayrıntılar için bkz . Azure İzleyici terminolojisi değişiklikleri .
Azure SQL Yönetilen Örneği veritabanları ile SQL Server'daki veritabanları arasındaki farkları denetleme
Azure SQL Yönetilen Örneği veritabanlarında denetim ile SQL Server'daki veritabanları arasındaki temel farklar şunlardır:
- Azure SQL Yönetilen Örneği ile denetim sunucu düzeyinde çalışır ve günlük dosyalarını Azure Blob depolamada depolar
.xel
. - SQL Server'da denetim sunucu düzeyinde çalışır, ancak olayları dosya sisteminde ve Windows olay günlüklerinde depolar.
Yönetilen örneklerde XEvent denetimi, Azure Blob depolama hedeflerini destekler. Dosya ve Windows günlükleri desteklenmez.
Azure Blob depolamada denetim söz dizimindeki CREATE AUDIT
temel farklar şunlardır:
- Yeni bir söz dizimi
TO URL
sağlanır ve dosyaların yerleştirildiği Azure Blob depolama kapsayıcısının URL'sini belirtmenizi.xel
sağlar. - Event Hubs ve Azure İzleyici günlük hedeflerini etkinleştirmek için yeni bir söz dizimi
TO EXTERNAL MONITOR
sağlanır. - Azure SQL Yönetilen Örneği Windows dosya paylaşımlara erişemediğinden söz dizimi
TO FILE
desteklenmiyor. - Kapatma seçeneği desteklenmiyor.
queue_delay
0 desteklenmez.
Sonraki adımlar
- Denetim günlüğü tüketim yöntemlerinin tam listesi için bkz. Azure SQL Veritabanı denetimi kullanmaya başlama.