Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Program SQL Server może używać mechanizmów zasad haseł systemu Windows. Zasady haseł dotyczą logowania korzystającego z uwierzytelniania SQL Server oraz użytkownika bazy danych z hasłem.
Program SQL Server może stosować te same zasady złożoności i wygasania używane w systemie Windows do haseł używanych w programie SQL Server. Ta funkcjonalność zależy od API NetValidatePasswordPolicy
.
Uwaga / Notatka
Usługa Azure SQL Database wymusza złożoność hasła. Sekcje wygasania haseł i wymuszania zasad nie mają zastosowania do usługi Azure SQL Database.
Aby uzyskać informacje na temat zasad haseł dla usługi Azure SQL Managed Instance, zobacz często zadawane pytania dotyczące usługi SQL Managed Instance.
Złożoność hasła
Zasady złożoności haseł są przeznaczone do odstraszania ataków siłowych przez zwiększenie liczby możliwych haseł. Gdy zasady złożoności hasła są wymuszane, nowe hasła muszą spełniać następujące wytyczne:
Hasło nie zawiera nazwy konta użytkownika.
Hasło ma długość co najmniej ośmiu znaków.
Hasło zawiera znaki z trzech z następujących czterech kategorii:
Wielkie litery (od A do Z)
Małe litery (od a do z)
Podstawowe 10 cyfr (od 0 do 9)
Znaki nieliczbowe, takie jak: wykrzyknik (!), znak dolara ($), znak numeru (#) lub procent (%).
Hasła mogą mieć długość maksymalnie 128 znaków. Używaj haseł, które są tak długie i złożone, jak to możliwe.
Wygaśnięcie hasła
Zasady wygasania haseł służą do zarządzania cyklem życia hasła. Gdy program SQL Server wymusza zasady wygasania haseł, użytkownicy są przypominani o zmianie starych haseł, a konta z wygasłymi hasłami są wyłączone.
Wymuszanie zasad
Konfiguracja zasad dotyczących haseł może być skonfigurowana oddzielnie dla każdego loginu SQL Server. Użyj ALTER LOGIN, aby skonfigurować opcje zasad dotyczących haseł programu SQL Server. Następujące reguły dotyczą konfiguracji wymuszania zasad haseł:
Po zmianie CHECK_POLICY na WŁĄCZONY, zachodzą następujące działania:
CHECK_EXPIRATION jest również ustawiona na ON, chyba że jest jawnie ustawiona na OFF.
Historia haseł jest inicjowana z wartością bieżącego skrótu hasła.
Czas trwania blokady konta, próg blokady konta i resetowanie licznika blokady konta po są również włączone.
Po zmianie CHECK_POLICY na WYŁ., występują następujące zachowania:
CHECK_EXPIRATION jest również ustawiona na WARTOŚĆ WYŁĄCZONE.
Historia haseł jest czyszczone.
Wartość
lockout_time
jest resetowana.
Niektóre kombinacje konfiguracji zasad nie są obsługiwane.
Jeśli określono MUST_CHANGE, CHECK_EXPIRATION i CHECK_POLICY muszą być ustawione na WARTOŚĆ WŁĄCZONE. W przeciwnym razie instrukcja kończy się niepowodzeniem.
Jeśli CHECK_POLICY jest ustawiona na WYŁ., CHECK_EXPIRATION nie można ustawić wartości WŁĄCZONE. Instrukcja ALTER LOGIN, która ma tę kombinację opcji, zakończy się niepowodzeniem.
Ustawienie CHECK_POLICY = WŁĄCZONE uniemożliwia tworzenie haseł, które są:
Wartość null lub pusta
Taka sama jak nazwa komputera lub logowania
Dowolny z następujących elementów:
password
, ,administrator
admin
, ,sa
sysadmin
Zasady zabezpieczeń mogą być ustawione w systemie Windows lub mogą być odbierane z domeny. Aby wyświetlić zasady polityki haseł na komputerze, użyj przystawki MMC Zasady zabezpieczeń lokalnych (secpol.msc).
Uwaga / Notatka
Dla logowań programu SQL Server, które mają włączoną opcję CHECK_POLICY, jeśli uruchomisz polecenie ALTER LOGIN i nie dołączysz OLD_PASSWORD w poleceniu zmiany hasła, wtedy opcja Enforce Password History jest ignorowana. Jest to zachowanie projektowe umożliwiające resetowanie haseł pomimo poprzednio używanych haseł. Inne kontrole skojarzone z CHECK_POLICY, w tym długość i złożoność, są sprawdzane niezależnie od tego, czy OLD_PASSWORD jest używany.
Sprawdzanie informacji o zasadach haseł użytkownika SQL
Możesz przejrzeć zasady haseł użytkowników SQL i daty wygaśnięcia w programie SQL Server, korzystając z następującego zapytania. Chociaż poniższe zapytanie działa również w usłudze Azure SQL Database, w usłudze Azure SQL Database wymuszana jest tylko złożoność hasła.
SELECT name,
is_policy_checked,
is_expiration_checked,
LOGINPROPERTY(name, 'IsMustChange') AS IsMustChange,
LOGINPROPERTY(name, 'IsLocked') AS IsLocked,
LOGINPROPERTY(name, 'LockoutTime') AS LockoutTime,
LOGINPROPERTY(name, 'PasswordLastSetTime') AS PasswordLastSetTime,
LOGINPROPERTY(name, 'IsExpired') AS IsExpired,
LOGINPROPERTY(name, 'BadPasswordCount') AS BadPasswordCount,
LOGINPROPERTY(name, 'BadPasswordTime') AS BadPasswordTime,
LOGINPROPERTY(name, 'HistoryLength') AS HistoryLength,
modify_date
FROM sys.sql_logins;
Powiązane zadania
TWORZENIE IDENTYFIKATORA LOGOWANIA
Tworzenie użytkownika bazy danych