Sdílet prostřednictvím


Vývoj aplikací s využitím funkce Always Encrypted se zabezpečenými enklávy

Platí pro: SQL Server 2019 (15.x) a novější verze ve službě Windows Azure SQL Database

Funkce Always Encrypted se zabezpečenými enklávy rozšiřuje funkci Always Encrypted , která umožňuje bohatší funkce dotazů aplikací na šifrované citlivé databázové sloupce. Využívá zabezpečené technologie enklávy, které umožňují exekutoru dotazů v databázovém stroji delegovat výpočty na šifrovaných sloupcích na zabezpečenou enklávu v rámci procesu databázového stroje.

Požadavky

Aby vaše prostředí podporovalo funkci Always Encrypted se zabezpečenými enklávy, musí splňovat následující požadavky.

  • Vaše instance SQL Serveru nebo váš databázový server ve službě Azure SQL Database musí být správně nakonfigurované tak, aby podporovaly enklávy a ověření identity, pokud je to možné/povinné. Další informace naleznete v tématu Nastavení zabezpečené enklávy a ověření identity.
  • Ujistěte se, že vaše aplikace:
    • Používá verzi klientského ovladače, která podporuje funkci Always Encrypted se zabezpečenými enklávy.

    • Povolí funkci Always Encrypted při připojování k databázi.

    • Nastaví protokol ověřování identity, který určuje, zda musí ovladač klienta ověřit enklávu před odesláním dotazů do enklávy, a pokud ano, kterou službu ověřování identity by měl použít. Nejnovější verze ovladačů podporují následující protokoly ověření identity:

      • Ověření identity Microsoft Azure – vynucuje ověření identity pomocí ověření identity Microsoft Azure.
      • Služba Strážce hostitele – vynucuje ověření pomocí služby Strážce hostitele.
      • Žádné – umožňuje používat enklávy bez ověření.

      Následující tabulka určuje protokoly ověření identity platné pro konkrétní produkty SQL a technologie enklávy:

      Product Technologie enklávy Podporované protokoly ověření identity
      SQL Server 2019 (15.x) a novější Enklávy VBS Služba Strážce hostitele, Žádná
      Azure SQL Database Enklávy SGX (v databázích řady DC) Ověření pravosti Microsoft Azure
      Azure SQL Database Enklávy VBS None
    • Nastaví adresu URL ověření identity, která je platná pro vaše prostředí, pokud používáte ověření identity.

Klientské ovladače pro Always Encrypted se zabezpečenými enklávy

Pokud chcete vyvíjet aplikace pomocí funkce Always Encrypted se zabezpečenými enklávy, potřebujete verzi ovladače klienta SQL, která podporuje zabezpečené enklávy. Klientský ovladač hraje následující klíčovou roli:

  • Před odesláním dotazu, který k provedení používá zabezpečenou enklávu do SQL Serveru nebo Azure SQL Database, ovladač zahájí ověření enklávy (pokud je nakonfigurované), aby ověřil důvěryhodnost zabezpečené enklávy a dá se bezpečně použít ke zpracování citlivých dat. Další informace o ověření identity najdete v tématu Secure Enclave Attestation.
  • Klientský ovladač vytvoří zabezpečenou relaci s enklávou vyjednáním sdíleného tajemství.
  • Ovladač pomocí sdíleného tajného klíče zašifruje šifrovací klíče sloupce, které enkláva bude muset zpracovat, a odešle klíče na SQL Server, který je předá zabezpečené enklávě, která dešifruje klíče.
  • Nakonec ovladač odešle dotaz na spuštění, který aktivuje výpočty uvnitř zabezpečené enklávy.

Následující klientské ovladače podporují funkci Always Encrypted se zabezpečenými enklávy:

Viz také