Udostępnij za pośrednictwem


How to: Enable TDE Using EKM

Szyfrowanie danych przezroczyste (TDE) szyfruje magazynu w całej bazie danych.TDE polega na szyfrowaniu danych za pomocą klucz symetrycznego, nazywany kluczem szyfrowanie bazy danych.W tym temacie opisano sposoby ochrony klucz szyfrowanie bazy danych przy użyciu klucz asymetrycznego przechowywane w moduł extensible zarządzania kluczami (EKM).

Klucz szyfrowanie bazy danych również mogą być chronione za pomocą certyfikat, który jest chroniony przez klucz główny bazy danych z wzorzec bazy danych.Aby uzyskać więcej informacji na temat ochrony klucz szyfrowanie bazy danych za pomocą klucz głównego w bazie danych zobacz Understanding Transparent Data Encryption (TDE).

Podstawowe kroki, aby umożliwić używanie EKM TDE są następujące:

  1. Zainstaluj EKM dostawca usług.W tym kroku procedury różnią się w zależności od wymagań dostawca EKM, ale mogą obejmować instalowanie certyfikat z dostawca EKM w lokalnego magazynu certyfikat i DLL EKM kopiowanie plików na SQL Server komputer.

  2. Konfigurowanie SQL Server Aby użyć dostawca EKM.

  3. Jeśli moduł EKM korzysta z uwierzytelnianie podstawowego, należy utworzyć poświadczenie i dodać poświadczeń dla użytkownika.

  4. Tworzenie asymetrycznego chronione przez dostawca EKM klucz.

  5. Jeśli moduł EKM korzysta z uwierzytelnianie podstawowego, należy utworzyć poświadczenie chroniony przez klucz asymetryczny do użytku przez Database Engine.

  6. Tworzenie klucz szyfrowanie symetrycznego bazy danych.

  7. Włącz TDE przy użyciu klucz szyfrowanie bazy danych.

Aby wykonać czynności w tym temacie, należy połączyć SQL Server za pomocą okna Edytor kwerend w SQL Server Management Studio.

Aby zainstalować i skonfigurować dostawca usług kryptograficznych

  1. Skopiuj pliki dostarczone przez dostawca EKM do odpowiedniej lokalizacji w SQL Server komputer. W tym przykładzie używamy C:\EKM folder.

  2. Instalowanie certyfikatów na komputerze jako wymagane przez dostawca EKM.

    Uwaga

    SQL Server nie dostarcza EKM dostawca usług.Każdy dostawca EKM może mieć innej procedury instalowania, konfigurowania i autoryzowania użytkowników.Zapoznaj się z dokumentacją dostawca EKM, aby ukończyć ten krok.

Aby skonfigurować program SQL Server do używania dostawca EKM i utworzyć dostawca w programie SQL Server

  1. Włączanie dostawca EKM to zaawansowana opcja.Najpierw należy wykonać następujące instrukcje, aby wyświetlić zaawansowane opcje.

    sp_configure 'show advanced options', 1 ;
    GO
    RECONFIGURE ;
    GO
    
  2. Wykonanie poniższych instrukcja umożliwiające EKM dostawców:

    sp_configure 'EKM provider enabled', 1 ;
    GO
    RECONFIGURE ;
    GO
    
  3. Wykonać następującą instrukcję, aby utworzyć dostawca usług kryptograficznych, firma Microsoft została wybrana opcja wywołania EKM_Prov oparte na dostawca EKM:

    CREATE CRYPTOGRAPHIC PROVIDER EKM_Prov 
    FROM FILE = 'C:\EKM_Files\KeyProvFile.dll' ;
    GO
    

    Uwaga

    Biblioteka DLL EKM musi być podpisany cyfrowo.

Tworzenie poświadczenie służy do szyfrowania bazy danych

Tworzenie klucz szyfrowania do bazy danych i szyfrowanie bazy danych, musisz być użytkownikiem uprzywilejowanym wysoki (such as administrator systemu).Użytkownik musi być w stanie uwierzytelniania przez moduł EKM.Poniższa procedura tworzy poświadczeń, który wykorzystuje tożsamość EKM i dodaje poświadczenia do wysokiego uprzywilejowanego użytkownika.W poniższych procedurach przyjęto założenie, że moduł EKM może uwierzytelnić użytkownika o nazwie "Identity1".Zamiast gwiazdki, przedstawione w tym miejscu należy podać hasło.Następujące kroki są wymagane, gdy dostawca EKM korzysta z uwierzytelnianie podstawowego, ale kroki opisane w tej sekcji zostaną wtedy pominięte podczas moduł EKM korzysta inne uwierzytelnienia.

Aby utworzyć poświadczenie i dodać je do logowania się wysokim uprzywilejowanego użytkownika

  1. Wykonanie poniższych instrukcja do utworzenia poświadczeń, które będą używane przez administratorów systemów:

    CREATE CREDENTIAL sa_ekm_tde_cred 
    WITH IDENTITY = 'Identity1', 
    SECRET = '*************' 
    FOR CRYPTOGRAPHIC PROVIDER EKM_Prov ;
    GO
    
  2. Wykonanie poniższych instrukcja dodać poświadczeń administrator systemu wysokiej użytkownikowi uprzywilejowanych, takich jak własnej domena logowania w formacie [DOMAIN\login]:

    ALTER LOGIN [DOMAIN\login]
    ADD CREDENTIAL sa_ekm_tde_cred ;
    GO
    

Tworzenie asymetrycznego klucz

Tworzenie asymetrycznego kluczem do ochrony dostępu do klucz szyfrowanie bazy danych.Ten klucz jest używany przez SQL Server Aby uzyskać dostęp do klucza szyfrowanie bazy danych.

Aby utworzyć klucz szyfrowanie bazy danych

  • Wykonanie poniższych instrukcja do utworzenia asymetrycznego klucz przechowywany wewnątrz EKM dostawca.W tym przykładzie SQL Server określi klucz przez ekm_login_key nazwy. Wewnątrz urządzenia EKM klucz będzie miał nazwę SQL_Server_Key.

    Uwaga

    Opcje i parametrów wymaganych przez dostawca EKM może różnić się od tej instrukcja.Aby uzyskać więcej informacji zobacz temat dostawca EKM.

    USE master ;
    GO
    CREATE ASYMMETRIC KEY ekm_login_key 
    FROM PROVIDER [EKM_Prov]
    WITH ALGORITHM = RSA_512,
    PROVIDER_KEY_NAME = 'SQL_Server_Key' ;
    GO
    

    Uwaga

    W przypadku utraty klucz asymetrycznego, przechowywanych w module EKM bazy danych nie będzie mógł być otwarty przez SQL Server. Dostawca EKM umożliwia tworzyć kopię zapasową klucz asymetrycznego, należy utworzyć tworzyć kopię zapasową zapasowej i zapisać go w bezpiecznym miejscu.

Tworzenie poświadczenie do użycia przez aparat bazy danych

Podczas uruchamiania Database Engine Otwórz bazę danych. Poniższa procedura tworzy poświadczeń z uwierzytelnienia przez EKM i dodaje się, że do identyfikatorów logowania opartego na kluczu asymetrycznym, który.Użytkownicy nie mogą zalogować się za pomocą tego identyfikatora logowania, ale Database Engine będzie można uwierzytelnić się z urządzeniem EKM. W poniższych procedurach przyjęto założenie, że moduł EKM może uwierzytelnić użytkownika o nazwie "Identity2".Zamiast gwiazdki poniżej należy podać hasło.Następujące kroki są wymagane, gdy dostawca EKM korzysta z uwierzytelnianie podstawowego, ale kroki opisane w tej sekcji zostaną wtedy pominięte podczas moduł EKM korzysta inne uwierzytelnienia.

Aby utworzyć poświadczenia i dodać je do identyfikatorów logowania

  1. Wykonanie poniższych instrukcja do utworzenia poświadczeń, które będą używane przez Database Engine:

    CREATE CREDENTIAL ekm_tde_cred 
    WITH IDENTITY = 'Identity2' 
    , SECRET = '*************' 
    FOR CRYPTOGRAPHIC PROVIDER EKM_Prov ;
    
  2. Wykonanie poniższych instrukcja identyfikatora logowania używane przez TDE i dodać nowe poświadczenia logowania:

    CREATE LOGIN EKM_Login 
    FROM ASYMMETRIC KEY ekm_login_key ;
    GO
    
    ALTER LOGIN EKM_Login 
    ADD CREDENTIAL ekm_tde_cred ;
    GO
    

Tworzenie klucz szyfrowanie bazy danych

Klucz szyfrowanie bazy danych jest klucz zawartości.Tworzenie klucz szyfrowanie bazy danych w głównej bazie danych.

Aby utworzyć klucz szyfrowanie bazy danych

  1. Zmiany w bazie danych, które będą szyfrowane:

    USE AdventureWorks ;
    GO
    
  2. wykonać następujący kod w celu utworzenia klucz szyfrowanie bazy danych, który będzie używany dla TDE:

    CREATE DATABASE ENCRYPTION KEY
    WITH ALGORITHM  = AES_128
    ENCRYPTION BY SERVER ASYMMETRIC KEY ekm_login_key ;
    GO
    
  3. Wykonaj następujący kod do modyfikowania bazy danych, aby włączyć szyfrowanie danych przezroczyste:

    ALTER DATABASE AdventureWorks 
    SET ENCRYPTION ON ;
    GO
    

    Baza danych jest teraz przechowywany w formacie zaszyfrowanym.

Security

W tym temacie są stosowane następujące uprawnienia:

  • Zmienianie opcji konfiguracja i uruchomić RECONFIGURE instrukcja, użytkownik musi mieć uprawnienie ALTER ustawienia poziomie serwera.ALTER ustawienia uprawnień są niejawnie posiadanych przez sysadmin i serveradmin stałe role serwera.

  • Nazwa pliku załącznika.

  • Wymaga ALTER LOGIN bez uprawnień.

  • Wymaga uprawnienia CREATE klucz asymetrycznego.

  • Wymaga uprawnienia kontroli do bazy danych, aby zaszyfrować bazę danych.