sql >> Databáze >  >> RDS >> Database

Používání dat chráněných pomocí Azure Key Vault z Linuxu

Společnost Microsoft vylepšila svou bezpečnostní funkci Always Encrypted tím, že umožnila ukládání klíčů, které zajišťují data, do Azure Key Vault.

Ovladač SQL Server ODBC podporuje sloupce Always Encrypted od doby, kdy Microsoft tuto funkci poprvé představil v SQL Server 2016. Počínaje verzí ovladače 1.10.4 jsme přidali nezbytná nastavení připojovacího řetězce pro podporu scénáře Always Encrypted data / Azure Key Vault .

Proces práce se zabezpečenými sloupci Always Encrypted Azure z Linuxu a UNIXu je:

  1. Vytvořte Azure Key Vault ve Windows Azure.
  2. Vytvořte novou registraci aplikace.

    Během tohoto procesu vygenerujete ID klienta aplikace a tajný klíč. Tyto hodnoty budete potřebovat později v tomto kurzu při konfiguraci zdroje dat ovladače SQL Server ODBC.

  3. V SQL Server Management Studio vytvořte testovací tabulku v instanci SQL Server 2016 (nebo novější):
    CREATE TABLE dbo.EncryptedTable
    (
      ID INT IDENTITY(1,1) PRIMARY KEY, LastName NVARCHAR(32), Salary INT NOT NULL
    );
    
  4. Klikněte na tabulku pravým tlačítkem. Z rozbalovací nabídky zvolte Šifrovat sloupce .

    Spustí se Průvodce vždy šifrováním.

  5. Na Výběr sloupce stránku, rozbalte tabulky a vyberte sloupce, které chcete zašifrovat.
  6. Pro každý sloupec vyberte typ šifrování.

    deterministický - vždy zašifruje do stejného šifrovaného textu, což umožňuje provádět vyhledávání rovnosti, spojení a seskupení podle.

    Náhodné generuje jinou hodnotu šifrovaného textu pro stejný prostý text, což je bezpečnější, ale nepodporuje žádné operace.

  7. Vyberte CEK_Auto1 (New) jako šifrovací klíč pro každý sloupec, což je nový automaticky generovaný klíč. Zvolte Další .
  8. Vyberte Azure Key Vault a poté se po zobrazení výzvy přihlaste ke svému účtu Azure.
  9. Ze seznamu vyberte svůj Azure Key Vault. Zvolte Další .
  10. Zvolte Další .
  11. Vyberte Dokončit .
  12. Vyberte Zavřít .
  13. Na vašem počítači se systémem Linux nebo UNIX nainstalujte verzi 1.10.4 nebo vyšší verzi ovladače SQL Server ODBC.
  14. Nakonfigurujte zdroj dat ODBC v /etc/odbc.ini který se připojuje k vaší instanci 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. Otestujte, zda můžete zobrazit nešifrovaná data:
    /usr/local/easysoft/unixODBC/bin/isql.sh -v SQLSERVER_2016
    SQL>  select * from EncryptedTable
  16. Pokud chcete vložit data do sloupce Always Encrypted, musíte použít parametrizovaný INSERT a náš další blog Always Encrypted poskytuje několik příkladů, které ukazují, jak to udělat.

  1. Omezte přístup uživatelů PostgreSQL pomocí schématu a pohledů

  2. Jak vrátit hodnotu Unicode pro daný znak v SQL Server – UNICODE()

  3. Vracet pouze číselné hodnoty v MySQL

  4. Špatný výkon plánu provádění SQL uložené procedury - sniffování parametrů