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:
- Skapa ett Azure Key Vault i Windows Azure.
- 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.
- 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 );
- Högerklicka på tabellen. Välj Kryptera kolumner på popup-menyn .
Alltid krypterad guide startar.
- På Kolumnval expandera tabellerna och välj de kolumner som du vill kryptera.
- 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.
- Välj
CEK_Auto1 (New)
som krypteringsnyckel för varje kolumn, vilket är en ny automatiskt genererad nyckel. Välj Nästa . - Välj Azure Key Vault , och logga sedan in på ditt Azure-konto när du uppmanas.
- Välj ditt Azure Key Vault från listan. Välj Nästa .
- Välj Nästa .
- Välj Slutför .
- Välj Stäng .
- På din Linux- eller UNIX-dator installerar du version 1.10.4+ av SQL Server ODBC-drivrutinen.
- 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.
- Testa att du kan visa okrypterad data:
/usr/local/easysoft/unixODBC/bin/isql.sh -v SQLSERVER_2016 SQL> select * from EncryptedTable
- 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.