sql >> Database >  >> RDS >> Database

Gegevens gebruiken die zijn beveiligd met een Azure Key Vault van Linux

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:

  1. Maak een Azure Key Vault in Windows Azure.
  2. 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.

  3. 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
    );
    
  4. Klik met de rechtermuisknop op de tabel. Kies in het pop-upmenu Kolommen versleutelen .

    De Wizard Altijd versleuteld wordt gestart.

  5. Op de Kolomselectie pagina, vouw de tabellen uit en selecteer de kolommen die u wilt versleutelen.
  6. 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.

  7. Kies CEK_Auto1 (New) als de coderingssleutel voor elke kolom, wat een nieuwe automatisch gegenereerde sleutel is. Kies Volgende .
  8. Kies Azure Key Vault en meld u vervolgens aan bij uw Azure-account wanneer daarom wordt gevraagd.
  9. Kies uw Azure Key Vault uit de lijst. Kies Volgende .
  10. Kies Volgende .
  11. Kies Voltooien .
  12. Kies Sluiten .
  13. Installeer op uw Linux- of UNIX-machine versie 1.10.4+ van het SQL Server ODBC-stuurprogramma.
  14. 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.
    	    
  15. Test of u de niet-versleutelde gegevens kunt weergeven:
    /usr/local/easysoft/unixODBC/bin/isql.sh -v SQLSERVER_2016
    SQL>  select * from EncryptedTable
  16. 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.

  1. hoe flashbacken als we dataguard hebben

  2. SQL Server-equivalent van de functie WM_CONCAT

  3. Hoe twee kolommen in MySQL te vergelijken

  4. Wat is er nieuw in MariaDB Server 10.5?