Zabezpieczanie Azure Cosmos DB dla konta NoSQL

Azure Cosmos DB dla NoSQL to rozproszona globalnie wielomodelowa usługa bazy danych przeznaczona dla aplikacji o znaczeniu krytycznym. Chociaż Azure Cosmos DB udostępnia wbudowane funkcje zabezpieczeń w celu ochrony danych, niezbędne jest przestrzeganie najlepszych rozwiązań w celu dalszego zwiększania bezpieczeństwa kont, danych i konfiguracji sieci.

Ten artykuł zawiera wskazówki dotyczące najlepszego zabezpieczania Azure Cosmos DB na potrzeby wdrażania NoSQL.

Bezpieczeństwo sieci

  • Wyłącz dostęp do publicznej sieci i używaj tylko prywatnych punktów końcowych: Wdróż Azure Cosmos DB dla NoSQL przy użyciu konfiguracji ograniczającej dostęp sieciowy do wdrożonej w Azure sieci wirtualnej. Konto jest udostępniane za pośrednictwem określonej skonfigurowanej podsieci. Następnie wyłącz dostęp do sieci publicznej dla całego konta i używaj prywatnych punktów końcowych wyłącznie dla usług łączących się z kontem. Aby uzyskać więcej informacji, zobacz konfigurowanie dostępu do sieci wirtualnej i konfigurowanie dostępu z prywatnych punktów końcowych.

  • Włącz obwód zabezpieczeń sieci na potrzeby izolacji sieci: Użyj Perimeter zabezpieczeń sieciowy (NSP), aby ograniczyć dostęp do konta Azure Cosmos DB, definiując granice sieci i izolując go od publicznego dostępu do Internetu. Aby uzyskać więcej informacji, zobacz Konfigurowanie obwodu zabezpieczeń sieci.

Zarządzanie tożsamościami

  • Użyj tożsamości zarządzane w celu uzyskania dostępu do konta z innych usług Azure: Tożsamości zarządzane eliminują konieczność zarządzania poświadczeniami, zapewniając automatyczną tożsamość zarządzaną w Microsoft Entra ID. Użyj tożsamości zarządzanych, aby bezpiecznie uzyskać dostęp do Azure Cosmos DB z innych usług Azure bez osadzania poświadczeń w kodzie. Aby uzyskać więcej informacji, zobacz Tożsamości zarządzane dla zasobów Azure.

  • Użyj kontroli dostępu opartej na rolach płaszczyzny kontroli Azure, aby zarządzać bazami danych kont i kontenerami: Zastosuj kontrolę dostępu opartą na rolach Azure, aby zdefiniować szczegółowe uprawnienia do zarządzania kontami, bazami danych i kontenerami Azure Cosmos DB. Ta kontrola zapewnia, że tylko autoryzowani użytkownicy lub usługi mogą wykonywać operacje administracyjne. Aby uzyskać więcej informacji, zobacz Udzielanie dostępu do warstwy kontroli.

  • Użyj natywnej kontroli dostępu opartej na rolach płaszczyzny danych w celu wykonywania zapytań, tworzenia i uzyskiwania dostępu do elementów w kontenerze: Implementowanie kontroli dostępu opartej na rolach płaszczyzny danych w celu wymuszania najmniejszego dostępu do zapytań, tworzenia i uzyskiwania dostępu do elementów w kontenerach Azure Cosmos DB. Ta kontrolka pomaga zabezpieczyć operacje na danych. Więcej informacji znajdziesz w Udzielanie dostępu do płaszczyzny danych.

  • Przydziel tożsamości Azure używane do dostępu do płaszczyzny danych i kontroli: Użyj odrębnych tożsamości Azure dla operacji płaszczyzny sterowania i płaszczyzny danych, aby zmniejszyć ryzyko eskalacji uprawnień i zapewnić lepszą kontrolę dostępu. Ta separacja zwiększa bezpieczeństwo, ograniczając zakres każdej tożsamości.

  • Regularnie obracaj klucze dostępu w przypadku korzystania z uwierzytelniania opartego na kluczach: jeśli nadal używasz uwierzytelniania opartego na kluczach, obracaj klucze podstawowe i pomocnicze zgodnie z harmonogramem. Użyj klucza pomocniczego podczas rotacji klucza podstawowego, aby uniknąć przestojów. Aby zapoznać się z krokami rotacji kluczy, zobacz Rotacja kluczy konta. Aby przeprowadzić migrację do uwierzytelniania Microsoft Entra ID, zobacz Połączenie przy użyciu kontroli dostępu opartej na rolach.

Zabezpieczenia transportu

  • Używanie i wymuszanie protokołu TLS 1.3 na potrzeby zabezpieczeń transportu: wymuszanie zabezpieczeń warstwy transportu (TLS) 1.3 w celu zabezpieczenia danych przesyłanych przy użyciu najnowszych protokołów kryptograficznych, co zapewnia większe szyfrowanie i lepszą wydajność. Aby uzyskać więcej informacji, zobacz Minimalne wymuszanie protokołu TLS.

Szyfrowanie danych

  • Szyfruj dane magazynowane lub w ruchu przy użyciu kluczy zarządzanych przez usługę lub kluczy zarządzanych przez klienta (CMK): chroń poufne dane, szyfrując je magazynowane i przesyłane. Aby uzyskać większą kontrolę nad szyfrowaniem, użyj kluczy zarządzanych przez usługę dla uproszczenia lub kluczy zarządzanych przez klienta. Aby uzyskać więcej informacji, zobacz Konfigurowanie kluczy zarządzanych przez klienta.

  • Użyj funkcję Always Encrypted, aby zabezpieczyć dane przy użyciu szyfrowania po stronie klienta: Funkcja Always Encrypted zapewnia szyfrowanie poufnych danych po stronie klienta przed wysłaniem ich do Azure Cosmos DB, zapewniając dodatkową warstwę zabezpieczeń. Aby uzyskać więcej informacji, zobacz Always Encrypted.

Tworzenie kopii zapasowej i przywracanie

  • Włączenie natywnych ciągłych kopii zapasowych i przywracania: Ochrona danych przez włączenie ciągłej kopii zapasowej, co umożliwia przywrócenie konta Azure Cosmos DB do dowolnego punktu w czasie w okresie przechowywania. Aby uzyskać więcej informacji, zobacz Ciągła kopia zapasowa i przywracanie.

  • Testowanie procedur tworzenia kopii zapasowych i odzyskiwania: aby zweryfikować skuteczność procesów tworzenia kopii zapasowych, regularnie testuje przywracanie baz danych, kontenerów i elementów. Aby uzyskać więcej informacji, zobacz przywracanie kontenera lub bazy danych.