Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Kreator Always Encrypted to zaawansowane narzędzie, które umożliwia skonfigurowanie wymaganych ustawień Always Encrypted dla wybranych kolumn bazy danych. W zależności od bieżącej konfiguracji i żądanej konfiguracji docelowej kreator może zaszyfrować kolumnę, odszyfrować ją (usunąć szyfrowanie) lub ponownie zaszyfrować (na przykład przy użyciu nowego klucza szyfrowania kolumny lub typu szyfrowania, który różni się od bieżącego typu skonfigurowanego dla kolumny). W jednym uruchomieniu kreatora można skonfigurować wiele kolumn.
Kreator umożliwia szyfrowanie kolumn przy użyciu istniejących kluczy szyfrowania, generowanie nowego klucza szyfrowania kolumny lub jednoczesne generowanie nowego klucza szyfrowania kolumny i nowego klucza głównego kolumny.
Funkcja kreatora pozwala na ocenę tabel w wybranej bazie danych lub na wybór konkretnych tabel do analizy. Identyfikuje kolumny odpowiednie do szyfrowania i wyróżnia te niezgodne z funkcją Always Encrypted ze względu na ich typ danych, ograniczenia i inne czynniki. Asystent zawiera szczegółową listę ograniczeń dla każdego pola, wyjaśniając, dlaczego nie można zaszyfrować określonych kolumn.
Po skonfigurowaniu bazy danych z bezpieczną enklawą można uruchamiać operacje kryptograficzne bez przenoszenia danych z bazy danych. Kreator usuwa wszystkie zależności blokujące zmianę schematu kolumny, która ma być zaszyfrowana. Wykonuje szyfrowanie bezpośrednio w bazie danych dla każdej kolumny przy użyciu enklawy w silniku bazy danych. Po zakończeniu szyfrowania kreator ponownie utworzy zależności. Aby uzyskać więcej informacji na temat funkcji Always Encrypted z bezpiecznymi enklawami, zobacz Always Encrypted with secure enclaves (Funkcja Always Encrypted z bezpiecznymi enklawami).
Jeśli baza danych nie jest skonfigurowana przy użyciu bezpiecznej enklawy, kreator umożliwia włączenie bezpiecznej enklawy. Załóżmy, że nie chcesz włączać bezpiecznej enklawy lub nie używasz kluczy obsługujących enklawy. W takim przypadku kreator przenosi dane z bazy danych i w ramach procesu SSMS wykonuje operacje kryptograficzne. Kreator tworzy nową tabelę (lub tabele) z żądaną konfiguracją szyfrowania w bazie danych, ładuje wszystkie dane z oryginalnych tabel, wykonuje żądane operacje kryptograficzne, przekazuje dane do nowych tabel, a następnie zamienia co najmniej jedną oryginalną tabelę na nowe tabele.
Napiwek
Użycie szyfrowania w miejscu przy użyciu funkcji Always Encrypted z bezpiecznymi enklawami, jeśli jest dostępne w danym środowisku, może znacznie skrócić czas i niezawodność operacji kryptograficznych.
Uruchamianie operacji kryptograficznych może zająć dużo czasu. W tym czasie baza danych nie jest dostępna do zapisywania transakcji. Program PowerShell jest zalecanym narzędziem do wykonywania operacji kryptograficznych w większych tabelach. Zobacz Konfigurowanie szyfrowania kolumn przy użyciu funkcji Always Encrypted przy użyciu programu PowerShell lub Konfigurowanie szyfrowania kolumn w miejscu za pomocą programu PowerShell.
Aby zapoznać się z kompleksową instrukcją, która pokazuje, jak skonfigurować funkcję Always Encrypted za pomocą kreatora i używać jej w aplikacji klienckiej, zobacz następujące samouczki dotyczące usługi Azure SQL Database:
Aby uzyskać informacje na temat kluczy Always Encrypted, zobacz Omówienie zarządzania kluczami dla funkcji Always Encrypted.
Aby uzyskać informacje o typach szyfrowania obsługiwanych w funkcji Always Encrypted, zobacz Wybieranie deterministycznego lub losowego szyfrowania.
Uprawnienia
Aby wykonać operacje kryptograficzne przy użyciu kreatora, musisz mieć uprawnienia VIEW ANY COLUMN MASTER KEY DEFINITION i VIEW ANY COLUMN ENCRYPTION KEY DEFINITION. Aby móc tworzyć, uzyskiwać dostęp i używać głównego klucza kolumny, potrzebujesz również uprawnień dostępu do magazynu kluczy. Aby uzyskać szczegółowe informacje na temat uprawnień magazynu kluczy, przejdź do artykułu Tworzenie i przechowywanie kluczy głównych kolumn dla funkcji Always Encrypted lub znajdź sekcję odpowiednią dla magazynu kluczy.
Otwórz kreatora Always Encrypted
Kreator można uruchomić na trzech różnych poziomach:
- Na poziomie bazy danych, jeśli chcesz zaszyfrować wiele kolumn w różnych tabelach.
- Na poziomie tabeli, jeśli chcesz zaszyfrować wiele kolumn w tej samej tabeli.
- Jeśli na poziomie kolumny chcesz zaszyfrować jedną konkretną kolumnę.
Połącz się z programem SQL Server za pomocą składnika Eksplorator obiektów programu SQL Server Management Studio.
Aby zaszyfrować:
Wiele kolumn znajdujących się w różnych tabelach w bazie danych, kliknij prawym przyciskiem myszy bazę danych, wskaż polecenie Zadania, a następnie wybierz pozycję Kreator Always Encrypted.
Wiele kolumn w tej samej tabeli, przejdź do tabeli, kliknij ją prawym przyciskiem myszy, a następnie wybierz pozycję Kreator Always Encrypted.
Pojedyncza kolumna, przejdź do kolumny, kliknij ją prawym przyciskiem myszy, a następnie wybierz pozycję Kreator Always Encrypted.
Strona wyboru kolumny
Na tej stronie wybierasz kolumny do szyfrowania, ponownego szyfrowania lub odszyfrowywania i definiowania docelowej konfiguracji szyfrowania.
Aby zaszyfrować kolumnę zwykłego tekstu (kolumnę, która nie jest zaszyfrowana), wybierz typ szyfrowania (deterministyczny lub losowy) i klucz szyfrowania dla kolumny.
Wybierz żądany typ szyfrowania i klucz, aby zmienić typ szyfrowania lub obrócić (zmienić) klucz szyfrowania kolumny dla już zaszyfrowanej kolumny.
Jeśli chcesz, aby kreator szyfrował lub ponownie szyfrował jedną lub więcej kolumn z użyciem nowego klucza szyfrowania kolumny, wybierz klucz zawierający (Nowy) w nazwie. Kreator generuje klucz.
Aby odszyfrować obecnie zaszyfrowaną kolumnę, wybierz pozycję Zwykły tekst dla typu szyfrowania.
Napiwek
Jeśli chcesz użyć szyfrowania na miejscu i, używasz istniejących kluczy, upewnij się, że wybrano klucze z obsługą enklawową, opisane jako (z włączoną enklawą).
Kreator nie obsługuje operacji kryptograficznych w tabelach tymczasowych i tabelach w pamięci. Puste tabele czasowe lub w pamięci można tworzyć przy użyciu Transact-SQL i wstawiać dane przy użyciu aplikacji.
Strona oceny kolumn
Wybrane tabele i kolumny są oceniane pod kątem przydatności funkcji Always Encrypted lub Always Encrypted z bezpiecznymi enklawami. Ocena rozpoczyna się automatycznie, wyświetlając pasek stanu oraz listę tabel i kolumn, które obecnie ocenia, które są wykonywane i które należy wykonać. Ocena sprawdza, czy kolumna tabeli spełnia wymagania dotyczące funkcji Always Encrypted lub Always Encrypted z bezpiecznymi enklawami na podstawie ograniczeń .
Jeśli kolumna nie spełnia wymagań, ocena wyświetla stan "Błąd" dla tej kolumny. Wybranie linku Komunikaty umożliwia uzyskanie szczegółowych informacji o tym, dlaczego nie można zaszyfrować tej konkretnej kolumny.
Możesz zaszyfrować przekazane kolumny oceny, zaznaczając pole wyboru. Kreator automatycznie pomija wszystkie kolumny, które nie przechodzą oceny. Ponadto możesz wyeksportować wyniki do pliku CSV lub pliku tekstowego, wybierając przycisk Raport.
Strona konfiguracji klucza głównego
Jeśli wybrano automatycznie wygenerowany klucz szyfrowania kolumny dla dowolnej kolumny na poprzedniej stronie, musisz wybrać istniejący klucz główny kolumny lub skonfigurować nowy klucz główny kolumny, który szyfruje klucz szyfrowania kolumny na tej stronie.
Podczas konfigurowania nowego klucza głównego kolumny można wybrać istniejący klucz w magazynie certyfikatów systemu Windows lub w usłudze Azure Key Vault i utworzyć tylko obiekt metadanych dla klucza w bazie danych. Można też wygenerować zarówno klucz, jak i obiekt metadanych opisujący klucz w bazie danych.
Aby użyć szyfrowania in-place, wybierz pozycję Zezwól na obliczenia enklawy dla nowego klucza głównego kolumny. Zaznaczenie tego pola wyboru jest dozwolone tylko wtedy, gdy baza danych jest skonfigurowana przy użyciu bezpiecznej enklawy.
Aby uzyskać więcej informacji na temat tworzenia i przechowywania kluczy głównych kolumn w magazynie certyfikatów systemu Windows, usłudze Azure Key Vault lub innych magazynach kluczy, zobacz Tworzenie i przechowywanie kluczy głównych kolumn dla funkcji Always Encrypted lub Zarządzanie kluczami dla funkcji Always Encrypted z bezpiecznymi enklawami.
Napiwek
Kreator umożliwia jedynie przeglądanie i tworzenie kluczy w magazynie certyfikatów systemu Windows oraz w usłudze Azure Key Vault. Umożliwia również automatyczne generowanie nazw nowych kluczy i obiektów metadanych bazy danych opisujących je. Załóżmy, że potrzebujesz większej kontroli nad sposobem aprowizacji kluczy oraz więcej opcji dla magazynu kluczy zawierającego klucz nadrzędny kolumny. W takim przypadku możesz użyć okna dialogowego Nowy klucz główny kolumny i Nowy klucz szyfrowania kolumny , aby najpierw utworzyć klucze, a następnie uruchomić kreatora i wybrać utworzone klucze. Zobacz Aprowizuj klucze główne kolumn za pomocą okna dialogowego Nowy klucz główny kolumn lub Aprowizuj klucze z włączoną enklawą i Aprowizuj klucze szyfrowania kolumn za pomocą okna dialogowego Nowy klucz szyfrowania kolumn.
strona ustawień szyfrowania In-Place
Jeśli skonfigurowałeś bezpieczną enklawę w bazie danych i używasz kluczy obsługujących enklawy, ta strona pozwala na określenie parametrów atestacji enklawy wymaganych do szyfrowania w miejscu. Jeśli nie chcesz używać szyfrowania w miejscu, usuń zaznaczenie Użyj szyfrowania w miejscu dla odpowiednich kolumn, aby kontynuować szyfrowanie po stronie klienta. Zalecamy pozostawienie tego pola wyboru włączonego, aby kreator mógł używać szyfrowania na miejscu.
Aby uzyskać więcej informacji na temat zaświadczania enklawy, zobacz Konfigurowanie zaświadczania dla funkcji Always Encrypted przy użyciu zaświadczania platformy Azure
Strona ustawień uruchamiania
Kreator obsługuje dwie metody konfigurowania docelowej konfiguracji szyfrowania: online i offline.
W przypadku podejścia w trybie offline tabele docelowe i wszystkie tabele powiązane z tabelami docelowymi (na przykład wszystkie tabele, z których tabela docelowa ma relacje kluczy obcych) są niedostępne do zapisywania transakcji przez cały czas trwania operacji. Semantyka ograniczeń klucza obcego (CHECK lub NOCHECK) jest zawsze zachowywana podczas korzystania z podejścia offline.
W przypadku podejścia online operacje kopiowania, szyfrowania, odszyfrowywania lub ponownego szyfrowania danych są wykonywane przyrostowo. Aplikacje mogą odczytywać i zapisywać dane z i do tabel docelowych w całej operacji przenoszenia danych, z wyjątkiem ostatniej iteracji, której czas trwania jest ograniczony przez parametr Maksymalny przestój . Aby wykrywać i przetwarzać zmiany, które aplikacje mogą wprowadzać podczas kopiowania danych, kreator włącza śledzenie zmian w docelowej bazie danych. Z tego powodu podejście online może zużywać więcej zasobów po stronie bazy danych niż podejście offline. Operacja może również zająć więcej czasu przy podejściu online, zwłaszcza jeśli intensywne operacje zapisu są wykonywane na bazie danych. Podejście online może służyć do szyfrowania jednej tabeli jednocześnie , a tabela musi mieć klucz podstawowy. Domyślnie ograniczenia klucza obcego są odtwarzane za pomocą opcji NOCHECK, aby zminimalizować wpływ na aplikacje. Zachowanie semantyki ograniczeń klucza obcego można wymusić, włączając opcję Keep check foreign key constraints.
Poniżej przedstawiono wskazówki dotyczące wybierania między podejściami offline i online:
Użyj podejścia offline:
- Aby zminimalizować czas trwania operacji.
- Aby szyfrować/odszyfrowywać/ponownie szyfrować kolumny w wielu tabelach jednocześnie.
- Jeśli tabela docelowa nie ma klucza podstawowego.
Użyj podejścia online:
- Aby zminimalizować przestój/niedostępność bazy danych w aplikacjach.
Po szyfrowaniu
Wyczyść pamięć podręczną planu dla wszystkich zestawów i procedur składowanych, które uzyskują dostęp do tabeli, aby odświeżyć informacje o szyfrowaniu parametrów.
ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE;
Uwaga / Notatka
Jeśli nie usuniesz planu dla objętego zapytania z pamięci podręcznej, pierwsze wykonanie zapytania po zaszyfrowaniu może zakończyć się niepowodzeniem.
Użyj ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE lub DBCC FREEPROCCACHE do ostrożnego czyszczenia pamięci podręcznej planu, ponieważ może to spowodować tymczasowy spadek wydajności zapytań. Aby zminimalizować negatywny wpływ czyszczenia pamięci podręcznej, można selektywnie usunąć plany tylko dla zapytań, których dotyczy problem.
Wywołaj sp_refresh_parameter_encryption, aby zaktualizować metadane parametrów każdego modułu (procedura składowana, funkcja, widok, wyzwalacz) przechowywanych w sys.parameters, które mogły zostać unieważnione przez szyfrowanie kolumn.