Müşteri tarafından yönetilen anahtarla tek sunucu veri şifrelemesi PostgreSQL için Azure Veritabanı

ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Veritabanı - Tek Sunucu

Önemli

PostgreSQL için Azure Veritabanı - Tek Sunucu kullanımdan kaldırma yolundadır. PostgreSQL için Azure Veritabanı - Esnek Sunucu'ya yükseltmenizi kesinlikle öneririz. PostgreSQL için Azure Veritabanı - Esnek Sunucu'ya geçiş hakkında daha fazla bilgi için bkz. PostgreSQL için Azure Veritabanı Tek Sunucuya ne oluyor?.

Azure PostgreSQL, Microsoft tarafından yönetilen anahtarları kullanarak bekleyen verileri varsayılan olarak şifrelemek için Azure Depolama şifrelemeden yararlanıyor. Azure PostgreSQL kullanıcıları için bu, SQL Server gibi diğer veritabanlarındaki Saydam Veri Şifrelemesi (TDE) ile çok benzerdir. Birçok kuruluş, müşteri tarafından yönetilen bir anahtar kullanarak verilere erişim üzerinde tam denetime ihtiyaç duyar. PostgreSQL için Azure Veritabanı Tek sunucu için müşteri tarafından yönetilen anahtarlarla veri şifreleme, bekleyen veri koruması için kendi anahtarınızı (BYOK) getirmenizi sağlar. Kuruluşlar bu sayede anahtarların ve verilerin yönetiminde görev ayrımı yapabilir. Müşteri tarafından yönetilen şifreleme senaryosunda anahtarın yaşam döngüsü, anahtar kullanım izinleri ve anahtar işlemlerinin denetimi konusunda sorumlu ve tam denetim sahibi olursunuz.

PostgreSQL için Azure Veritabanı Tek sunucu için müşteri tarafından yönetilen anahtarlarla veri şifreleme, sunucu düzeyinde ayarlanır. Belirli bir sunucu için, hizmet tarafından kullanılan veri şifreleme anahtarını (DEK) şifrelemek için anahtar şifreleme anahtarı (KEK) olarak adlandırılan müşteri tarafından yönetilen bir anahtar kullanılır. KEK, müşteriye ait ve müşteri tarafından yönetilen bir Azure Key Vault örneğinde depolanan asimetrik bir anahtardır. Anahtar Şifreleme Anahtarı (KEK) ve Veri Şifreleme Anahtarı (DEK), bu makalenin devamında daha ayrıntılı olarak açıklanmıştır.

Key Vault bulut tabanlı bir dış anahtar yönetim sistemidir. Yüksek oranda kullanılabilir ve isteğe bağlı olarak FIPS 140 doğrulanmış donanım güvenlik modülleri (HSM) tarafından desteklenen RSA şifreleme anahtarları için ölçeklenebilir, güvenli depolama sağlar. Depolanan anahtara doğrudan erişime izin vermez, ancak yetkili varlıklara şifreleme ve şifre çözme hizmetleri sağlar. Key Vault anahtarı oluşturabilir, içeri aktarabilir veya şirket içi HSM cihazından aktarabilir.

Not

Bu özellik, PostgreSQL için Azure Veritabanı Tek sunucunun "Genel Amaçlı" ve "Bellek için İyileştirilmiş" fiyatlandırma katmanlarını desteklediği tüm Azure bölgelerinde kullanılabilir. Diğer sınırlamalar için sınırlama bölümüne bakın.

Sosyal haklar

PostgreSQL için Azure Veritabanı Tek sunucu için müşteri tarafından yönetilen anahtarlarla veri şifreleme aşağıdaki avantajları sağlar:

  • Veri erişimi, anahtarı kaldırma ve veritabanına erişilemez hale getirme özelliğiyle sizin tarafınızdan tam olarak denetlenir.
  • Anahtarın şirket ilkeleriyle uyumlu olacak şekilde döndürülerek anahtar yaşam döngüsü üzerinde tam denetim.
  • Azure Key Vault'ta anahtarların merkezi yönetimi ve düzenlenmesi.
  • PostgreSQL, her iki senaryoda da veri şifrelemesi için Azure depolama katmanına bağlı olduğundan şifrelemenin etkinleştirilmesi, müşterilerin yönettiği anahtar (CMK) ile veya olmadan ek performans etkisine sahip değildir. Tek fark CMK'nin Azure Depolama Şifreleme Anahtarı kullanılarak gerçek veri şifrelemesinin CMK kullanılarak şifrelenmesidir.
  • Güvenlik görevlileri ile DBA ve sistem yöneticileri arasında görev ayrımı uygulama becerisi.

Terminoloji ve açıklama

Veri şifreleme anahtarı (DEK): Bir veri bölümünü veya bloğunu şifrelemek için kullanılan simetrik AES256 anahtarı. Her veri bloğunun farklı bir anahtarla şifrelenmesi, şifreleme analizi saldırılarını daha zor hale getirir. DEK'lere erişim, belirli bir bloğu şifreleyen ve şifresini çözen kaynak sağlayıcısı veya uygulama örneği tarafından gereklidir. Dek değerini yeni bir anahtarla değiştirdiğinizde, yalnızca ilişkili bloğundaki veriler yeni anahtarla yeniden şifrelenmelidir.

Anahtar şifreleme anahtarı (KEK):DEK'leri şifrelemek için kullanılan bir şifreleme anahtarı. Key Vault'dan hiç ayrılmamış bir KEK, DEK'lerin şifrelenmesini ve denetlenmesini sağlar. KEK'ye erişimi olan varlık, DEK gerektiren varlıktan farklı olabilir. KEK'nin DEK'lerin şifresini çözmesi gerektiğinden KEK, KEK silinerek DEK'lerin etkili bir şekilde silinebileceği tek bir noktadır.

KEK'lerle şifrelenmiş DEK'ler ayrı olarak depolanır. Bu DEK'lerin şifresini yalnızca KEK erişimi olan bir varlık çözebilir. Daha fazla bilgi için bkz . Bekleyen şifrelemede güvenlik.

Müşteri tarafından yönetilen anahtarla veri şifreleme nasıl çalışır?

Kendi Anahtarını Getir'e genel bir bakış gösteren diyagram

PostgreSQL sunucusunun DEK şifrelemesi için Key Vault'ta depolanan müşteri tarafından yönetilen anahtarları kullanması için, Key Vault yöneticisi sunucuya aşağıdaki erişim haklarını verir:

  • get: Anahtar kasasında anahtarın ortak bölümünü ve özelliklerini almak için.
  • wrapKey: DEK'yi şifreleyebilmek için. Şifrelenmiş DEK, PostgreSQL için Azure Veritabanı depolanır.
  • unwrapKey: DEK'nin şifresini çözebilmek için. PostgreSQL için Azure Veritabanı verileri şifrelemek/şifresini çözmek için şifresi çözülmüş DEK'ye ihtiyaç duyar

Anahtar kasası yöneticisi, Key Vault denetim olaylarının günlüğe kaydedilmesini de etkinleştirerek daha sonra denetlenebilir.

Sunucu, anahtar kasasında depolanan müşteri tarafından yönetilen anahtarı kullanacak şekilde yapılandırıldığında, şifreleme için DEK'yi anahtar kasasına gönderir. Key Vault, kullanıcı veritabanında depolanan şifrelenmiş DEK'yi döndürür. Benzer şekilde, gerektiğinde sunucu korumalı DEK'yi şifre çözme için anahtar kasasına gönderir. Denetçiler, günlüğe kaydetme etkinse Key Vault denetim olay günlüklerini gözden geçirmek için Azure İzleyici'yi kullanabilir.

PostgreSQL için Azure Veritabanı Tek sunucu için veri şifrelemesini yapılandırma gereksinimleri

Key Vault'un yapılandırılması için gereksinimler şunlardır:

  • Key Vault ve PostgreSQL için Azure Veritabanı Tek sunucu aynı Microsoft Entra kiracısına ait olmalıdır. Kiracılar arası Key Vault ve sunucu etkileşimleri desteklenmez. Daha sonra Key Vault kaynağını taşımak için veri şifrelemesini yeniden yapılandırmanız gerekir.
  • 'Silinen kasaların saklanması için gün sayısı' için anahtar kasasının 90 gün ile ayarlanması gerekir. Mevcut anahtar kasası daha düşük bir sayı ile yapılandırılmışsa, oluşturulduktan sonra değiştirilemeyeceği için yeni bir anahtar kasası oluşturmanız gerekir.
  • Yanlışlıkla anahtar (veya Key Vault) silme işlemi gerçekleştiğinde veri kaybından korunmak için anahtar kasasında geçici silme özelliğini etkinleştirin. Geçici olarak silinen kaynaklar, kullanıcı bu sırada bunları kurtarmadığı veya temizlemediği sürece 90 gün boyunca saklanır. Kurtarma ve temizleme eylemlerinin bir Key Vault erişim ilkesiyle ilişkili kendi izinleri vardır. Geçici silme özelliği varsayılan olarak kapalıdır, ancak PowerShell veya Azure CLI aracılığıyla etkinleştirebilirsiniz (Azure portalı üzerinden etkinleştiremezseniz).
  • Silinen kasalar ve kasa nesneleri için zorunlu saklama süresini zorlamak için Temizleme korumasını etkinleştirin
  • Benzersiz yönetilen kimliğini kullanarak anahtar kasasına get, wrapKey ve unwrapKey izinleriyle PostgreSQL için Azure Veritabanı Tek sunucu erişimi verin. Azure portalında, PostgreSQL Tek sunucusunda veri şifreleme etkinleştirildiğinde benzersiz 'Hizmet' kimliği otomatik olarak oluşturulur. Azure portalını kullanırken ayrıntılı ve adım adım yönergeler için bkz. Azure portalını kullanarak PostgreSQL için Azure Veritabanı Tek sunucu için veri şifreleme.

Müşteri tarafından yönetilen anahtarı yapılandırma gereksinimleri şunlardır:

  • DEK'yi şifrelemek için kullanılacak müşteri tarafından yönetilen anahtar yalnızca asimetrik, RSA 2048 olabilir.
  • Anahtar etkinleştirme tarihi (ayarlandıysa) geçmişe ait bir tarih ve saat olmalıdır. Son kullanma tarihi (ayarlandıysa) gelecekteki bir tarih ve saat olmalıdır.
  • Anahtar Etkin durumda olmalıdır.
  • Mevcut bir anahtarı anahtar kasasına aktarıyorsanız, bunu desteklenen dosya biçimlerinde (.pfx, .byok, .backup) sağladığından emin olun.

Öneriler

Müşteri tarafından yönetilen bir anahtar kullanarak veri şifrelemesi kullanırken Key Vault'un yapılandırılması için öneriler şunlardır:

  • Bu kritik kaynağı kimlerin silebileceğini denetlemek ve yanlışlıkla veya yetkisiz silmeyi önlemek için Key Vault'ta bir kaynak kilidi ayarlayın.

  • Tüm şifreleme anahtarlarında denetimi ve raporlamayı etkinleştirin. Key Vault, diğer güvenlik bilgilerine ve olay yönetimi araçlarına kolayca eklenen günlükler sağlar. Azure İzleyici Log Analytics, zaten tümleştirilmiş bir hizmet örneğidir.

  • DEK sarmalama ve açma işlemlerine daha hızlı erişim sağlamak için Key Vault ve PostgreSQL için Azure Veritabanı Tek sunucunun aynı bölgede bulunduğundan emin olun.

  • Azure KeyVault'u yalnızca özel uç nokta ve seçili ağlara kilitleyin ve yalnızca güvenilen Microsoft hizmetlerinin kaynakların güvenliğini sağlamasına izin verin.

    trusted-service-with-AKV

Müşteri tarafından yönetilen anahtarı yapılandırmaya yönelik öneriler şunlardır:

  • Müşteri tarafından yönetilen anahtarın bir kopyasını güvenli bir yerde tutun veya emanet hizmetine emanet edin.

  • Anahtarı Key Vault oluşturuyorsa anahtarı ilk kez kullanmadan önce bir anahtar yedeklemesi oluşturun. Yedeklemeyi yalnızca Key Vault'a geri yükleyebilirsiniz. Yedekleme komutu hakkında daha fazla bilgi için bkz . Backup-AzKeyVaultKey.

Müşteri tarafından yönetilen erişilemez anahtar koşulu

Key Vault'ta müşteri tarafından yönetilen bir anahtarla veri şifrelemeyi yapılandırdığınızda, sunucunun çevrimiçi kalması için bu anahtara sürekli erişim gerekir. Sunucu Key Vault'ta müşteri tarafından yönetilen anahtara erişimi kaybederse, sunucu 10 dakika içinde tüm bağlantıları reddetmeye başlar. Sunucu karşılık gelen bir hata iletisi gönderir ve sunucu durumunu Erişilemez olarak değiştirir. Sunucunun bu duruma ulaşma nedenlerinden bazıları şunlardır:

  • Veri şifrelemesi etkinleştirilmiş PostgreSQL için Azure Veritabanı Tek sunucunuz için Belirli Bir Noktaya Geri Yükleme sunucusu oluşturursak, yeni oluşturulan sunucu erişilemez durumda olur. Sunucu durumunu Azure portalı veya CLI aracılığıyla düzeltebilirsiniz.
  • Veri şifrelemesi etkinleştirilmiş PostgreSQL için Azure Veritabanı Tek sunucunuz için okuma amaçlı bir çoğaltma oluşturursak, çoğaltma sunucusu erişilemez durumda olur. Sunucu durumunu Azure portalı veya CLI aracılığıyla düzeltebilirsiniz.
  • KeyVault'ı silerseniz, PostgreSQL için Azure Veritabanı Tek sunucu anahtara erişemez ve Erişilemez duruma geçer. Key Vault'un kurtarılması ve sunucunun Kullanılabilir olması için veri şifrelemesini yeniden doğrulama.
  • Anahtarı KeyVault'tan silersek PostgreSQL için Azure Veritabanı Tek sunucu anahtara erişemez ve Erişilemez duruma geçer. Sunucuyu Kullanılabilir hale getirmek için Anahtarı kurtarın ve veri şifrelemesini yeniden doğrulama.
  • Azure KeyVault'ta depolanan anahtarın süresi dolarsa, anahtar geçersiz olur ve tek sunucu PostgreSQL için Azure Veritabanı erişilemez duruma geçer. CLI kullanarak anahtar süre sonu tarihini uzatın ve ardından sunucuyu Kullanılabilir hale getirmek için veri şifrelemesini yeniden doğrulayın.

Key Vault'tan yanlışlıkla anahtar erişimi iptali

Key Vault'a yeterli erişim haklarına sahip biri, anahtara sunucu erişimini yanlışlıkla şu şekilde devre dışı bırakabilir:

  • Anahtar kasasının sunucudan alma, wrapKey ve unwrapKey izinlerini iptal etme.

  • Anahtar siliniyor.

  • Anahtar kasası siliniyor.

  • Anahtar kasasının güvenlik duvarı kurallarını değiştirme.

  • Microsoft Entra Id'de sunucunun yönetilen kimliğini silme.

Key Vault'ta müşteri tarafından yönetilen anahtarı izleme

Veritabanı durumunu izlemek ve saydam veri şifreleme koruyucusu erişiminin kaybıyla ilgili uyarıyı etkinleştirmek için aşağıdaki Azure özelliklerini yapılandırın:

  • Azure Kaynak Durumu: Müşteri anahtarına erişimi kaybedilen erişilemez bir veritabanı, veritabanına ilk bağlantı reddedildikten sonra "Erişilemez" olarak gösterilir.

  • Etkinlik günlüğü: Müşteri tarafından yönetilen Key Vault'ta müşteri anahtarına erişim başarısız olduğunda, girişler etkinlik günlüğüne eklenir. Bu olaylar için uyarılar oluşturursanız, erişimi mümkün olan en kısa sürede yeniden devreye alabilirsiniz.

  • Eylem grupları: Tercihlerinize göre size bildirim ve uyarı göndermek için bu grupları tanımlayın.

Key Vault'da müşterinin yönetilen anahtarıyla geri yükleme ve çoğaltma

PostgreSQL için Azure Veritabanı Tek sunucu Müşterinin Key Vault'ta depolanan yönetilen anahtarıyla şifrelendiğinde, sunucunun yeni oluşturulan tüm kopyaları da şifrelenir. Bu yeni kopyayı yerel veya coğrafi geri yükleme işlemi aracılığıyla veya okuma amaçlı çoğaltmalar aracılığıyla yapabilirsiniz. Ancak kopya, yeni bir müşterinin şifreleme için yönetilen anahtarını yansıtacak şekilde değiştirilebilir. Müşteri tarafından yönetilen anahtar değiştirildiğinde, sunucunun eski yedeklemeleri en son anahtarı kullanmaya başlar.

Geri yükleme veya okuma amaçlı çoğaltma oluşturma sırasında müşteri tarafından yönetilen veri şifrelemesini ayarlarken karşılaşılan sorunları önlemek için, birincil ve geri yüklenen/çoğaltma sunucularında şu adımları izlemek önemlidir:

  • Birincil PostgreSQL için Azure Veritabanı Tek sunucudan geri yükleme veya okuma amaçlı çoğaltma oluşturma işlemini başlatın.
  • Benzersiz kimliğine henüz Key Vault izinleri verilmediğinden, yeni oluşturulan sunucuyu (geri yüklenen/çoğaltma) erişilemez durumda tutun.
  • Geri yüklenen/çoğaltma sunucusunda, veri şifreleme ayarlarında müşteri tarafından yönetilen anahtarı yeniden doğrulayın. Bu, yeni oluşturulan sunucuya Key Vault'ta depolanan anahtara sarmalama ve kaldırma izinleri verilmesini sağlar.

Sınırlamalar

PostgreSQL için Azure Veritabanı için, bekleyen verilerin müşteriler tarafından yönetilen anahtar (CMK) kullanılarak şifrelenmesi desteğinin birkaç sınırlaması vardır -

  • Bu işlev desteği Genel Amaçlı ve Bellek için İyileştirilmiş fiyatlandırma katmanlarıyla sınırlıdır.

  • Bu özellik yalnızca 16 TB'a kadar depolamayı destekleyen bölgelerde ve sunucularda desteklenir. 16 TB'a kadar depolamayı destekleyen Azure bölgelerinin listesi için buradaki belgelerde yer alan depolama bölümüne bakın

    Not

    • Yukarıda listelenen bölgelerde oluşturulan tüm yeni PostgreSQL sunucuları, müşteri yöneticisi anahtarlarıyla şifreleme desteği sağlanır. Point In Time Restored (PITR) sunucusu veya okuma çoğaltması teoride 'yeni' olmalarına rağmen nitelenmeyecektir.
    • Sağlanan sunucunuzun 16 TB'a kadar destekleyip desteklemediğini doğrulamak için portaldaki fiyatlandırma katmanı dikey penceresine gidebilir ve sağlanan sunucunuz tarafından desteklenen maksimum depolama boyutunu görebilirsiniz. Kaydırıcıyı 4 TB'a kadar taşıyabiliyorsanız, sunucunuz müşteri tarafından yönetilen anahtarlarla şifrelemeyi desteklemeyebilir. Ancak veriler, hizmet tarafından yönetilen anahtarlar kullanılarak her zaman şifrelenir. Sorularınız varsa lütfen adresine ulaşın AskAzureDBforPostgreSQL@service.microsoft.com .
  • Şifreleme yalnızca RSA 2048 şifreleme anahtarıyla desteklenir.

Sonraki adımlar

Azure portalını kullanarak PostgreSQL için Azure veritabanı Tek sunucunuz için müşteri tarafından yönetilen bir anahtarla veri şifrelemeyi ayarlamayı öğrenin.