Najlepsze rozwiązania dotyczące zabezpieczania baz danych PaaS na platformie Azure

W tym artykule omówiono kolekcję najlepszych rozwiązań w zakresie zabezpieczeń usług Azure SQL Database i Azure Synapse Analytics dotyczących zabezpieczania aplikacji internetowych i mobilnych typu "platforma jako usługa" (PaaS). Te najlepsze rozwiązania są oparte na naszym doświadczeniu z platformą Azure i doświadczeniach klientów, takich jak ty.

Usługi Azure SQL Database i Azure Synapse Analytics udostępniają usługę relacyjnej bazy danych dla aplikacji internetowych. Przyjrzyjmy się usługom, które pomagają chronić aplikacje i dane podczas korzystania z usług Azure SQL Database i Azure Synapse Analytics we wdrożeniu PaaS:

  • Uwierzytelnianie microsoft Entra (zamiast uwierzytelniania programu SQL Server)
  • Zapora Usługi Azure SQL
  • Transparent Data Encryption (TDE)

Korzystanie ze scentralizowanego repozytorium tożsamości

Usługę Azure SQL Database można skonfigurować do używania jednego z dwóch typów uwierzytelniania:

  • Uwierzytelnianie SQL używa nazwy użytkownika i hasła. Podczas tworzenia serwera dla bazy danych określono identyfikator logowania "administrator serwera" z nazwą użytkownika i hasłem. Korzystając z tych poświadczeń, możesz uwierzytelnić się w dowolnej bazie danych na tym serwerze jako właściciel bazy danych.

  • Uwierzytelnianie entra firmy Microsoft używa tożsamości zarządzanych przez identyfikator Entra firmy Microsoft i jest obsługiwane w przypadku domen zarządzanych i zintegrowanych. Aby korzystać z uwierzytelniania firmy Microsoft Entra, należy utworzyć innego administratora serwera o nazwie "Administrator firmy Microsoft Entra", który może administrować użytkownikami i grupami firmy Microsoft Entra. Ten administrator może również wykonywać wszystkie operacje, które może wykonać zwykły administrator serwera.

Uwierzytelnianie entra firmy Microsoft to mechanizm łączenia się z usługami Azure SQL Database i Azure Synapse Analytics przy użyciu tożsamości w usłudze Microsoft Entra ID. Identyfikator Entra firmy Microsoft stanowi alternatywę dla uwierzytelniania programu SQL Server, dzięki czemu można zatrzymać rozprzestrzenianie się tożsamości użytkowników na serwerach baz danych. Uwierzytelnianie firmy Microsoft Entra umożliwia centralne zarządzanie tożsamościami użytkowników bazy danych i innymi usługi firmy Microsoft w jednej centralnej lokalizacji. Centralne zarządzanie tożsamościami oznacza jedną lokalizację do zarządzania użytkownikami bazy danych i prostsze zarządzanie uprawnieniami.

Korzyści wynikające z używania identyfikatora Entra firmy Microsoft zamiast uwierzytelniania SQL

  • Umożliwia rotację haseł w jednym miejscu.
  • Zarządza uprawnieniami bazy danych przy użyciu zewnętrznych grup firmy Microsoft Entra.
  • Eliminuje przechowywanie haseł przez włączenie zintegrowanego uwierzytelniania systemu Windows i innych form uwierzytelniania obsługiwanych przez identyfikator Firmy Microsoft Entra.
  • Używa użytkowników zawartej bazy danych do uwierzytelniania tożsamości na poziomie bazy danych.
  • Obsługuje uwierzytelnianie oparte na tokenach dla aplikacji łączących się z usługą SQL Database.
  • Obsługuje federację domeny z usługami Active Directory Federation Services (ADFS) lub natywnym uwierzytelnianiem użytkownika/hasła dla lokalnego identyfikatora entra firmy Microsoft bez synchronizacji domeny.
  • Obsługuje połączenia z programu SQL Server Management Studio, które korzystają z uwierzytelniania uniwersalnego usługi Active Directory, który obejmuje uwierzytelnianie wieloskładnikowe (MFA). Uwierzytelnianie wieloskładnikowe obejmuje silne uwierzytelnianie z szeregiem łatwych opcji weryfikacji. Opcje weryfikacji to połączenie telefoniczne, wiadomość SMS, karty inteligentne z numerem PIN lub powiadomienie aplikacji mobilnej. Aby uzyskać więcej informacji, zobacz Universal Authentication with SQL Database and Azure Synapse Analytics (Uwierzytelnianie uniwersalne z usługami SQL Database i Azure Synapse Analytics).

Aby dowiedzieć się więcej na temat uwierzytelniania entra firmy Microsoft, zobacz:

Uwaga

Aby upewnić się, że identyfikator Entra firmy Microsoft jest odpowiedni dla Twojego środowiska, zobacz Microsoft Entra features and limitations (Funkcje i ograniczenia firmy Microsoft Entra).

Ograniczanie dostępu na podstawie adresu IP

Można utworzyć reguły zapory określające zakresy dopuszczalnych adresów IP. Te reguły mogą być stosowane zarówno na poziomie serwera, jak i bazy danych. Zalecamy używanie reguł zapory na poziomie bazy danych zawsze wtedy, gdy jest to możliwe, aby zwiększyć bezpieczeństwo i zwiększyć przenośną bazę danych. Reguły zapory na poziomie serwera są najlepiej używane dla administratorów i jeśli masz wiele baz danych, które mają te same wymagania dostępu, ale nie chcesz poświęcać czasu na indywidualne konfigurowanie każdej bazy danych.

Domyślne ograniczenia adresu IP źródłowego usługi SQL Database umożliwiają dostęp z dowolnego adresu platformy Azure, w tym innych subskrypcji i dzierżaw. Można to ograniczyć, aby zezwolić tylko adresom IP na dostęp do wystąpienia. Nawet w przypadku ograniczeń zapory SQL i adresu IP nadal potrzebne jest silne uwierzytelnianie. Zapoznaj się z zaleceniami opisanymi wcześniej w tym artykule.

Aby dowiedzieć się więcej na temat ograniczeń usługi Azure SQL Firewall i adresów IP, zobacz:

Szyfrowanie danych magazynowanych

Funkcja Transparent Data Encryption (TDE) jest domyślnie włączona. Funkcja TDE w sposób przezroczysty szyfruje dane i pliki dziennika usługi SQL Server, Azure SQL Database i Azure Synapse Analytics. Funkcja TDE chroni przed naruszeniem bezpośredniego dostępu do plików lub ich kopii zapasowych. Dzięki temu można szyfrować dane magazynowane bez konieczności zmieniania istniejących aplikacji. Funkcja TDE powinna być zawsze włączona; nie spowoduje to jednak zatrzymania osoby atakującej przy użyciu normalnej ścieżki dostępu. TDE zapewnia możliwość przestrzegania wielu przepisów, przepisów i wytycznych ustanowionych w różnych branżach.

Usługa Azure SQL zarządza kluczowymi problemami dotyczącymi funkcji TDE. Podobnie jak w przypadku funkcji TDE, należy podjąć szczególną opiekę lokalną w celu zapewnienia możliwości odzyskiwania i przenoszenia baz danych. W bardziej zaawansowanych scenariuszach klucze można jawnie zarządzać w usłudze Azure Key Vault za pomocą rozszerzalnego zarządzania kluczami. Zobacz Włączanie funkcji TDE w programie SQL Server przy użyciu EKM. Umożliwia to również korzystanie z funkcji BYOK (Bring Your Own Key) za pośrednictwem usługi Azure Key Vaults BYOK.

Usługa Azure SQL zapewnia szyfrowanie kolumn za pomocą funkcji Always Encrypted. Umożliwia to tylko autoryzowanym aplikacjom dostęp do poufnych kolumn. Użycie tego rodzaju szyfrowania ogranicza zapytania SQL dla zaszyfrowanych kolumn do wartości opartych na równości.

Szyfrowanie na poziomie aplikacji powinno być również używane na potrzeby selektywnych danych. Obawy dotyczące niezależności danych mogą być czasami ograniczane przez szyfrowanie danych przy użyciu klucza przechowywanego w odpowiednim kraju/regionie. Zapobiega to nawet przypadkowemu transferowi danych, ponieważ nie można odszyfrować danych bez klucza, zakładając, że jest używany silny algorytm (np. AES 256).

Możesz użyć dodatkowych środków ostrożności, aby zabezpieczyć bazę danych, taką jak projektowanie bezpiecznego systemu, szyfrowanie poufnych zasobów i tworzenie zapory wokół serwerów baz danych.

Następne kroki

W tym artykule przedstawiono kolekcję najlepszych rozwiązań w zakresie zabezpieczeń usług SQL Database i Azure Synapse Analytics dotyczących zabezpieczania aplikacji internetowych i mobilnych PaaS. Aby dowiedzieć się więcej na temat zabezpieczania wdrożeń paaS, zobacz: