Database
 sql >> Baza danych >  >> RDS >> Database

Korzystanie z danych chronionych za pomocą Azure Key Vault z systemu Linux

Firma Microsoft ulepszyła swoją funkcję zabezpieczeń Always Encrypted, umożliwiając przechowywanie kluczy zabezpieczających dane w Azure Key Vault.

Sterownik ODBC programu SQL Server obsługuje kolumny Always Encrypted, odkąd firma Microsoft początkowo wprowadziła tę funkcję w programie SQL Server 2016. Począwszy od kompilacji sterownika w wersji 1.10.4, dodaliśmy niezbędne ustawienia parametrów połączenia w celu obsługi scenariusza Always Encrypted data / Azure Key Vault .

Proces pracy z zabezpieczonymi kolumnami Always Encrypted platformy Azure z systemów Linux i UNIX to:

  1. Utwórz Azure Key Vault w Windows Azure.
  2. Utwórz nową rejestrację aplikacji.

    Podczas tego procesu wygenerujesz identyfikator klienta aplikacji i klucz tajny. Te wartości będą potrzebne w dalszej części tego samouczka podczas konfigurowania źródła danych sterownika ODBC SQL Server.

  3. W SQL Server Management Studio utwórz tabelę testową w wystąpieniu SQL Server 2016 (lub nowszym):
    CREATE TABLE dbo.EncryptedTable
    (
      ID INT IDENTITY(1,1) PRIMARY KEY, LastName NVARCHAR(32), Salary INT NOT NULL
    );
    
  4. Kliknij tabelę prawym przyciskiem myszy. Z wyskakującego menu wybierz Zaszyfruj kolumny .

    Uruchomi się Kreator Always Encrypted.

  5. W Wybraniu kolumny stronę, rozwiń tabele i wybierz kolumny, które chcesz zaszyfrować.
  6. Wybierz typ szyfrowania dla każdej kolumny.

    Deterministyczny - zawsze szyfruje do tego samego tekstu zaszyfrowanego, umożliwiając przeprowadzanie wyszukiwania równości, łączenia i grupowania według.

    Losowo generuje inną wartość tekstu zaszyfrowanego dla tego samego zwykłego tekstu, który jest bezpieczniejszy, ale nie obsługuje żadnych operacji.

  7. Wybierz CEK_Auto1 (New) jako klucz szyfrowania dla każdej kolumny, który jest nowym kluczem wygenerowanym automatycznie. Wybierz Dalej .
  8. Wybierz Azure Key Vault , a następnie po wyświetleniu monitu zaloguj się na swoje konto platformy Azure.
  9. Wybierz z listy Azure Key Vault. Wybierz Dalej .
  10. Wybierz Dalej .
  11. Wybierz Zakończ .
  12. Wybierz Zamknij .
  13. Na komputerze z systemem Linux lub UNIX zainstaluj wersję 1.10.4+ sterownika ODBC SQL Server.
  14. Skonfiguruj źródło danych ODBC w /etc/odbc.ini który łączy się z Twoją instancją SQL Server:
    [SQLSERVER_2016]
    Driver=Easysoft ODBC-SQL Server SSL
    Server=machine\sqlserver_instance
    Database=database_with_always_encrypted_data
    User=user # This can be a Windows or SQL Server login.
    Password=password
    Trusted_Connection=Yes # Set this to No for a SQL Server login
    ColumnEncryption=Enabled
    KeyStoreAuthentication=KeyVaultClientSecret
    KeyStorePrincipalId=ac9e3f9b-ed5e-4f11-9746-f1d25cc5867c   # Your application client ID
    KeyStoreSecret=wQOFhXY/1yIEUK75j8m/o4IUU7tf3AnVRc3ybO6b3VA # and application secret generated when registering
                                                               # an App in your Azure portal.
    	    
  15. Sprawdź, czy możesz wyświetlić niezaszyfrowane dane:
    /usr/local/easysoft/unixODBC/bin/isql.sh -v SQLSERVER_2016
    SQL>  select * from EncryptedTable
  16. Jeśli chcesz wstawić dane do kolumny Always Encrypted, musisz użyć sparametryzowanej INSERT, a nasz inny blog Always Encrypted zawiera kilka przykładów, które pokazują, jak to zrobić.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Model danych agencji opinii publicznej

  2. Minimalizowanie wpływu poszerzenia kolumny TOŻSAMOŚĆ – część 4

  3. Jak czytać i interpretować błędy SQL

  4. Trendy w bazach danych 2019 — SQL kontra NoSQL, najpopularniejsze bazy danych, pojedyncze a wielokrotne użycie bazy danych

  5. Tabela referencyjna SQL:Jak tworzyć i pisać podstawowe zapytania