| Termin | Definicja |
|---|---|
| Database Master Key | Database Master Key to klucz szyfrujący zabezpieczający inne klucze i certyfikaty przechowywane w danej bazie danych. Rola Database Master Key w hierarchii zabezpieczeń SQL ServerDatabase Master Key, skrótowo DMK, jest kluczem głównym przypisanym do konkretnej bazy danych w Microsoft SQL Server. Jego zadaniem nie jest bezpośrednie szyfrowanie wszystkich rekordów ani plików bazy. DMK stanowi element hierarchii kluczy: chroni inne obiekty kryptograficzne znajdujące się w tej samej bazie, przede wszystkim certyfikaty, klucze asymetryczne i klucze symetryczne. Dopiero te niższe elementy mogą być używane przez mechanizmy SQL Server do ochrony danych, poświadczeń lub innych sekretów. DMK jest kluczem symetrycznym przechowywanym jako obiekt bazy danych. W typowej konfiguracji SQL Server zabezpiecza go dodatkowo Service Master Key, czyli klucz główny instancji. Przy takim układzie po otwarciu bazy silnik może automatycznie otworzyć DMK, gdy wymagają tego operacje kryptograficzne. Relacja między kluczem instancji a kluczem bazy ma znaczenie przy przenoszeniu, odtwarzaniu lub dołączaniu bazy do innej instancji SQL Server. Utworzenie i ochrona klucza głównego bazyKlucz tworzy się w kontekście konkretnej bazy za pomocą instrukcji Transact-SQL DMK tworzy się zasadniczo raz dla danej bazy danych, a nie osobno dla każdej tabeli. Po utworzeniu należy wykonać jego kopię zapasową instrukcją Otwarcie DMK po odtworzeniu lub przeniesieniu bazyProblem z Database Master Key często pojawia się po przywróceniu kopii bazy na innej instancji SQL Server, po dołączeniu plików bazy albo po migracji środowiska. Nowa instancja nie posiada pierwotnego powiązania między swoim Service Master Key a DMK zapisanym w przeniesionej bazie. W takiej sytuacji klucz może wymagać ręcznego otwarcia instrukcją Stan automatycznego zabezpieczenia można sprawdzić w widoku katalogowym Diagnostyka zależności kryptograficznych w SQL ServerDiagnostykę należy rozpocząć od ustalenia, w której bazie występuje problem, czy Database Master Key istnieje oraz jaki mechanizm go chroni. Następnie trzeba sprawdzić, czy operacja odwołująca się do certyfikatu lub klucza symetrycznego jest wykonywana w odpowiednim kontekście bazy. Błąd może wynikać z użycia niewłaściwego hasła, braku kopii DMK, odtworzenia bazy na innej instancji albo z niezgodności uprawnień użytkownika wykonującego polecenie. Nie należy traktować DMK jako hasła administratora, klucza systemu Windows ani zamiennika kopii zapasowej całej bazy. Jest to konkretny element zabezpieczeń SQL Server, którego utrata może przerwać dostęp do zależnych obiektów kryptograficznych. Podczas analizy warto zabezpieczyć pliki kopii klucza, nie umieszczać haseł w publicznych skryptach i potwierdzić możliwość odtworzenia klucza w kontrolowanym środowisku. Szczegółowa składnia poleceń i wymagania zależne od edycji SQL Server są opisane w dokumentacji Microsoft dotyczącej CREATE MASTER KEY oraz kopii Database Master Key. |