Microsoft heeft zijn Always Encrypted-beveiligingsfunctie verbeterd door de sleutels die de gegevens beveiligen in een Azure Key Vault op te slaan.
Het SQL Server ODBC-stuurprogramma ondersteunt Always Encrypted-kolommen sinds Microsoft de functie voor het eerst introduceerde in SQL Server 2016. Vanaf build 1.10.4 van het stuurprogramma hebben we de benodigde verbindingsreeksinstellingen toegevoegd om het Always Encrypted-gegevens/Azure Key Vault-scenario te ondersteunen .
Het proces voor het werken met door Azure beveiligde Always Encrypted-kolommen van Linux en UNIX is:
- Maak een Azure Key Vault in Windows Azure.
- Maak een nieuwe app-registratie.
Tijdens dit proces genereert u een toepassingsclient-ID en geheim. U hebt deze waarden later in deze zelfstudie nodig wanneer u de gegevensbron van uw SQL Server ODBC-stuurprogramma configureert.
- Maak in SQL Server Management Studio een testtabel in een exemplaar van SQL Server 2016 (of later):
CREATE TABLE dbo.EncryptedTable ( ID INT IDENTITY(1,1) PRIMARY KEY, LastName NVARCHAR(32), Salary INT NOT NULL );
- Klik met de rechtermuisknop op de tabel. Kies in het pop-upmenu Kolommen versleutelen .
De Wizard Altijd versleuteld wordt gestart.
- Op de Kolomselectie pagina, vouw de tabellen uit en selecteer de kolommen die u wilt versleutelen.
- Kies een coderingstype voor elke kolom.
Deterministisch - versleutelt altijd naar dezelfde gecodeerde tekst, waardoor gelijkheidszoekacties, samenvoegingen en groeperen op kunnen worden uitgevoerd.
Gerandomiseerd genereert een andere cijfertekstwaarde voor dezelfde platte tekst, wat veiliger is, maar geen bewerkingen ondersteunt.
- Kies
CEK_Auto1 (New)
als de coderingssleutel voor elke kolom, wat een nieuwe automatisch gegenereerde sleutel is. Kies Volgende . - Kies Azure Key Vault en meld u vervolgens aan bij uw Azure-account wanneer daarom wordt gevraagd.
- Kies uw Azure Key Vault uit de lijst. Kies Volgende .
- Kies Volgende .
- Kies Voltooien .
- Kies Sluiten .
- Installeer op uw Linux- of UNIX-machine versie 1.10.4+ van het SQL Server ODBC-stuurprogramma.
- Configureer een ODBC-gegevensbron in
/etc/odbc.ini
die verbinding maakt met uw SQL Server-instantie:[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.
- Test of u de niet-versleutelde gegevens kunt weergeven:
/usr/local/easysoft/unixODBC/bin/isql.sh -v SQLSERVER_2016 SQL> select * from EncryptedTable
- Als u gegevens wilt invoegen in een Always Encrypted-kolom, moet u een INSERT met parameters gebruiken, en onze andere Always Encrypted-blog biedt enkele voorbeelden die laten zien hoe u dit kunt doen.