Włączanie uwierzytelniania bazy danych przy użyciu identyfikatora Entra firmy Microsoft

Ukończone

Dwa składniki każdej bezpiecznej bazy danych to uwierzytelnianie i autoryzacja.

Uwierzytelnianie to proces potwierdzania, że użytkownik jest tym, za kogo się podaje. Użytkownik łączy się z bazą danych przy użyciu konta użytkownika. Gdy użytkownik próbuje nawiązać połączenie z bazą danych, udostępnia informacje o koncie użytkownika i uwierzytelnianiu. Użytkownik jest uwierzytelniany przy użyciu jednej z następujących dwóch metod uwierzytelniania:

  • Uwierzytelnianie SQL — przy użyciu tej metody uwierzytelniania użytkownik przesyła nazwę konta użytkownika i skojarzone hasło w celu nawiązania połączenia. To hasło jest przechowywane w bazie danych master dla kont użytkowników połączonych z nazwą logowania lub przechowywane w bazie danych zawierającej konta użytkowników, które nie są połączone z nazwą logowania.
  • Uwierzytelnianie Firmy Microsoft Entra — przy użyciu tej metody uwierzytelniania użytkownik przesyła nazwę konta użytkownika i żąda, aby usługa korzystała z informacji o poświadczeniach przechowywanych w identyfikatorze Entra firmy Microsoft.

Konta użytkowników można utworzyć w bazie danych master i przyznać uprawnienia we wszystkich bazach danych na serwerze lub utworzyć je w samej bazie danych (nazywanych użytkownikami zawartej bazy danych). Korzystając z zawartych baz danych, uzyskujesz zwiększoną przenośność i skalowalność.

Identyfikatory logowania i użytkownicy: w usłudze Azure SQL konto użytkownika w bazie danych może być skojarzone z identyfikatorem logowania przechowywanym w bazie danych master lub może być nazwą użytkownika przechowywaną w pojedynczej bazie danych.

  • Nazwa logowania to pojedyncze konto w bazie danych master, z którym można połączyć konto użytkownika w co najmniej jednej bazie danych. W przypadku nazwy logowania informacje o poświadczeniach dla konta użytkownika przechowywane są z nazwą logowania.
  • Konto użytkownika to indywidualne konto w dowolnej bazie danych, które może być, ale nie musi być połączone z identyfikatorem logowania. W przypadku konta użytkownika, które nie jest powiązane z nazwą logowania, informacje o poświadczeniach są przechowywane z kontem użytkownika.

Autoryzacja dostępu do danych i wykonywanie różnych akcji jest zarządzana przy użyciu ról bazy danych i jawnych uprawnień. Autoryzacja odnosi się do uprawnień przypisanych do użytkownika i określa, co może zrobić ten użytkownik. Autoryzacja jest kontrolowana za pomocą członkostw roli bazy danych konta użytkownika i uprawnień na poziomie obiektu. Zalecanym najlepszym rozwiązaniem jest przyznanie użytkownikom minimalnych niezbędnych uprawnień. Zalecanym najlepszym rozwiązaniem jest używanie przez daną aplikację dedykowanego konta do uwierzytelniania. W ten sposób można ograniczyć uprawnienia nadane aplikacji i zmniejszyć ryzyko złośliwych działań w przypadku, gdy kod aplikacji jest narażony na atak polegający na wstrzyknięciu kodu SQL. Zalecaną metodą jest utworzenie użytkownika zawartej bazy danych, co umożliwia aplikacji bezpośrednie uwierzytelnianie w bazie danych.

Istniejące identyfikatory logowania i konta użytkowników po utworzeniu nowej bazy danych

Podczas pierwszego wdrażania usługi Azure SQL można określić nazwę logowania i hasło dla specjalnego typu logowania administracyjnego, administratora serwera. Podczas wdrażania następuje następująca konfiguracja identyfikatorów logowania i użytkowników w bazach danych master i użytkowników:

  • Nazwa logowania SQL z uprawnieniami administracyjnymi jest tworzona przy użyciu określonej nazwy logowania. Logowanie to indywidualne konto do logowania się do usług SQL Database, SQL Managed Instance i Azure Synapse.
  • To logowanie ma pełne uprawnienia administracyjne dla wszystkich baz danych jako podmiot zabezpieczeń na poziomie serwera. Nazwa logowania ma wszystkie dostępne uprawnienia i nie może być ograniczona. W wystąpieniu zarządzanym SQL ten identyfikator logowania jest dodawany do stałej roli serwera sysadmin (ta rola nie istnieje w usłudze Azure SQL Database).
  • Gdy to konto loguje się do bazy danych, są one dopasowane do specjalnego konta użytkownika (konta dboużytkownika, które istnieje w każdej bazie danych użytkowników). Użytkownik dbo ma wszystkie uprawnienia bazy danych w bazie danych i jest członkiem stałej db_owner roli bazy danych.

Aby zidentyfikować konto administratora serwera dla serwera logicznego, otwórz witrynę Azure Portal i przejdź do karty Właściwości serwera lub wystąpienia zarządzanego.

Nie można zmienić nazwy konta administratora serwera po jego utworzeniu. Aby zresetować hasło administratora serwera, przejdź do witryny Azure Portal, kliknij pozycję Serwery SQL, wybierz serwer z listy, a następnie kliknij pozycję Resetuj hasło. Aby zresetować hasło dla usługi SQL Managed Instance, przejdź do witryny Azure Portal, kliknij wystąpienie i kliknij pozycję Resetuj hasło. Możesz również użyć programu PowerShell lub interfejsu wiersza polecenia platformy Azure.