Najlepsze rozwiązania dotyczące zabezpieczania baz danych PaaS w Azure

Ten artykuł przedstawia zbiór najlepszych praktyk bezpieczeństwa Azure SQL Database oraz Azure Synapse Analytics w zakresie zabezpieczania aplikacji webowych i mobilnych na platformie jako usługę (PaaS). Microsoft opracował te najlepsze praktyki na podstawie doświadczeń z platformą Azure oraz z klientami platformy Azure.

Azure SQL Database i Azure Synapse Analytics zapewniają usługę relacyjnej bazy danych dla aplikacji internetowych. Przejrzyj usługi, które pomagają chronić Twoje aplikacje i dane, gdy korzystasz z Azure SQL Database i Azure Synapse Analytics w ramach wdrożenia PaaS:

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

Korzystanie ze scentralizowanego repozytorium tożsamości

Możesz skonfigurować Azure SQL Database tak, aby używała jednego z dwóch typów uwierzytelniania:

  • Uwierzytelnianie SQL używa nazwy użytkownika i hasła. Gdy tworzysz serwer dla swojej bazy danych, określasz uwierzytelnianie server admin za pomocą nazwy użytkownika i hasła. Użyj tych poświadczeń do uwierzytelniania do dowolnej bazy danych na tym serwerze jako właściciel bazy danych.

  • Uwierzytelnianie Microsoft Entra wykorzystuje tożsamości zarządzane przez Microsoft Entra ID i obsługuje domeny zarządzane oraz zintegrowane. Aby korzystać z uwierzytelniania Microsoft Entra, musisz utworzyć kolejnego administratora serwera o nazwie Microsoft Entra admin, który może administrować użytkownikami i grupami Microsoft Entra. Ten administrator może również wykonywać wszystkie operacje, które może wykonać zwykły administrator serwera.

Uwierzytelnianie Microsoft Entra to mechanizm łączenia się z Azure SQL Database i Azure Synapse Analytics za pomocą tożsamości w Microsoft Entra ID. Microsoft Entra ID stanowi alternatywę dla uwierzytelniania 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 innych usług 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.

Zalety Microsoft Entra ID zamiast uwierzytelniania SQL

  • Umożliwia rotację haseł w jednym miejscu.
  • Możesz zarządzać uprawnieniami do bazy danych, korzystając z zewnętrznych grup Microsoft Entra.
  • Eliminuje się przechowywanie haseł przez włączenie zintegrowanego uwierzytelniania Windows i innych form uwierzytelniania obsługiwanych przez Microsoft Entra ID.
  • 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 Active Directory Federation Services (ADFS) lub natywnym uwierzytelnianiem użytkownika/hasła dla lokalnego Microsoft Entra ID bez synchronizacji domeny.
  • Obsługuje połączenia z SQL Server Management Studio, które korzystają z Active Directory Universal Authentication, obejmującej uwierzytelnianie wieloskładnikowe (MFA). Uwierzytelnianie wieloskładnikowe obejmuje silne uwierzytelnianie oraz różnorodne, łatwe opcje weryfikacji. Opcje weryfikacji to rozmowa telefoniczna, wiadomość tekstowa, karty inteligentne z kodem PIN lub powiadomienia w aplikacji mobilnej. Aby uzyskać więcej informacji, zobacz Universal Authentication with SQL Database and Azure Synapse Analytics (Uwierzytelnianie w usłudze SQL Database i Azure Synapse Analytics.

Aby uzyskać więcej informacji o uwierzytelnianiu Microsoft Entra, zobacz:

Uwaga

Aby upewnić się, że Microsoft Entra ID jest odpowiedni dla twojego środowiska, zobacz Microsoft Entra features and limitations.

Ogranicz dostęp na podstawie adresu IP

Można utworzyć reguły zapory określające zakresy dopuszczalnych adresów IP. Możesz skierować te reguły zarówno na poziom serwera, jak i bazy danych. Stosuj reguły zapory na poziomie bazy danych, kiedy tylko to możliwe, aby zwiększyć bezpieczeństwo i uczynić bazę danych bardziej mobilną. Używaj reguł zapory na poziomie serwera dla administratorów oraz dla wielu baz danych z tymi samymi wymaganiami dostępu, gdy nie chcesz tracić czasu na konfigurację każdej bazy osobno.

Domyślne ograniczenia adresów IP źródłowych w usłudze SQL Database umożliwiają dostęp z dowolnego adresu Azure, w tym z innych subskrypcji i dzierżawców. Można to ograniczyć, aby zezwolić tylko adresom IP na dostęp do instancji. 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 uzyskać więcej informacji o zaporze Azure SQL i ograniczeniach adresów IP, zobacz:

Szyfrowanie danych magazynowanych

Transparent Data Encryption (TDE) jest domyślnie włączona. TDE w sposób przezroczysty szyfruje dane i pliki dziennika SQL Server, Azure SQL Database i Azure Synapse Analytics. TDE chroni przed naruszeniem bezpośredniego dostępu do plików lub ich kopii zapasowych. Ta funkcja pozwala szyfrować dane w spoczynku bez zmiany istniejących aplikacji. Trzymaj włączone TDE. Jednak TDE nie powstrzymuje atakującego, który korzysta z normalnej ścieżki dostępu. TDE pomaga Ci przestrzegać wielu przepisów, regulacji i wytycznych ustanowionych w różnych branżach.

Azure SQL zarządza problemami związanymi z kluczami dla TDE. Podobnie jak w przypadku lokalnego wdrożenia TDE należy dołożyć szczególnej staranności, aby zapewnić odzyskiwalność i możliwość przenoszenia baz danych. W bardziej zaawansowanych sytuacjach można jawnie zarządzać kluczami w Azure Key Vault poprzez rozszerzalne zarządzanie kluczami. Zobacz Enable TDE on SQL Server Using EKM. Ta funkcja obsługuje również korzystanie z własnego klucza (BYOK) za pomocą funkcji BYOK usługi Azure Key Vault.

Azure SQL zapewnia szyfrowanie kolumn za pośrednictwem Always Encrypted. Ta funkcja pozwala tylko autoryzowanym aplikacjom na dostęp do wrażliwych kolumn. Tego typu szyfrowanie ogranicza zapytania SQL dla zaszyfrowanych kolumn do wartości opartych na równości.

Do selektywnych danych używaj szyfrowania na poziomie aplikacji. Czasami można złagodzić obawy dotyczące suwerenności danych, szyfrując je kluczem przechowywanym w odpowiednim kraju/regionie. To podejście zapobiega nawet przypadkowemu transferowi danych, ponieważ nie da się ich odszyfrować bez klucza, zakładając zastosowanie silnego algorytmu takiego jak AES-256.

Możesz stosować dodatkowe środki ostrożności, aby zabezpieczyć bazę danych, takie jak zaprojektowanie bezpiecznego systemu, szyfrowanie poufnych zasobów czy budowanie zapory wokół serwerów baz danych.

Dalsze kroki

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