Ochrana vašich dat

Dokončeno

Po nakonfigurování a zabezpečení identit a přístupu k síti se budeme věnovat ochraně dat. Data můžou být neaktivní uložená, aktivní přenášená nebo prohlížená uživateli a správci.

Šifrování dat

Služba Azure SQL Database vynucuje šifrovaná připojení s možností dalšího určení požadované minimální verze protokolu TLS (Transport Layer Security) (>1.0, >1.1 nebo >1.2). Doporučujeme vynucovat šifrování na klientovi, aby se zabránilo vyjednávání serveru a nedůvěřoval certifikátu serveru jako osvědčeným postupem.

Transparentní šifrování dat

transparentní šifrování dat (TDE) poskytuje šifrování neaktivních uložených dat a je ve výchozím nastavení zapnuté pro všechny nové databáze ve službě Azure SQL Database. Můžete ho nakonfigurovat pro všechny možnosti nasazení s přepínačem na webu Azure Portal, jak je znázorněno tady:

Snímek obrazovky s potvrzením, že je transparentní šifrování dat na webu Azure Portal zapnuté

Na úrovni serveru můžete také použít klíč spravovaný službou nebo použít funkci Přineste si vlastní klíč (BYOK) pomocí možnosti Klíč spravovaný zákazníkem. Výchozím nastavením je nechat službu Azure spravovat váš klíč. Azure automaticky vygeneruje klíč pro šifrování databází a spravuje obměny klíčů. Naučili jste se to pomocí webu Azure Portal, ale můžete také použít Azure PowerShell, Azure CLI, Transact-SQL (T-SQL) nebo rozhraní REST API.

Snímek obrazovky se zobrazením možností transparentního šifrování dat na serveru

Klíče spravované zákazníkem s transparentním šifrováním dat

Můžete alternativně použít BYOK a využít výhod trezoru klíčů Azure. Výhody používání klíčů spravovaných zákazníkem jsou:

  • Úplná a podrobná kontrola nad používáním a správou ochrany transparentním šifrováním dat
  • Transparentnost použití ochrany transparentním šifrováním dat
  • Schopnost implementovat oddělení povinností při správě klíčů a dat v organizaci
  • Správce trezoru klíčů může odvolat přístupová oprávnění ke klíči, aby byla zašifrovaná databáze nepřístupná.
  • Centrální správa klíčů v AKV
  • Větší důvěryhodnost od koncových zákazníků, protože služba AKV je navržená tak, aby Microsoft neviděl nebo extrahovala šifrovací klíče

Můžete také využít použití spravované identity přiřazené uživatelem s klíči spravovanými zákazníkem pro transparentní šifrování dat, které:

  • Umožňuje předem autorizovat přístup trezoru klíčů pro logické servery Azure SQL vytvořením spravované identity přiřazené uživatelem a udělením přístupu k trezoru klíčů, a to i před vytvořením serveru nebo databáze.
  • Umožňuje vytvoření logického serveru Azure SQL s povoleným transparentním šifrováním dat a klíčem CMK.
  • Umožňuje přiřadit stejnou spravovanou identitu přiřazenou uživatelem k více serverům, což eliminuje nutnost jednotlivě zapnout spravovanou identitu přiřazenou systémem pro každý logický server Azure SQL a poskytnout jí přístup k trezoru klíčů.
  • Poskytuje možnost vynutit CMK při vytváření serveru pomocí dostupných předdefinovaných zásad Azure.

Automatická obměna klíčů byla zavedena pro klíče spravované zákazníkem pomocí transparentního šifrování dat. Pokud je tato možnost povolená, server nepřetržitě kontroluje trezor klíčů pro všechny nové verze klíče, které se používají jako ochrana transparentním šifrováním dat. Pokud se zjistí nová verze klíče, ochrana transparentním šifrováním dat na serveru se během 60 minut automaticky otočí na nejnovější verzi klíče.

Funkce Always Encrypted

Můžete také využívat šifrování na úrovni sloupců, které Azure SQL podporuje stejně jako SQL Server. Součástí procesu je i šifrování citlivých dat na straně klienta klíči, které nebudou nikdy předány databázovému systému. Ovladač klienta navíc transparentně šifruje parametry dotazu a dešifruje šifrované výsledky. V současné době podporuje šifrovaná data pro porovnání rovnosti, včetně JOINGROUP BY, a DISTINCT operátorů deterministickým šifrováním.

Funkce Always Encrypted se zabezpečenými enklávy rozšiřuje možnosti důvěrného výpočetního prostředí funkce Always Encrypted tím, že umožňuje místní šifrování a bohatší důvěrné dotazy. Funkce Always Encrypted se zabezpečenými enklávy je teď dostupná pro Azure SQL Database, ale zatím není podporovaná pro spravovanou instanci Azure SQL.

Dynamické maskování dat

V některých případech budete chtít určitá data maskovat nebo upravovat tak, aby je neoprávnění uživatelé sice neviděli, ale mohli zadávat dotazy, které zahrnují jejich data. Tato možnost je podporovaná stejně jako v SQL Serveru. Na webu Azure Portal jsou další funkce a zobrazení, která zobrazují doporučení k maskování polí.

Snímek obrazovky s doporučeními k dynamickému maskování dat na webu Azure Portal

Podívejme se na příklad, ve kterém data obsahují citlivé informace, jako jsou jména a e-mailové adresy. Masku můžete použít na tyto sloupce na webu Azure Portal výběrem nabídky Dynamické maskování dat v části Zabezpečení v konfiguračním podokně databáze SQL nebo pomocí následujících příkazů T-SQL:

ALTER TABLE Data.Membership ALTER COLUMN FirstName
ADD MASKED WITH (FUNCTION = 'partial(1, "xxxxx", 1)')

ALTER TABLE Data.Membership ALTER COLUMN Email
ADD MASKED WITH (FUNCTION = 'email()')

ALTER TABLE Data.Membership ALTER COLUMN DiscountCode 
ADD MASKED WITH (FUNCTION = 'random(1, 100)')
 
GRANT UNMASK to DataOfficers

Z předchozích příkazů je patrné, že funkce nabízejí různé způsoby použití masky.

Pokud mají uživatelé přiřazenu nějakou roli, třeba DataOfficers (jde o příklad, nikoliv o oficiální roli), můžou mít možnost zobrazovat maskovaná data. Oprávnění jim UNMASK můžete udělit pomocí následujícího příkazu T-SQL:

GRANT UNMASK TO DataOfficers

Podle toho, kdo se dotazuje, budou výsledky vypadat takto:

Screenshot s příkladem uživatelů s přístupem s odmaskováním

Úvodem k podrobným oprávněním dynamického maskování dat můžete udělit nebo odvolat UNMASK oprávnění na úrovni databáze, na úrovni schématu, na úrovni tabulky nebo na úrovni sloupce pro uživatele databáze, identitu Microsoft Entra, skupinu Microsoft Entra nebo roli databáze.

Úkoly pro ochranu dat

Pokud chcete nastavit a nakonfigurovat ochranu dat, postupujte takto:

Kontrola znalostí

1.

Jak můžete spravovat, kdo má přístup k zobrazení maskovaných dat?

2.

Jaké operátory v současnosti podporuje Azure SQL při vyhodnocování rovnosti dat zašifrovaných funkcí Always Encrypted?