Aracılığıyla paylaş


PostgreSQL için Azure Veritabanı - Esnek Sunucuda müşteri tarafından yönetilen anahtarla veri şifreleme

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

PostgreSQL için Azure Veritabanı esnek sunucu kullanımları Microsoft tarafından yönetilen anahtarları kullanarak bekleyen verileri varsayılan olarak şifrelemek için Azure Depolama şifrelemesi. Esnek PostgreSQL için Azure Veritabanı sunucu kullanıcıları için bu, SQL Server gibi diğer veritabanlarında saydam veri şifrelemesine benzer.

Birçok kuruluş, müşteri tarafından yönetilen bir anahtar (CMK) kullanarak verilere erişimin tam denetimini gerektirir. esnek PostgreSQL için Azure Veritabanı sunucu için CMK'lerle veri şifrelemesi, bekleyen veri koruması için anahtarınızı (KAG) getirmenizi sağlar. Kuruluşlar bu sayede anahtarların ve verilerin yönetiminde görev ayrımı yapabilir. CMK şifrelemesi ile anahtarın yaşam döngüsünden, anahtar kullanım izinlerinden ve anahtarlardaki işlemlerin denetiminden siz sorumlu olursunuz.

Esnek PostgreSQL için Azure Veritabanı sunucu için CMK'lerle veri şifreleme, sunucu düzeyinde ayarlanır. Belirli bir sunucu için, hizmetin veri şifreleme anahtarını (DEK) şifrelemek için anahtar şifreleme anahtarı (KEK) adlı bir CMK türü 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. KEK ve 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.

Sosyal haklar

esnek PostgreSQL için Azure Veritabanı sunucu için CMK'lerle veri şifreleme aşağıdaki avantajları sağlar:

  • Veri erişimini tam olarak denetlersiniz. Veritabanına erişilemez hale getirmek için bir anahtarı kaldırabilirsiniz.

  • Anahtarın şirket ilkeleriyle uyumlu olacak şekilde dönmesi de dahil olmak üzere bir anahtarın yaşam döngüsünü tam olarak denetlersiniz.

  • Key Vault'ta anahtarları merkezi olarak yönetebilir ve düzenleyebilirsiniz.

  • PostgreSQL her iki senaryoda da veri şifrelemesi için Azure Depolama katmanına bağlı olduğundan, şifrelemenin açılması CMK'larla veya CMK'ler olmadan performansı etkilemez. Tek fark, CMK kullandığınızda Azure Depolama şifreleme anahtarının (gerçek veri şifrelemesi gerçekleştiren) şifrelenmedir.

  • Güvenlik görevlileri, veritabanı yöneticileri ve sistem yöneticileri arasında görev ayrımı uygulayabilirsiniz.

Terminoloji

Veri şifreleme anahtarı (DEK): Bir veri bölümünü veya veri bloğunu şifrelemek için kullanılan simetrik AES 256 anahtarı. Her veri bloğunun farklı bir anahtarla şifrelenmesi, şifreleme saldırılarını daha zor hale getirir. Belirli bir bloğu şifreleyen ve şifresini çözen kaynak sağlayıcısının veya uygulama örneğinin DEK'lere erişmesi gerekir. 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, DEK'lerin şifresini çözmek için gerekli olduğundan KEK, DEK'leri silebileceğiniz tek bir noktadır (KEK'yi silerek).

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

CMK ile veri şifreleme nasıl çalışır?

Kendi anahtarını getir'e genel bir bakış gösteren diyagram.

CmK'ye bağlanmak ve almak için Microsoft Entra kullanıcı tarafından atanan yönetilen kimlik kullanılır. Kimlik oluşturmak için bu öğreticiyi izleyin.

PostgreSQL sunucusunun DEK şifrelemesi için Key Vault'ta depolanan CMK'leri kullanması için, Key Vault yöneticisi oluşturduğunuz yönetilen kimliğe aşağıdaki erişim haklarını verir:

  • get: Key Vault'ta anahtarın ortak bölümünü ve özelliklerini almak için.

  • list: Key Vault'taki anahtarları listelemek ve yinelemek için.

  • wrapKey: DEK'yi şifrelemek için. Şifrelenmiş DEK PostgreSQL için Azure Veritabanı depolanır.

  • unwrapKey: DEK'nin şifresini çözmek için. PostgreSQL için Azure Veritabanı şifresi çözülmüş DEK'nin verileri şifrelemesi ve şifresini çözmesi gerekir.

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

Erişim hakları atamasına alternatif olarak, yukarıda açıklandığı gibi Key Vault Şifreleme Hizmeti Şifreleme Kullanıcısı rolüyle yeni bir Azure RBAC rol ataması oluşturabilirsiniz.

Önemli

Key Vault'a erişim için yönetilen kimliğe önceki erişim haklarının veya RBAC atamasının sağlanamaması, şifreleme anahtarının getirilememesine ve CMK özelliğinin ayarlanmamasına neden olabilir.

Sunucuyu Key Vault'ta depolanan CMK'yi kullanacak şekilde yapılandırdığınızda, sunucu şifreleme için DEK'yi Key Vault'a gönderir. Key Vault, kullanıcı veritabanında depolanan şifrelenmiş DEK'yi döndürür. Gerektiğinde, sunucu şifre çözme için korumalı DEK'yi Key Vault'a gönderir. Denetçiler, günlüğe kaydetme açıksa Key Vault denetim olay günlüklerini gözden geçirmek için Azure İzleyici'yi kullanabilir.

PostgreSQL için Azure Veritabanı esnek 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ı esnek sunucusu 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.

  • Key Vault için silinen kasaları tutma günleri ayarı 90 olmalıdır. Mevcut Key Vault örneğini daha düşük bir sayıyla yapılandırdıysanız, oluşturma işleminden sonra bir örneği değiştiremediğiniz için yeni bir Key Vault örneği oluşturmanız gerekir.

  • Key Vault'ta silinen kasaların yapılandırmasını korumak için Günler yapılandırmasını 90 gün olarak ayarlamanız önerilir. Mevcut bir Key Vault örneğini daha düşük bir sayıyla yapılandırmış olmanız durumunda, yine de geçerli olmalıdır. Ancak, bu ayarı değiştirmek ve değeri artırmak istiyorsanız yeni bir Key Vault örneği oluşturmanız gerekir. Bir örnek oluşturulduktan sonra, yapılandırmasını değiştirmek mümkün değildir.

  • Anahtar veya Key Vault örneği yanlışlıkla silinirse veri kaybına karşı korunmaya yardımcı olmak için Key Vault'ta geçici silme özelliğini etkinleştirin. Key Vault, kullanıcı kurtarmadığı veya temizlemediği sürece geçici olarak silinen kaynakları 90 gün boyunca saklar. 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 açabilirsiniz. Azure portalı aracılığıyla etkinleştiremezsiniz.

  • 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 alma, listeleme, wrapKey ve unwrapKey izinleriyle Key Vault'a PostgreSQL için Azure Veritabanı esnek sunucu örneği erişimi verin. Alternatif olarak, yönetilen kimlik için Key Vault Şifreleme Hizmeti Şifreleme Kullanıcısı rolüyle yeni bir Azure RBAC rol ataması oluşturun.

Esnek PostgreSQL için Azure Veritabanı sunucuda CMK'yi yapılandırma gereksinimleri şunlardır:

  • DEK'yi şifrelemek için kullanılacak CMK yalnızca asimetrik, RSA veya RSA-HSM olabilir. 2.048, 3.072 ve 4.096 anahtar boyutları desteklenir.

  • Anahtar etkinleştirme tarihi ve saati (ayarlandıysa) geçmişte olmalıdır. Süre sonu tarihi ve saati (ayarlandıysa) gelecekte olmalıdır.

  • Anahtar durumunda *Enabled- olmalıdır.

  • Mevcut bir anahtarı Key Vault'a aktarıyorsanız, anahtarı desteklenen dosya biçimlerinde (.pfx, .byokveya .backup) sağlayın.

Öneriler

Veri şifrelemesi için CMK 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 (SIEM) araçlarına kolayca eklenen günlükler sağlar. Azure İzleyici Günlükleri, zaten tümleştirilmiş bir hizmet örneğidir.

  • Genel erişimi devre dışı bırak ve Güvenilen Microsoft hizmetleri bu güvenlik duvarını atlamasına izin ver'i seçerek Key Vault'ı kilitleyin.

    Genel erişimi devre dışı bırakmak ve yalnızca güvenilen Microsoft hizmetleri izin vermek için ağ seçeneklerinin ekran görüntüsü.

Not

Genel erişimi devre dışı bırak'ı ve Güvenilen Microsoft hizmetleri bu güvenlik duvarını atlamasına izin ver'i seçtikten sonra, portal aracılığıyla Key Vault'ı yönetmek için genel erişimi kullanmaya çalıştığınızda aşağıdakine benzer bir hata alabilirsiniz: "Ağ erişim denetimini etkinleştirdiniz. Bu anahtar kasasına yalnızca izin verilen ağlar erişebilir." Bu hata, CMK kurulumu sırasında anahtar sağlama veya sunucu işlemleri sırasında Anahtarları Key Vault'tan getirme özelliğini ortadan kaldırmaz.

CMK'yi yapılandırmaya yönelik öneriler şunlardır:

  • CMK'nin 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.

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

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

  • Key Vault'ta anahtarı almak için kullanılan kimlikten liste, alma, wrapKey ve unwrapKey izinlerini iptal etme.

  • Anahtar siliniyor.

  • Key Vault örneği siliniyor.

  • Key Vault güvenlik duvarı kurallarını değiştirme.

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

Key Vault'ta CMK'yi izleme

Veritabanı durumunu izlemek ve saydam veri şifreleme koruyucusunun erişim kaybına yönelik uyarıları açmak için aşağıdaki Azure özelliklerini yapılandırın:

  • Kaynak durumu: CMK'ye erişimi kaybeden bir veritabanı, veritabanına ilk bağlantı reddedildikten sonra Erişilemez olarak görünür.
  • Etkinlik günlüğü: Müşteri tarafından yönetilen Key Vault örneğinde CMK'ye erişim başarısız olduğunda, girişler etkinlik günlüğüne eklenir. Bu olaylar için en kısa sürede uyarılar oluşturursanız erişimi yeniden devreye alabilirsiniz.
  • Eylem grupları: Tercihlerinize göre bildirim ve uyarı almak için bu grupları tanımlayın.

Key Vault'ta müşterinin yönetilen anahtarıyla geri yükleme

PostgreSQL için Azure Veritabanı esnek sunucu, Müşterinin Key Vault'ta depolanan yönetilen anahtarıyla şifrelendiğinde, yeni oluşturulan tüm sunucu kopyaları da şifrelenir. Bu yeni kopyayı belirli bir noktaya geri yükleme (PITR) işlemi veya okuma çoğaltmaları aracılığıyla yapabilirsiniz.

Okuma amaçlı çoğaltmayı geri yükleme veya oluşturma sırasında müşteri tarafından yönetilen veri şifrelemesini ayarlarken, birincil ve geri yüklenen/çoğaltma sunucularında aşağıdaki adımları izleyerek sorunlardan kaçınabilirsiniz:

  • Birincil PostgreSQL için Azure Veritabanı esnek sunucu örneğinden geri yükleme işlemini veya okuma amaçlı çoğaltma oluşturma işlemini başlatın.

  • Geri yüklenen veya çoğaltma sunucusunda, veri şifreleme ayarlarında Key Vault'a erişmek için kullanılan CMK ve/veya Microsoft Entra kimliğini değiştirebilirsiniz. Yeni oluşturulan sunucunun Key Vault'ta depolanan anahtara yönelik liste, sarma ve anahtar kaldırma izinlerine sahip olduğundan emin olun.

  • Geri yükledikten sonra özgün anahtarı iptal etmeyin. Şu anda, CMK özellikli bir sunucuyu başka bir sunucuya geri yükledikten sonra anahtar iptalini desteklemiyoruz.

Yönetilen HSM'ler

Donanım güvenlik modülleri (HSM'ler), verileri şifrelemek, verilerin şifresini çözmek, dijital imzalar oluşturmak ve dijital sertifikalar oluşturmak için kullanılan anahtarları oluşturarak, koruyarak ve yöneterek şifreleme işlemlerinin güvenliğini sağlamaya yardımcı olan kurcalamaya dayanıklı donanım cihazlarıdır. HSM'ler FIPS 140 ve Ortak Ölçütler dahil olmak üzere en yüksek güvenlik standartlarına göre test edilir, doğrulanır ve onaylanır.

Azure Key Vault Yönetilen HSM, tam olarak yönetilen, yüksek oranda kullanılabilir, tek kiracılı, standartlara uyumlu bir bulut hizmetidir. FIPS 140-3 onaylı HSM'ler aracılığıyla bulut uygulamalarınız için şifreleme anahtarlarını korumak için kullanabilirsiniz.

AZURE portalında CMK özelliğiyle yeni PostgreSQL için Azure Veritabanı esnek sunucu örnekleri oluştururken, Azure Key Vault'a alternatif olarak anahtar deposu olarak Azure Key Vault Yönetilen HSM'yi seçebilirsiniz. Kullanıcı tanımlı kimlik ve izinler açısından önkoşullar Azure Key Vault ile aynıdır (bu makalenin önceki bölümlerinde listelendiği gibi). Yönetilen HSM örneği oluşturma, paylaşılan Key Vault tabanlı sertifika deposundan avantajları ve farkları ve anahtarları Yönetilen HSM'ye aktarma hakkında daha fazla bilgi için bkz . Azure Key Vault Yönetilen HSM nedir?.

Erişilemez CMK koşulu

Key Vault'ta bir CMK ile veri şifrelemesi yapılandırdığınızda, sunucunun çevrimiçi kalması için bu anahtara sürekli erişim gerekir. Sunucu Key Vault'ta CMK'ye 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.

Sunucu durumunun erişilemez olmasının nedenlerinden bazıları şunlardır:

  • Key Vault örneğini silerseniz, PostgreSQL için Azure Veritabanı esnek sunucu örneği anahtara erişemez ve erişilemez duruma geçer. Sunucuyu Kullanılabilir duruma getirmek için Key Vault örneğini kurtarın ve veri şifrelemesini yeniden doğrulama.
  • Anahtarı Key Vault'tan silerseniz, PostgreSQL için Azure Veritabanı esnek sunucu örneği anahtara erişemez ve erişilemez duruma geçer. Sunucuyu Kullanılabilir duruma getirmek için anahtarı kurtarın ve veri şifrelemesini yeniden doğrulama.
  • Anahtarı Key Vault'tan almak için kullanılan yönetilen kimliği Microsoft Entra Id'den silerseniz veya Key Vault Şifreleme Hizmeti Şifreleme Kullanıcısı rolüyle Azure RBAC rol atamasını silerseniz. PostgreSQL için Azure Veritabanı esnek sunucu örneği anahtara erişemez ve erişilemez duruma geçer. Sunucuyu Kullanılabilir yapmak için, kimliği kurtarın ve veri şifrelemesini yeniden doğrulama.
  • Key Vault'tan anahtar almak için kullanılan yönetilen kimlikten Key Vault listesini, get, wrapKey ve unwrapKey erişim ilkelerini iptal ederseniz, PostgreSQL için Azure Veritabanı esnek sunucu örneği anahtara erişemez ve Erişilemez duruma geçer. Key Vault'ta kimliğe gerekli erişim ilkelerini ekleyin.
  • Aşırı kısıtlayıcı Key Vault güvenlik duvarı kuralları ayarlarsanız, PostgreSQL için Azure Veritabanı esnek sunucu anahtarları almak için Key Vault ile iletişim kuramaz. Bir Key Vault güvenlik duvarı yapılandırırken, güvenilen Microsoft hizmetleri güvenlik duvarını atlamasına izin verme seçeneğini belirlediğinizden emin olun.

Not

Bir anahtar devre dışı bırakıldığında, silindiğinde, süresi dolduğunda veya erişilemediğinde, bu anahtar aracılığıyla şifrelenmiş verileri olan bir sunucu, daha önce belirtildiği gibi Erişilemez duruma gelir. Siz anahtarı yeniden etkinleştirene veya yeni bir anahtar atayana kadar sunucu kullanılamaz.

Genellikle, bir anahtar devre dışı bırakıldıktan, silindikten, süresi dolduktan veya erişilemedikten sonra sunucuya 60 dakika içinde erişilemez duruma gelir. anahtarı kullanılabilir duruma geldikten sonra sunucunun yeniden Erişilebilir duruma gelmesi 60 dakika kadar sürebilir.

Yönetilen Kimlik Silme işleminden kurtarma

Azure Key Vault'tan (AKV) bir anahtar almak için CMK tarafından kullanılan Entra Id yönetilen kimliğinin Microsoft Entra Id'de silinmesi durumunda aşağıdaki kurtarma adımları önerilir:

  1. Kimliği kurtarma veya yeni yönetilen Entra Kimliği kimliği oluşturma
  2. Bu kimliğin Azure Key Vault'taki (AKV) anahtar üzerindeki işlemler için uygun izinlere sahip olduğundan emin olun. Anahtar kasasının izin modeline (erişim ilkesi veya Azure RBAC) bağlı olarak anahtar kasası erişimi, anahtar kasasında bir erişim ilkesi oluşturularak (liste, get, wrapKey ve unwrapKey erişim ilkeleri) veya Anahtar Kasası Şifreleme Hizmeti Şifreleme Kullanıcısı rolüyle yeni bir Azure RBAC rol ataması oluşturularak verilebilir.
  3. PostgreSQL için Azure Veritabanı - Esnek Sunucu Veri Şifrelemesi Azure portalı ekranında cmk veri şifrelemeyi yeni veya kurtarılmış bir kimlikle yeniden doğrulayın.

Önemli

Silinen kimlikle aynı ada sahip yeni Entra Id kimliği oluşturmak yönetilen kimlik silme işleminden kurtarılamaz.

CMK'ler ve coğrafi olarak yedekli iş sürekliliği özellikleriyle veri şifrelemeyi kullanma

PostgreSQL için Azure Veritabanı esnek sunucu, çoğaltmalar ve coğrafi olarak yedekli yedekleme gibi gelişmiş veri kurtarma özelliklerini destekler. AŞAĞıDA, CMK'lerle veri şifrelemeyi ayarlama gereksinimleri ve CMK'lerle veri şifreleme için temel gereksinimlere ek olarak bu özellikler yer alır:

Sınırlamalar

Esnek PostgreSQL için Azure Veritabanı sunucuda CMK'yi yapılandırmaya yönelik geçerli sınırlamalar şunlardır:

  • CMK şifrelemesini mevcut PostgreSQL için Azure Veritabanı esnek sunucu örneğine güncelleştirme olarak değil, yalnızca yeni bir sunucu oluşturulurken yapılandırabilirsiniz. Bunun yerine CMK şifrelemesi ile pitr yedeğini yeni bir sunucuya geri yükleyebilirsiniz.

  • CMK şifrelemesini yapılandırdıktan sonra kaldıramazsınız. Bu özelliği kaldırmak istiyorsanız, tek yol sunucuyu CMK olmayan bir sunucuya geri yüklemektir.

Sonraki adımlar

  • Microsoft Entra Domain Services hakkında bilgi edinin.