PostgreSQL için Azure Veritabanı - Esnek Sunucuda denetim günlüğü
Ş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 pgaudit
sonra, günlüğe kaydetmeyi başlatmak için parametrelerini yapılandırabilirsiniz.
yapılandırmak pgaudit
iç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
,DELETE
TRUNCATE
veCOPY
deyimlerini günlüğe kaydetmeyeINSERT
başlamak için olarakWRITE
ayarlayınpgaudit.log
.Değişiklikleri kaydetmek için Kaydet düğmesini seçin.
resmi belgeleri pgaudit
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 ALL
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 beklenen davranıştır.
Bununla birlikte, uzantısını pgaudit
kullanabilir ve olarak ayarlayabilirsiniz pgaudit.log
DDL
. Bu uzantı, olarak ayarlandığından log_statement
DDL
farklı 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 ROLE
kaydederken CREATE/ALTER ROLE
parolayı 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.log
ALL
ve sunucu günlüklerinizi açarak çıkışı gözden geçirin.
Denetim günlüklerini görüntüleme
Günlüklere erişme şekliniz hangi uç noktayı seçtiğinize 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ü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
AzureDiagnostics
| where Resource =~ "<flexible-server-name>"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d)
| where Message contains "AUDIT:"
İlgili içerik
- PostgreSQL için Azure Veritabanı - Esnek Sunucuda oturum açma.
- PostgreSQL için Azure Veritabanı - Esnek Sunucuda günlüğe kaydetme ve erişim günlüklerini yapılandırın.