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
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Baza danych SQL w usłudze Microsoft Fabric (wersja zapoznawcza)
Tworzy klucz główny bazy danych w bazie danych.
Important
- Należy utworzyć kopię zapasową klucza głównego przy użyciu klucza głównego kopii zapasowej i zapisać kopię zapasową w bezpiecznej lokalizacji poza lokacją.
- W programie SQL Server należy również utworzyć kopię zapasową klucza głównego usługi przy użyciu klucza głównego usługi BACKUP i zapisać kopię zapasową w bezpiecznej lokalizacji poza lokacją.
Transact-SQL konwencje składni
Syntax
CREATE MASTER KEY [ ENCRYPTION BY PASSWORD ='password' ]
[ ; ]
Arguments
PASSWORD ='password'
Hasło używane do szyfrowania klucza głównego w bazie danych. hasło musi spełniać wymagania zasad haseł systemu Windows komputera z uruchomionym wystąpieniem programu SQL Server. hasło jest opcjonalne w usługach SQL Database i Azure Synapse Analytics.
Remarks
Klucz główny bazy danych jest kluczem symetrycznym używanym do ochrony kluczy prywatnych certyfikatów i kluczy asymetrycznych znajdujących się w bazie danych oraz tajemnic w poświadczeniach z zakresem w bazie danych. Po utworzeniu klucz główny jest szyfrowany przy użyciu algorytmu AES_256 i hasła dostarczonego przez użytkownika. W programach SQL Server 2008 (10.0.x) i SQL Server 2008 R2 (10.50.x) jest używany algorytm Triple DES. Aby włączyć automatyczne odszyfrowywanie klucza głównego, kopia klucza jest szyfrowana przy użyciu klucza głównego usługi i przechowywanego zarówno w bazie danych, jak i w master
systemie . Zazwyczaj kopia przechowywana w master
jest w trybie dyskretnym aktualizowana za każdym razem, gdy klucz główny zostanie zmieniony. Tę wartość domyślną można zmienić przy użyciu opcji DROP ENCRYPTION BY SERVICE MASTER KEY (UPUŚĆ SZYFROWANIE WEDŁUG KLUCZA GŁÓWNEGO USŁUGI ) ALTER MASTER KEY (ALTER MASTER KEY). Klucz główny, który nie jest zaszyfrowany przez klucz główny usługi, musi zostać otwarty przy użyciu instrukcji OPEN MASTER KEY i hasła.
Kolumna is_master_key_encrypted_by_server
sys.databases
widoku wykazu w pliku master
wskazuje, czy klucz główny bazy danych jest szyfrowany przez klucz główny usługi.
Informacje o kluczu głównym bazy danych są widoczne w sys.symmetric_keys
widoku wykazu.
W przypadku programu SQL Server i parallel Data Warehouse klucz główny jest zwykle chroniony przez klucz główny usługi i co najmniej jedno hasło. W przypadku fizycznego przeniesienia bazy danych na inny serwer (wysyłka dziennika, przywracanie kopii zapasowej itp.), baza danych będzie zawierać kopię klucza głównego zaszyfrowanego przez oryginalny klucz główny usługi serwera (chyba że to szyfrowanie zostało jawnie usunięte przy użyciu ALTER MASTER KEY DDL
), i kopię zaszyfrowaną przez każde hasło określone podczas CREATE MASTER KEY
operacji lub kolejnych ALTER MASTER KEY DDL
operacji. Aby odzyskać klucz główny i wszystkie dane zaszyfrowane przy użyciu klucza głównego jako katalog główny w hierarchii kluczy po przeniesieniu bazy danych, użytkownik będzie miał albo użyć OPEN MASTER KEY
instrukcji przy użyciu jednego z haseł używanych do ochrony klucza głównego, przywrócić kopię zapasową klucza głównego lub przywrócić kopię zapasową oryginalnego klucza głównego usługi na nowym serwerze.
W przypadku usług SQL Database i Azure Synapse Analytics ochrona haseł nie jest uważana za mechanizm bezpieczeństwa, który zapobiega scenariuszowi utraty danych w sytuacjach, w których baza danych może zostać przeniesiona z jednego serwera do innego, ponieważ ochrona klucza głównego usługi w kluczu głównym jest zarządzana przez platformę Microsoft Azure. W związku z tym hasło klucza głównego jest opcjonalne w usługach SQL Database i Azure Synapse Analytics.
W przypadku usługi SQL Database klucz główny bazy danych można utworzyć automatycznie, aby chronić wpisy tajne w poświadczeniach w zakresie bazy danych używanych do inspekcji i innych funkcji, które wymagają poświadczeń o zakresie bazy danych w celu uwierzytelnienia w zasobie zewnętrznym, takim jak konto usługi Azure Storage. Klucz główny jest tworzony przy użyciu silnego losowo wybranego hasła. Użytkownicy nie mogą utworzyć klucza głównego w logicznej master
bazie danych. Hasło klucza głównego jest nieznane firmie Microsoft i nie można go odnaleźć po utworzeniu. Z tego powodu zaleca się utworzenie klucza głównego bazy danych przed utworzeniem poświadczeń o określonym zakresie bazy danych.
Klucz główny usługi i klucze główne bazy danych są chronione przy użyciu algorytmu AES-256.
Permissions
Wymaga uprawnień CONTROL w bazie danych.
Examples
Użyj poniższego przykładu, aby utworzyć klucz główny bazy danych w bazie danych. Klucz jest szyfrowany przy użyciu hasła.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<strong password>';
GO
Sprawdź obecność nowego klucza: ##MS_DatabaseMasterKey##
SELECT * FROM sys.symmetric_keys;
GO