İngilizce dilinde oku

Aracılığıyla paylaş


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 pgauditsonra, günlüğe kaydetmeyi başlatmak için parametrelerini yapılandırabilirsiniz.

yapılandırmak pgauditiçin şu yönergeleri izleyebilirsiniz:

Azure portalını kullanma:

  1. PostgreSQL esnek sunucusu için Azure Veritabanı örneğinizi seçin.

  2. Kaynak menüsünde, Ayarlar'ın altında Sunucu parametreleri'ni seçin.

  3. Parametreleri arayın pgaudit .

  4. 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.

  5. 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 DDLfarklı 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.log ALLve 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

Kusto
AzureDiagnostics
| where Resource =~ "<flexible-server-name>"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d)
| where Message contains "AUDIT:"