sql >> Databasteknik >  >> RDS >> Database

Använda dataskyddad med ett Azure Key Vault från Linux

Microsoft har förbättrat sin alltid krypterade säkerhetsfunktion genom att aktivera nycklarna som skyddar data att lagras i ett Azure Key Vault.

SQL Server ODBC-drivrutinen har stöd för Always Encrypted-kolumner sedan Microsoft initialt introducerade funktionen i SQL Server 2016. Från och med build 1.10.4 av drivrutinen har vi lagt till de nödvändiga anslutningsstränginställningarna för att stödja scenariot Always Encrypted data / Azure Key Vault .

Processen för att arbeta med Azure-säkrade Alltid krypterade kolumner från Linux och UNIX är:

  1. Skapa ett Azure Key Vault i Windows Azure.
  2. Skapa en ny appregistrering.

    Under denna process kommer du att skapa ett applikationsklient-ID och en hemlighet. Du kommer att behöva dessa värden senare i denna handledning när du konfigurerar din SQL Server ODBC-drivrutindatakälla.

  3. I SQL Server Management Studio, skapa en testtabell i en SQL Server 2016 (eller senare) instans:
    CREATE TABLE dbo.EncryptedTable
    (
      ID INT IDENTITY(1,1) PRIMARY KEY, LastName NVARCHAR(32), Salary INT NOT NULL
    );
    
  4. Högerklicka på tabellen. Välj Kryptera kolumner på popup-menyn .

    Alltid krypterad guide startar.

  5. Kolumnval expandera tabellerna och välj de kolumner som du vill kryptera.
  6. Välj en krypteringstyp för varje kolumn.

    Deterministisk - krypterar alltid till samma chiffertext, vilket gör det möjligt att utföra jämställdhetssökningar, sammanfogningar och gruppera efter.

    Randomiserad genererar ett annat chiffertextvärde för samma oformaterade text, vilket är säkrare, men stöder inte några operationer.

  7. Välj CEK_Auto1 (New) som krypteringsnyckel för varje kolumn, vilket är en ny automatiskt genererad nyckel. Välj Nästa .
  8. Välj Azure Key Vault , och logga sedan in på ditt Azure-konto när du uppmanas.
  9. Välj ditt Azure Key Vault från listan. Välj Nästa .
  10. Välj Nästa .
  11. Välj Slutför .
  12. Välj Stäng .
  13. På din Linux- eller UNIX-dator installerar du version 1.10.4+ av SQL Server ODBC-drivrutinen.
  14. Konfigurera en ODBC-datakälla i /etc/odbc.ini som ansluter till din SQL Server-instans:
    [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. Testa att du kan visa okrypterad data:
    /usr/local/easysoft/unixODBC/bin/isql.sh -v SQLSERVER_2016
    SQL>  select * from EncryptedTable
  16. Om du vill infoga data i en Alltid krypterad kolumn måste du använda en parametriserad INSERT, och vår andra Alltid krypterad blogg ger några exempel som visar hur du gör detta.

  1. Introduktion till SQL Joins

  2. En guide till PGpool - Tips och observationer:del tre

  3. LEAD och LAG analytiska funktioner

  4. Hur man hanterar sessioner i Node.js med Passport, Redis och MySQL