PostgreSQL için Azure Veritabanı - Esnek Sunucuda denetim günlüğü
Makale
ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Veritabanı - Esnek Sunucu
PostgreSQL için Azure Veritabanı esnek sunucudaki veritabanı etkinliklerinin pgaudit denetim günlüğü, uzantı aracılığıyla kullanılabilir. pgaudit ayrıntılı oturum ve/veya nesne denetim günlüğü sağlar.
İşlem ve depolama ölçeklendirme gibi işlemler için Azure kaynak düzeyinde günlükler istiyorsanız bkz . Azure Etkinlik Günlüğü.
Kullanımla ilgili dikkat edilmesi gerekenler
Varsayılan olarak, pgaudit günlük deyimleri ve normal günlük deyimleriniz Postgres'in standart günlüğe kaydetme özelliği kullanılarak gönderilir. PostgreSQL için Azure Veritabanı esnek sunucusunda, Log Analytics'te daha sonra analiz için Azure İzleyici Günlük deposuna gönderilecek tüm günlükleri yapılandırabilirsiniz. Azure İzleyici kaynak günlüğünü etkinleştirirseniz, günlükleriniz tercihinize bağlı olarak otomatik olarak (JSON biçiminde) Azure Depolama, Event Hubs ve/veya Azure İzleyici günlüklerine gönderilir.
Azure Depolama, Event Hubs veya Azure İzleyici günlüklerinde günlüğe kaydetmeyi ayarlamayı öğrenmek için sunucu günlükleri makalesinin kaynak günlükleri bölümünü ziyaret edin.
Uzantıyı yükleme
Uzantıyı kullanabilmek pgaudit için, uzantıyı kullanmayı planladığınız veritabanında izin verilenler listesine eklemeniz, yüklemeniz ve oluşturmanız gerekir.
Uzantı ayarlarını yapılandırma
pgaudit oturum veya nesne denetim günlüğünü yapılandırmanıza olanak tanır. Oturum denetim günlüğü , yürütülen deyimlerin ayrıntılı günlüklerini gösterir. Nesne denetim günlüğü , denetim kapsamının belirli ilişkilere göre belirlenmiş olmasıdır. Bir veya her iki günlük türünü de ayarlamayı seçebilirsiniz.
'yi etkinleştirdikten pgauditsonra, günlüğe kaydetmeyi başlatmak için parametrelerini yapılandırabilirsiniz.
yapılandırmak pgauditiçin şu yönergeleri izleyebilirsiniz:
PostgreSQL esnek sunucusu için Azure Veritabanı örneğinizi seçin.
Kaynak menüsünde, Ayarlar'ın altında Sunucu parametreleri'ni seçin.
Parametreleri arayın pgaudit .
Düzenlemek için uygun parametreyi seçin. Örneğin , , UPDATE, DELETETRUNCATEve COPY deyimlerini günlüğe kaydetmeye INSERTbaşlamak için olarak WRITEayarlayınpgaudit.log.
Değişiklikleri kaydetmek için Kaydet düğmesini seçin.
Az postgres flexible-server parameter set komutu aracılığıyla herhangi bir pgaudit sunucu parametresinin değerini ayarlayabilirsiniz .
Azure CLI
az postgres flexible-server parameter set --resource-group<resource_group>--server-name<server>--source user-override--name<parameter>--value<value>
resmi belgeleripgaudit her parametrenin tanımını sağlar. Önce parametreleri test edin ve beklenen davranışı elde ettiğinizi onaylayın.
Örneğin, ON ayarı pgaudit.log_client yalnızca denetim olaylarını sunucu günlüğüne yazmakla kalmaz, aynı zamanda istemci işlemlerine de gönderir (psql gibi). Bu ayar genellikle devre dışı bırakılmalıdır.
pgaudit.log_level parametresi ancak pgaudit.log_client açık olduğunda etkinleştirilir.
esnek PostgreSQL için Azure Veritabanı sunucuda, pgaudit.log belgelerde pgaudit açıklandığı gibi (eksi) işareti kısayolu kullanılarak - ayarlanamaz. Tüm gerekli deyim sınıfları (READ, WRITE, vb.) ayrı ayrı belirtilmelidir.
parametresini log_statement veya olarak DDL ayarlar ve bir CREATE ROLE/USER ... WITH PASSWORD ... ; veya ALLALTER ROLE/USER ... WITH PASSWORD ... ;komutu çalıştırırsanız PostgreSQL, PostgreSQL günlüklerinde parolanın düz metin olarak günlüğe kaydedildiği bir girdi oluşturur ve bu da olası bir güvenlik riskine neden olabilir. PostgreSQL altyapısı tasarımına göre beklenen davranıştır.
Bununla birlikte, uzantısını pgaudit kullanabilir ve olarak ayarlayabilirsiniz pgaudit.logDDL. Bu uzantı, olarak ayarlandığından log_statementDDLfarklı olarak Postgres sunucu günlüğüne herhangi bir CREATE/ALTER ROLE deyim kaydetmez. Bu deyimleri günlüğe kaydetmeniz gerekiyorsa, olarak da ayarlayabilirsiniz pgaudit.log. Bu ayar, günlüğe ROLEkaydederken CREATE/ALTER ROLEparolayı günlüklerden yeniden işler.
Denetim günlüğü biçimi
Her denetim girdisi ile AUDIT:başlar. Girdinin geri kalanının biçimi, belgelerinde ayrıntılı olarak yer alırpgaudit.
Başlarken
Hızlı bir şekilde başlamak için olarak ayarlayın pgaudit.logALLve sunucu günlüklerinizi açarak çıkışı gözden geçirin.
Azure İzleyici Günlükleri için günlükler seçtiğiniz çalışma alanına gönderilir. Postgres günlükleri AzureDiagnostics koleksiyon modunu kullanır, böylece AzureDiagnostics tablosundan sorgulanabilir. Azure İzleyici Günlükleri sorgusuna genel bakış bölümünde sorgulama ve uyarı oluşturma hakkında daha fazla bilgi edinin.
Başlamak için bu sorguyu kullanabilirsiniz. Uyarıları sorgulara göre yapılandırabilirsiniz.
Son gün belirli bir sunucu için Postgres günlüklerindeki tüm pgaudit girişleri arama
Kusto
AzureDiagnostics
| where Resource =~ "<flexible-server-name>"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d)
| where Message contains"AUDIT:"
PostgreSQL için Azure Veritabanı, Microsoft bulutunda hizmet olarak platform veritabanı hizmetidir. PostgreSQL açık kaynak ilişkisel veritabanını temel alır ve yerleşik yüksek kullanılabilirlik, otomatik yedekleme ve geri yükleme ile kapsamlı güvenlik özellikleri içerir. Kullandıkça öde fiyatlandırma modeli tahmin edilebilir performans ve neredeyse anında ölçeklendirme sağlar. Bu öğrenme yolunda, PostgreSQL'in ana özellikleri ve bunların PostgreSQL için Azure Veritabanı nasıl çalıştığı hakkında bilgi edinac
Microsoft PaaS ilişkisel veritabanı tekliflerini kullanarak bulut, şirket içi ve karma ilişkisel veritabanları için SQL Server veritabanı altyapısını yönetme.
Bu makalede Azure portalından PostgreSQL için Azure Veritabanı - Esnek Sunucu için ölçüm uyarılarının nasıl yapılandırıldığı ve bunlara nasıl erişıldığı açıklanır.