Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
uzantısını pgaudit kullanarak PostgreSQL için Azure Veri Tabanı'deki veritabanı etkinliklerini denetleyebilirsiniz.
pgaudit ayrıntılı oturum ve 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 deyimleri günlüğe kaydeder ve Postgres'in standart günlük kaydı özelliği normal günlük iletilerinizi oluşturur. PostgreSQL için Azure Veri Tabanı'da, Log Analytics'da daha sonra analiz için tüm günlükleri Azure İzleyici Günlük deposuna gönderilecek şekilde yapılandırabilirsiniz. Azure İzleyici kaynak günlüğünü etkinleştirirseniz, günlükleriniz seçiminize bağlı olarak Azure Depolama, Event Hubs ve Azure İzleyici günlüklerine otomatik olarak gönderilir (JSON biçiminde).
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
pgaudit uzantısını kullanmak için, uzantıyı kullanmayı planladığınız veritabanında uzantıyı izin verilenler listesine alın, yükleyin ve oluşturun.
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 türdeki günlük kaydını ayarlamayı seçebilirsiniz.
' yi etkinleştirdikten pgauditsonra, günlüğe kaydetmeyi başlatmak için parametrelerini yapılandırın.
pgaudit'ı yapılandırmak için şu yönergeleri izleyin:
Azure portalını kullanın:
Esnek PostgreSQL için Azure Veri Tabanı sunucu örneğinizi seçin.
Kaynak menüsünde, Ayarlar bölümünün altında Parametreler'i seçin.
Parametreleri arayın
pgaudit.Düzenlemek için uygun parametreyi seçin. Örneğin,
INSERT,UPDATE,DELETE,TRUNCATEveCOPYifadelerini günlüğe kaydetmeye başlamak içinpgaudit.logdeğeriniWRITEolarak ayarlayın.Yaptığınız değişiklikleri kaydetmek için Kaydet'i seçin.
resmi belgeleripgaudit her parametrenin tanımını sağlar. Önce parametreleri test edin ve beklenen davranışı elde ettiğinizi onaylayın.
Örneğin, pgaudit.log_client ayarını ON olarak ayarlamak, denetim olaylarını yalnızca sunucu günlüğüne yazmakla kalmaz, aynı zamanda bunları istemci süreçlerine de gönderir (psql gibi). Genel olarak, bu ayarı devre dışı bırakın.
pgaudit.log_level parametresi ancak pgaudit.log_client açık olduğunda etkinleştirilir.
PostgreSQL için Azure Veri Tabanı Esnek Sunucu’da, pgaudit belgelerinde açıklandığı gibi, pgaudit.log değerini - (eksi) işareti kısayolunu kullanarak ayarlayamazsınız. Tüm gerekli deyim sınıflarını (READ, WRITEvb.) tek tek belirtin.
Parametresini log_statement veya olarak DDL ayarlar ve bir ALL veya CREATE ROLE/USER ... WITH PASSWORD ... ;ALTER 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 bu davranış beklenir.
Bununla birlikte, pgaudit uzantısını kullanabilir ve pgaudit.log değerini DDL olarak ayarlayabilirsiniz; bu durumda, CREATE/ALTER ROLE değerini log_statement olarak ayarladığınızda olduğu gibi, Postgres sunucu günlüğüne herhangi bir DDL ifadesi kaydedilmez. Bu ifadeleri günlüklere kaydetmeniz gerekiyorsa, pgaudit.log değerini ROLE olarak da ayarlayabilirsiniz; bu, CREATE/ALTER ROLE günlüğe kaydedilirken parolayı günlüklerden gizler.
Denetim günlüğü biçimi
Her denetim girdisi AUDIT: ile başlar. Girdinin geri kalanının biçimi, belgelerinde ayrıntılı olarak yer alır pgaudit.
Başlangıç Yapmak
Hızlıca başlamak için pgaudit.log değerini ALL olarak ayarlayın ve çıktıyı gözden geçirmek için sunucu günlüklerinizi açın.
Denetim günlüklerini görüntüleme
Günlüklere erişme yöntemi, seçtiğiniz uç noktaya bağlıdır. Azure Depolama için günlük depolama hesabı makalesine bakın. Event Hubs için Azure günlüklerini akışla aktarma makalesine bakın.
Azure İzleyici Günlükleri için günlükleri seçtiğiniz çalışma alanına gönderirsiniz. Postgres günlükleri AzureDiagnostics koleksiyon modunu kullanır, böylece bunları AzureDiagnostics tablosundan sorgulayabilirsiniz. Sorgulama ve uyarı verme hakkında daha fazla bilgi edinmek için Azure İzleyici Günlükleri sorgusuna genel bakış bölümüne bakın.
Başlamak için bu sorguyu kullanabilirsiniz. Uyarıları sorgulara göre yapılandırabilirsiniz.
Son gün içindeki belirli bir sunucu için Postgres günlüklerindeki tüm pgaudit girişleri arayın.
AzureDiagnostics
| where Resource =~ "<flexible-server-name>"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d)
| where Message contains "AUDIT:"
pgaudit uzantısının yüklü olduğu ana sürüm yükseltmesi
Ana sürüm yükseltmesi sırasında işlem otomatik olarak pgaudit uzantısını bırakır ve yükseltme tamamlandıktan sonra yeniden oluşturur. İşlem uzantıyı geri yüklese de, pgaudit.log içinde veya diğer ilgili parametrelerde ayarlanan özel yapılandırmaları otomatik olarak korumaz.