Azure Cosmos DB'de veritabanı güvenliğine genel bakış

ŞUNLAR IÇIN GEÇERLIDIR: Nosql MongoDB Cassandra Gremlin Tablo

Bu makalede veritabanı ihlallerini önlemenize, algılamanıza ve yanıtlamanıza yardımcı olmak üzere Azure Cosmos DB tarafından sunulan veritabanı güvenliği en iyi yöntemleri ve önemli özellikleri açıklanır.

Azure Cosmos DB güvenliğindeki yenilikler

Bekleyen şifreleme artık tüm Azure bölgelerinde Azure Cosmos DB'de depolanan belgeler ve yedeklemeler için kullanılabilir. Bekleyen şifreleme, bu bölgelerdeki hem yeni hem de mevcut müşteriler için otomatik olarak uygulanır. Hiçbir şeyi yapılandırmanız gerekmez. Verilerinizin bekleyen şifrelemeyle güvenli ve güvenli olduğunu bilmenin avantajıyla daha önce olduğu gibi aynı büyük gecikme süresi, aktarım hızı, kullanılabilirlik ve işlevsellik elde edersiniz. Azure Cosmos DB hesabınızda depolanan veriler, hizmet tarafından yönetilen anahtarlar kullanılarak Microsoft tarafından yönetilen anahtarlarla otomatik ve sorunsuz bir şekilde şifrelenir. İsteğe bağlı olarak, müşteri tarafından yönetilen anahtarları veya CMK'yi kullanarak yönettiğiniz anahtarlarla ikinci bir şifreleme katmanı eklemeyi seçebilirsiniz.

Veritabanımın güvenliğini Nasıl yaparım??

Veri güvenliği, siz, müşteri ve veritabanı sağlayıcınız arasında paylaşılan bir sorumluluktır. Seçtiğiniz veritabanı sağlayıcısına bağlı olarak, taşıdığınız sorumluluk miktarı farklılık gösterebilir. Şirket içi bir çözüm seçerseniz, uç nokta korumasından donanımınızın fiziksel güvenliğine kadar her şeyi sağlamanız gerekir; bu kolay bir iş değildir. Azure Cosmos DB gibi bir hizmet olarak platform (PaaS) bulut veritabanı sağlayıcısı seçerseniz, endişe alanınız önemli ölçüde küçülür. Microsoft'un Bulut Bilgi İşlem için Paylaşılan Sorumluluklar teknik incelemesinden alınan aşağıdaki görüntüde, Azure Cosmos DB gibi bir PaaS sağlayıcısında sorumluluğunuzun nasıl düştüğü gösterilmektedir.

Screenshot that shows customer and database provider responsibilities.

Yukarıdaki diyagramda üst düzey bulut güvenliği bileşenleri gösterilir, ancak veritabanı çözümünüz için özellikle hangi öğeler hakkında endişelenmeniz gerekir? Çözümleri birbiriyle nasıl karşılaştırabilirsiniz?

Veritabanı sistemlerinin karşılaştırıldığı gereksinimlerin aşağıdaki denetim listesini öneririz:

  • Ağ güvenliği ve güvenlik duvarı ayarları
  • Kullanıcı kimlik doğrulaması ve ayrıntılı kullanıcı denetimleri
  • Bölgesel hatalar için verileri genel olarak çoğaltma olanağı
  • Bir veri merkezinden diğerine yük devretme olanağı
  • Veri merkezi içinde yerel veri çoğaltma
  • Otomatik veri yedeklemeleri
  • Silinen verilerin yedeklerden geri yüklenmesi
  • Hassas verileri koruma ve yalıtma
  • Saldırıları izleme
  • Saldırılara yanıt verme
  • Veri idaresi kısıtlamalarına uymak için verileri coğrafi olarak sınırlandırma olanağı
  • Korumalı veri merkezlerinde sunucuların fiziksel koruması
  • Sertifikalar

Açık görünse de, son büyük ölçekli veritabanı ihlalleri bize aşağıdaki gereksinimlerin basit ama kritik önemini anımsatır:

  • Güncel tutulan yamalı sunucular
  • Varsayılan olarak HTTPS/TLS şifrelemesi
  • Güçlü parolalara sahip Yönetici istrative hesapları

Azure Cosmos DB veritabanımın güvenliğini nasıl sağlar?

Önceki listeye göz atalım. Azure Cosmos DB bu güvenlik gereksinimlerinden kaçını sağlar? Her birini.

Şimdi her birini ayrıntılı olarak inceleyelim.

Güvenlik gereksinimi Azure Cosmos DB'nin güvenlik yaklaşımı
Ağ güvenliği IP güvenlik duvarı kullanmak, veritabanınızın güvenliğini sağlamak için ilk koruma katmanıdır. Azure Cosmos DB, gelen güvenlik duvarı desteği için ilke temelli IP tabanlı erişim denetimlerini destekler. IP tabanlı erişim denetimleri, geleneksel veritabanı sistemleri tarafından kullanılan güvenlik duvarı kurallarına benzer. Ancak, Azure Cosmos DB veritabanı hesabına yalnızca onaylı bir makine kümesinden veya bulut hizmetlerinden erişilebilecek şekilde genişletilir. Daha fazla bilgi edinmek için bkz . Azure Cosmos DB güvenlik duvarı desteği.

Azure Cosmos DB ile belirli bir IP adresini (168.61.48.0), IP aralığını (168.61.48.0/8) ve IP'lerin ve aralıkların birleşimlerini etkinleştirebilirsiniz.

Azure Cosmos DB, bu izin verilenler listesinin dışındaki makinelerden gelen tüm istekleri engeller. Onaylanan makinelerden ve bulut hizmetlerinden gelen istekler, kaynaklara erişim denetimi verilmesi için kimlik doğrulama işlemini tamamlamalıdır.

Ağ yalıtımı elde etmek ve Azure Cosmos DB kaynaklarınızı genel İnternet'ten korumak için sanal ağ hizmet etiketlerini kullanabilirsiniz. Güvenlik kuralları oluştururken belirli IP adreslerinin yerine hizmet etiketlerini kullanın. Bir kuralın uygun kaynak veya hedef alanında hizmet etiketi adını (örneğin, AzureCosmosDB) belirterek, ilgili hizmet için trafiğe izin verebilir veya trafiği reddedebilirsiniz.
Yetkilendirme Azure Cosmos DB, yetkilendirme için karma tabanlı ileti kimlik doğrulama kodunu (HMAC) kullanır.

Her istek gizli hesap anahtarı kullanılarak karma olarak oluşturulur ve azure Cosmos DB'ye yapılan her çağrıda sonraki base-64 kodlanmış karması gönderilir. Azure Cosmos DB, isteği doğrulamak için doğru gizli anahtar ve özellikleri kullanarak karma oluşturur ve ardından değeri istekteki değerle karşılaştırır. İki değer eşleşiyorsa, işlem başarıyla yetkilendirilmiştir ve istek işlenir. Eşleşmiyorsa yetkilendirme hatası olur ve istek reddedilir.

Birincil anahtar veya kaynak belirteci kullanarak belge gibi bir kaynağa ayrıntılı erişim sağlayabilirsiniz.

Daha fazla bilgi edinmek için bkz . Azure Cosmos DB kaynaklarına güvenli erişim.
Kullanıcılar ve izinler Hesabın birincil anahtarını kullanarak veritabanı başına kullanıcı kaynakları ve izin kaynakları oluşturabilirsiniz. Kaynak belirteci veritabanındaki bir izinle ilişkilendirilir ve kullanıcının veritabanındaki bir uygulama kaynağına erişimi (okuma-yazma, salt okunur veya hiç erişim yok) olup olmadığını belirler. Uygulama kaynakları kapsayıcıları, belgeleri, ekleri, saklı yordamları, tetikleyicileri ve UDF'leri içerir. Daha sonra kaynak belirteci, kaynağa erişim sağlamak veya erişimi reddetmek için kimlik doğrulaması sırasında kullanılır.

Daha fazla bilgi edinmek için bkz . Azure Cosmos DB kaynaklarına güvenli erişim.
Active Directory tümleştirmesi (Azure rol tabanlı erişim denetimi) Ayrıca Azure portalında erişim denetimi (IAM) kullanarak Azure Cosmos DB hesabına, veritabanına, kapsayıcısına ve tekliflerine (aktarım hızı) erişim sağlayabilir veya erişimi kısıtlayabilirsiniz. IAM rol tabanlı erişim denetimi sağlar ve Active Directory ile tümleşir. Kişiler ve gruplar için yerleşik rolleri veya özel rolleri kullanabilirsiniz. Daha fazla bilgi edinmek için bkz . Active Directory tümleştirmesi.
Genel çoğaltma Azure Cosmos DB, verilerinizi Azure'ın dünya çapındaki veri merkezlerinden herhangi birine anahtar teslimi bir şekilde çoğaltmanızı sağlayan anahtar teslimi genel dağıtım sunar. Genel çoğaltma, küresel ölçekte ölçeklendirmenize ve dünyanın dört bir yanındaki verilerinize düşük gecikme süreli erişim sağlamanıza olanak tanır.

Genel çoğaltma, güvenlik bağlamında bölgesel hatalara karşı veri koruması sağlar.

Daha fazla bilgi edinmek için bkz . Verileri genel olarak dağıtma.
Bölgesel yük devretme Verilerinizi birden fazla veri merkezinde çoğaltdıysanız, bölgesel bir veri merkezi çevrimdışı olursa Azure Cosmos DB işlemlerinizi otomatik olarak devralır. Verilerinizin çoğaltıldığı bölgeleri kullanarak yük devretme bölgelerinin öncelikli bir listesini oluşturabilirsiniz.

Daha fazla bilgi edinmek için bkz . Azure Cosmos DB'de bölgesel yük devretmeler.
Yerel çoğaltma Azure Cosmos DB, tek bir veri merkezinde bile yüksek kullanılabilirlik için verileri otomatik olarak çoğaltarak size tutarlılık düzeyleri seçeneği sağlar. Bu çoğaltma, rahat tutarlılığı olan tüm tek bölge hesapları ve çok bölgeli tüm hesaplar için % 99,99 kullanılabilirlik SLA'sı ve tüm çok bölgeli veritabanı hesaplarında %99,999 okuma kullanılabilirliği sağlar.
Otomatik çevrimiçi yedeklemeler Azure Cosmos DB veritabanları düzenli olarak yedeklenir ve coğrafi olarak yedekli bir depoda depolanır.

Daha fazla bilgi edinmek için bkz . Azure Cosmos DB ile otomatik çevrimiçi yedekleme ve geri yükleme.
Silinen verileri geri yükleme Etkinlikten yaklaşık 30 gün sonra yanlışlıkla silmiş olabileceğiniz verileri kurtarmak için otomatik çevrimiçi yedeklemeleri kullanabilirsiniz.

Daha fazla bilgi edinmek için bkz. Azure Cosmos DB ile otomatik çevrimiçi yedekleme ve geri yükleme
Hassas verileri koruma ve yalıtma Yenilikler bölümünde listelenen bölgelerdeki tüm veriler artık beklemede şifrelenir.

Kişisel veriler ve diğer gizli veriler belirli kapsayıcılara yalıtılabilir ve okuma-yazma veya salt okuma erişimi belirli kullanıcılarla sınırlı olabilir.
Saldırıları izleme Denetim günlüğü ve etkinlik günlüklerini kullanarak hesabınızı normal ve anormal etkinlikler için izleyebilirsiniz. Kaynaklarınızda hangi işlemlerin gerçekleştirildiğini görüntüleyebilirsiniz. Bu veriler işlemi kimin başlattığını, işlemin ne zaman gerçekleştiğini, işlemin durumunu ve çok daha fazlasını içerir.
Saldırılara yanıt verme Olası bir saldırıyı bildirmek için Azure desteği ile iletişime geçtikten sonra beş aşamalı bir olay yanıt süreci başlar. Amaç, normal hizmet güvenliğini ve işlemlerini geri yüklemektir. İşlem, bir sorun algılanıp bir araştırma başlatıldıktan sonra hizmetleri mümkün olan en kısa sürede geri yükler.

Daha fazla bilgi edinmek için bkz . Bulutta Microsoft Azure güvenlik yanıtı.
Coğrafi eskrim Azure Cosmos DB bağımsız bölgeler (örneğin, Almanya, Çin ve ABD Kamu) için veri idaresi sağlar.
Korumalı tesisler Azure Cosmos DB'deki veriler, Azure'ın korumalı veri merkezlerindeki katı hal sürücülerinde depolanır.

Daha fazla bilgi edinmek için bkz . Microsoft genel veri merkezleri.
HTTPS/SSL/TLS şifrelemesi Azure Cosmos DB'ye yapılan tüm bağlantılar HTTPS'yi destekler. Azure Cosmos DB, 1,2'ye (dahil) kadar TLS düzeylerini destekler.
Sunucu tarafında en düşük TLS düzeyini zorunlu kılmak mümkündür. Bunu yapmak için bkz. Azure Cosmos DB'de self servis minimum TLS sürüm zorlama kılavuzu.
Bekleme sırasında şifreleme Azure Cosmos DB'de depolanan tüm veriler bekleme sırasında şifrelenir. Bekleyen Azure Cosmos DB şifrelemesi hakkında daha fazla bilgi edinin.
Düzeltme eki uygulamalı sunucular Yönetilen veritabanı olarak Azure Cosmos DB, sizin için otomatik olarak yapıldığından sunucuları yönetme ve düzeltme eki uygulama gereksinimini ortadan kaldırır.
Güçlü parolalara sahip Yönetici istrative hesapları Azure Cosmos DB'de parolasız bir yönetim hesabına sahip olmak mümkün değildir.

TLS ve HMAC gizli dizi tabanlı kimlik doğrulaması aracılığıyla güvenlik varsayılan olarak içinde pişirilir.
Güvenlik ve veri koruma sertifikaları Sertifikaların en güncel listesi için bkz . Azure uyumluluğu ve Azure Cosmos DB dahil olmak üzere tüm Azure sertifikaları ile en son Azure uyumluluk belgesi .

Aşağıdaki ekran görüntüsünde hesabınızı izlemek için denetim günlüğünü ve etkinlik günlüklerini nasıl kullanabileceğiniz gösterilmektedir. Screenshot that shows activity logs for Azure Cosmos DB.

Birincil/ikincil anahtarlar

Birincil/ikincil anahtarlar, veritabanı hesabının tüm yönetim kaynaklarına erişim sağlar. Birincil/ikincil anahtarlar:

  • Hesaplara, veritabanlarına, kullanıcılara ve izinlere erişim sağlayın.
  • Kapsayıcılara ve belgelere ayrıntılı erişim sağlamak için kullanılamaz.
  • Hesap oluşturulurken oluşturulur.
  • herhangi bir zamanda yeniden oluşturulabilir.

Her hesap iki anahtardan oluşur: birincil anahtar ve ikincil anahtar. İkili anahtarların amacı, hesabınıza ve verilerinize sürekli erişim sağlayarak anahtarları yeniden oluşturabilmeniz veya yuvarlamanızdır.

Birincil/ikincil anahtarlar iki sürümde gelir: okuma-yazma ve salt okunur. Salt okunur anahtarlar yalnızca hesapta okuma işlemlerine izin verir. Okuma izinleri kaynaklarına erişim sağlamaz.

Anahtar döndürme ve yeniden oluşturma

Anahtar döndürme ve yeniden oluşturma işlemi basittir. İlk olarak, uygulamanızın Azure Cosmos DB hesabınıza erişmek için birincil anahtarı veya ikincil anahtarı tutarlı bir şekilde kullandığından emin olun. Ardından, sonraki bölümde yer alan adımları izleyin. Hesabınızı önemli güncelleştirmeleri ve anahtar yenilemesini izlemek için bkz . Ölçümler ve uyarılar ile anahtar güncelleştirmelerini izleme.

Uygulamanız şu anda birincil anahtarı kullanıyorsa

  1. Azure portalında Azure Cosmos DB hesabınıza gidin.

  2. Soldaki menüden Anahtarlar'ı seçin ve ardından ikincil anahtarınızın sağ tarafındaki üç noktadan (...) İkincil Anahtarı Yeniden Oluştur'u seçin.

    Screenshot showing how to regenerate the secondary key in the Azure portal when used with the NoSQL API.

  3. Yeni ikincil anahtarın Azure Cosmos DB hesabınızda tutarlı bir şekilde çalıştığını doğrulayın. Anahtar yeniden oluşturma işlemi, Azure Cosmos DB hesabının boyutuna bağlı olarak bir dakikadan birkaç saate kadar sürebilir.

  4. Birincil anahtarınızı uygulamanızdaki ikincil anahtarla değiştirin.

  5. Azure portalına geri dönün ve birincil anahtarın yeniden yenilenmesini tetikleyin.

    Screenshot showing how to regenerate the primary key in the Azure portal when used with the NoSQL API.

Uygulamanız şu anda ikincil anahtarı kullanıyorsa

  1. Azure portalında Azure Cosmos DB hesabınıza gidin.

  2. Sol menüden Anahtarlar'ı seçin ve ardından birincil anahtarınızın sağ tarafındaki üç noktadan (...) Birincil Anahtarı Yeniden Oluştur'u seçin.

    Screenshot that shows how to regenerate the primary key in the Azure portal when used with the NoSQL API.

  3. Yeni birincil anahtarın Azure Cosmos DB hesabınızda tutarlı bir şekilde çalıştığını doğrulayın. Anahtar yeniden oluşturma işlemi, Azure Cosmos DB hesabının boyutuna bağlı olarak bir dakikadan birkaç saate kadar sürebilir.

  4. İkincil anahtarınızı uygulamanızdaki birincil anahtarla değiştirin.

  5. Azure portalına geri dönün ve ikincil anahtarın yeniden yenilenmesini tetikleyin.

    Screenshot that shows how to regenerate the secondary key in the Azure portal when used with the NoSQL API.

Anahtar yeniden oluşturma durumunu izleme

Bir anahtarı döndürdükten veya yeniden üretdikten sonra, etkinlik günlüğünden anahtarının durumunu izleyebilirsiniz. Durumu izlemek için aşağıdaki adımları kullanın.

  1. Azure portalında oturum açın ve Azure Cosmos DB hesabınıza gidin.

  2. Soldaki menüden Tuşlar'ı seçin. Her anahtarın altında son anahtar yeniden oluşturma tarihini görmeniz gerekir.

    Screenshot that shows status of key regeneration from the activity log.

    Anahtarları en az 60 günde bir yeniden oluşturmanızı öneririz. Son yenilenmeniz 60 günden uzun bir süre önceyse bir uyarı simgesi görürsünüz. Ayrıca anahtarınızın kaydedilmediğini de görebilirsiniz. Böyle bir durumda hesabınız 18 Haziran 2022'dan önce oluşturulmuştur ve tarihler kaydedilmemiş olur. Ancak, yeni anahtar için yeni son yeniden oluşturma tarihinizi yeniden oluşturabilmeniz ve görebilmeniz gerekir.

  3. Anahtar yeniden oluşturma olaylarının yanı sıra durumu, işlemin verildiği zamanı ve anahtar yeniden oluşturma işlemini başlatan kullanıcının ayrıntılarını görmeniz gerekir. Anahtar oluşturma işlemi Kabul Edildi durumuyla başlatılır. İşlem tamamlandığında Başlatıldı ve ardından Başarılı olarak değişir.

Sonraki adımlar