Sdílet prostřednictvím


Přehled možností zabezpečení služby Azure SQL Database a SQL Managed Instance

Platí pro:Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Tento článek popisuje základy zabezpečení datové vrstvy aplikace, která používá Azure SQL Database, Azure SQL Managed Instance a Azure Synapse Analytics. Strategie zabezpečení popsaná v tomto článku se řídí vícevrstvým přístupem hloubkové ochrany, jak je znázorněno v následujícím diagramu, a postupuje z vnější strany dovnitř.

Diagram vrstvené hloubkové ochrany Zákaznická data jsou uzavřená ve vrstvách zabezpečení sítě, správy přístupu a ochrany před hrozbami a informacemi.

Zabezpečení sítě

Azure SQL Database, Azure SQL Managed Instance a Azure Synapse Analytics poskytují relační databázovou službu pro cloudové a podnikové aplikace. Abychom pomohli chránit data zákazníků, brány firewall zabraňují síťovému přístupu k serveru, dokud výslovně neudělíte přístup na základě IP adresy nebo původu provozu z virtuální sítě Azure.

Pravidla brány firewall protokolu IP

Pravidla firewallu protokolu IP udělují přístup k databázím na základě původní IP adresy každého požadavku. Pro více informací si přečtěte Přehled pravidel brány firewall pro Azure SQL Database a Azure Synapse Analytics.

Pravidla brány firewall virtuální sítě

Koncové body služby virtuální sítě rozšiřují připojení virtuální sítě přes páteřní síť Azure a umožňují službě Azure SQL Database identifikovat podsíť virtuální sítě, ze které provoz pochází. Pro povolení přístupu k Azure SQL Database použijte značky služeb SQL k umožnění odchozího provozu prostřednictvím skupin zabezpečení sítě.

  • Pravidla virtuální sítě umožňují službě Azure SQL Database přijímat pouze komunikaci odesílanou z vybraných podsítí uvnitř virtuální sítě.
  • Řízení přístupu pomocí pravidel brány firewall se nevztahuje na spravovanou instanci SQL. Další informace o potřebné konfiguraci sítě najdete v tématu Připojení ke spravované instanci.

Poznámka:

Řízení přístupu pomocí pravidel brány firewall se nevztahuje na spravovanou instanci SQL. Další informace o potřebné konfiguraci sítě najdete v tématu Připojení ke spravované instanci.

Perimetr zabezpečení sítě

Síťový bezpečnostní perimetr Azure vytváří logické hranice sítě kolem prostředků PaaS (platforma jako služba), které nasazujete mimo vaše virtuální sítě.

  • Ochranný perimetr sítě Azure pomáhá kontrolovat přístup veřejných sítí ke službě Azure SQL Database.
  • Řízení přístupu pomocí hraniční sítě Azure se nevztahuje na spravovanou instanci Azure SQL.

Důležité

Azure SQL Database s hraniční sítí je aktuálně ve verzi Preview. Verze Preview jsou poskytovány bez smlouvy o úrovni služeb a nedoporučuje se pro produkční úlohy. Některé funkce nemusí být podporované nebo můžou mít omezené možnosti. Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.

Ověřování

Ověřování je proces prokazování, že je uživatel tím, za koho se vydává. Azure SQL Database a SQL Managed Instance podporují ověřování pomocí Microsoft Entra ID (dříve Azure Active Directory) a ověřování SQL. Spravovaná instance SQL dále podporuje ověřování pomocí Windows pro principály Microsoft Entra.

  • Ověřování Microsoft Entra:

    Ověřování Microsoft Entra je mechanismus pro připojení ke službě Azure SQL Database, Azure SQL Managed Instance a Azure Synapse Analytics pomocí identit v Microsoft Entra ID. Ověřování Microsoft Entra umožňuje správcům centrálně spravovat identity a oprávnění uživatelů databáze spolu s dalšími službami Azure v jednom centrálním umístění. Tato funkce může pomoct eliminovat použití tajných kódů a hesel.

    Pokud chcete použít ověřování Microsoft Entra s SQL Database, vytvořte správce serveru s názvem Správce Microsoft Entra. Další informace naleznete v tématu Připojení ke službě SQL Database pomocí ověřování Microsoft Entra. Ověřování Microsoft Entra podporuje spravované i federované účty. Federované účty podporují uživatele a skupiny Windows pro doménu zákazníka federovanou s ID Microsoft Entra.

    Microsoft Entra podporuje několik různých možností ověřování, včetně vícefaktorového ověřování, integrovaného ověřování systému Windows a podmíněného přístupu.

  • Ověřování systému Windows pro objekty zabezpečení Microsoft Entra:

    Ověřování protokolem Kerberos pro principály Microsoft Entra poskytuje ověřování systému Windows pro spravovanou instanci Azure SQL. Ověřování systému Windows pro spravované instance umožňuje zákazníkům přesunout stávající služby do cloudu a současně udržovat bezproblémové uživatelské prostředí a poskytuje základ pro modernizaci infrastruktury.

    Pokud chcete povolit ověřování systému Windows pro objekty zabezpečení Microsoft Entra, přepněte tenanta Microsoft Entra na nezávislou sféru Kerberos a vytvořte příchozí vztah důvěryhodnosti v doméně zákazníka. Přečtěte si , jak se implementuje ověřování systému Windows pro spravovanou instanci Azure SQL pomocí Microsoft Entra ID a Kerberosu.

  • Ověřování SQL:

    Ověřování SQL odkazuje na ověřování uživatele při připojování ke službě Azure SQL Database nebo službě Azure SQL Managed Instance pomocí uživatelského jména a hesla. Při vytváření serveru musíte zadat přihlašovací jméno a heslo správce serveru . Pomocí těchto přihlašovacích údajů může správce serveru ověřit jakoukoli databázi na tomto serveru nebo instanci jako vlastníka databáze. Potom může správce serveru vytvořit další přihlašovací jména a uživatele SQL, které uživatelům umožňují připojení pomocí uživatelského jména a hesla.

Správa autorizace a přístupu

Autorizace odkazuje na řízení přístupu ke správě serverů a databází a k datům, prostředkům a příkazům v databázi. Uživateli v databázi ve službě Azure SQL Database nebo Azure SQL Managed Instance přiřadíte oprávnění. Přiřazení rolí uživatelského účtu portálu řídí správu databází a serverů v Rámci Azure. Další informace najdete v tématu Řízení přístupu na základě role v Azure na webu Azure Portal.

Umožňuje spravovat oprávnění přidáním uživatelských účtů do databázových rolí a přiřazením oprávnění na úrovni databáze k těmto rolím. Případně udělte jednotlivým uživatelům určitá oprávnění na úrovni objektu . Další informace najdete v tématu Přihlášení a uživatelé.

Kromě toho azure SQL Managed Instance poskytuje role na úrovni serveru (pevné nebo vlastní) pro správu oprávnění pro instanci. Role na úrovni serveru mají obor oprávnění pro celý server. Hlavní objekty na úrovni serveru můžete přidat do rolí na úrovni serveru.

Osvědčeným postupem je vytvořit vlastní role v případě potřeby. Přidejte uživatele do role s nejnižšími oprávněními potřebnými k provedení jejich funkce úlohy. Nepřiřazujte oprávnění přímo uživatelům. Účet správce serveru je členem předdefinované role db_owner, která má rozsáhlá oprávnění a měla by být udělena jenom několika uživatelům s administrativními povinnostmi. Chcete-li dále omezit rozsah toho, co může uživatel dělat, pomocí příkazu EXECUTE AS určete kontext spuštění volaného modulu. Dodržování těchto osvědčených postupů je také základním krokem k oddělení povinností.

Zabezpečení na úrovni řádků

Row-Level Security umožňuje řídit přístup k řádkům v databázové tabulce na základě charakteristik uživatele, který provádí dotaz (například členství ve skupině nebo kontext spuštění). Pomocí Row-Level Zabezpečení můžete implementovat vlastní koncepty zabezpečení založené na popiscích. Další informace najdete v tématu Zabezpečení na úrovni řádku.

Diagram znázorňující, že Row-Level Security chrání jednotlivé řádky databáze SQL před přístupem uživatelů prostřednictvím klientské aplikace.

Ochrana před hrozbami

Azure SQL Database a SQL Managed Instance zabezpečují zákaznická data tím, že poskytují možnosti auditování a detekce hrozeb.

Auditování SQL v protokolech služby Azure Monitor a ve službě Event Hubs

Auditování služby SQL Database a SQL Managed Instance sleduje databázové aktivity a pomáhá udržovat dodržování standardů zabezpečení zaznamenáváním událostí databáze do protokolu auditu v účtu úložiště Azure vlastněného zákazníkem. Auditování umožňuje monitorovat probíhající databázové aktivity a také analyzovat a zkoumat historické aktivity a identifikovat potenciální hrozby nebo podezření na zneužití a narušení zabezpečení. Další informace najdete v článku Začínáme s auditem SQL Database.

Advanced Threat Protection

Advanced Threat Protection analyzuje vaše protokoly za účelem zjištění neobvyklého chování a potenciálně škodlivých pokusů o přístup k databázím nebo jejich zneužití. Vytváří výstrahy pro podezřelé aktivity, jako je injektáž SQL, potenciální infiltrace dat a útoky hrubou silou nebo pro anomálie ve vzorech přístupu za účelem zachycení eskalací oprávnění a porušení přihlašovacích údajů. Můžete zobrazit upozornění z Programu Microsoft Defender for Cloud, kde jsou k dispozici podrobnosti o podezřelých aktivitách a doporučení pro další šetření spolu s akcemi pro zmírnění hrozby. Rozšířenou ochranu před internetovými útoky můžete povolit na server za příplatek. Další informace najdete v tématu Začínáme se službou SQL Database Advanced Threat Protection.

Diagram znázorňující monitorování přístupu pomocí detekce hrozeb SQL k databázi SQL pro webovou aplikaci od externího útočníka a škodlivého účastníka programu Insider

Ochrana a šifrování informací

Transport Layer Security (šifrování při přenosu)

SQL Database, SQL Managed Instance a Azure Synapse Analytics zabezpečují zákaznická data šifrováním přenášených dat pomocí protokolu TLS (Transport Layer Security). Tyto služby vždy vynucují šifrovaná připojení TLS, aby se zajistilo, že se všechna data šifrují při přenosu mezi klientem a serverem.

Konkrétně SQL Database, SQL Managed Instance a Azure Synapse Analytics nastavily příznak ForceEncryption konfigurace na Yeshodnotu . Klienti a ovladače musí podporovat šifrovaná připojení pro připojení k těmto službám. Nejnižší verze protokolu TDS, který se může připojit, je TDS 7.1.

Osvědčeným postupem je, že pokud máte ovladače SQL podporující TDS 8.0, použijte striktní šifrování připojení.

Pokud ovladače nepodporují TDS 8.0, použijte povinné šifrování a nedůvěřujte certifikátu serveru. Pokud například používáte ovladač ADO.NET, použijte Encrypt=True a TrustServerCertificate=False v připojovacím řetězci, abyste toho dosáhli. Připojovací řetězec, který získáte z webu Azure Portal, je už s těmito hodnotami nakonfigurovaný.

Vyhněte se nastavení parametru TrustServerCertificate v True produkčním prostředí. TrustServerCertificate=True je příliš permisivní a nechrání před útoky man-in-the-middle. Pokud váš klient očekává v certifikátu serveru jiný název domény, použijte tento HostNameInCertificate parametr k zadání správného názvu domény pro ověření.

Například při použití ovladače ADO.NET pro připojení ke spravované instanci contoso-instance.123456.database.windows.net pomocí vlastního názvu contoso-instance.contoso.comdomény nastavte parametry Encrypt=True připojení a nastavte HostNameInCertificate=contoso-instance.123456.database.windows.net. Tato konfigurace umožňuje ovladači ověřit certifikát serveru s očekávaným názvem domény místního koncového bodu virtuální sítě.

Důležité

Některé ovladače jiné společnosti než Microsoft nemusí ve výchozím nastavení používat protokol TLS nebo můžou k fungování spoléhat na starší verzi protokolu TLS (starší než 1.2). V tomto případě server stále umožňuje připojit se k databázi. Vyhodnoťte však bezpečnostní rizika, která umožňují těmto ovladačům a aplikacím připojit se ke službě SQL Database, zejména pokud ukládáte citlivá data.

Další informace o protokolu TLS a připojení najdete v tématu Důležité informace o protokolu TLS.

Transparentní šifrování dat (šifrování klidových dat) s klíči spravovanými službou

Transparentní šifrování dat (TDE) pro SQL Database, SQL Managed Instance a Azure Synapse Analytics přidává vrstvu zabezpečení, která pomáhá chránit neaktivní uložená data před neoprávněným nebo offline přístupem k nezpracovaným souborům nebo zálohám. Mezi běžné scénáře patří krádež datového centra nebo nezabezpečená likvidace hardwaru nebo médií, jako jsou diskové jednotky a záložní pásky. TDE šifruje celou databázi pomocí šifrovacího algoritmu AES, který nevyžaduje, aby vývojáři aplikací prováděli změny ve stávajících aplikacích.

V Azure se všechny nově vytvořené databáze ve výchozím nastavení šifrují a šifrovací klíč databáze je chráněný integrovaným certifikátem serveru. Služba spravuje údržbu a obměnu certifikátů a nevyžaduje od uživatele žádný vstup. Pokud chcete převzít kontrolu nad šifrovacími klíči, můžete klíče spravovat ve službě Azure Key Vault.

Transparentní šifrování dat (šifrování dat uložených v klidu) pomocí klíčů spravovaných zákazníkem

Pokud potřebujete větší kontrolu nad šifrovacími klíči, transparentní šifrování dat (TDE) podporuje klíče spravované zákazníkem (CMK). Tento klíč CMK je přidružený k logickému serveru a zabalí šifrovací klíče databáze pro všechny databáze na tomto serveru. Případně můžete klíč CMK nakonfigurovat na úrovni jednotlivých databází. Správou klíče CMK můžete řídit obměně klíčů, odvolání a auditování, což je často nezbytné pro dodržování předpisů nebo přísné zásady zabezpečení.

Always Encrypted a Always Encrypted s zabezpečenými enklávami (šifrování během použití)

Diagram znázorňující základy funkce Always Encrypted K databázi SQL se zámkem přistupuje jenom aplikace obsahující klíč.

Funkce Always Encrypted a Always Encrypted se zabezpečenými enklávy jsou funkce určené k ochraně citlivých dat uložených v konkrétních databázových sloupcích před přístupem (například čísla platebních karet, národní/regionální identifikační čísla nebo data , která potřebují znát ). Tato ochrana zahrnuje správce databáze nebo jiné privilegované uživatele, kteří mají oprávnění k přístupu k databázi za účelem provádění úloh správy, ale nemají k určitým datům v šifrovaných sloupcích přístup k žádným obchodním údajům. Data jsou vždy šifrovaná, což znamená, že šifrovaná data se dešifrují jenom pro zpracování klientskými aplikacemi s přístupem k šifrovacímu klíči. Šifrovací klíč se nikdy nezpřístupní službě SQL Database nebo službě SQL Managed Instance a může být uložený ve službě Windows Certificate Store nebo ve službě Azure Key Vault.

Dynamické maskování dat

Diagram znázorňující dynamické maskování dat Obchodní aplikace odesílá data do databáze SQL, která data před odesláním zpět do obchodní aplikace maskuje.

Dynamické maskování dat omezuje vystavení citlivých dat tím, že je maskuje neprivilegovaným uživatelům. Dynamické maskování dat automaticky zjišťuje potenciálně citlivá data ve službě Azure SQL Database a spravované instanci SQL a poskytuje užitečná doporučení k maskování těchto polí s minimálním dopadem na aplikační vrstvu. Funguje tak, že v sadě výsledků dotazu zatemňuje citlivá data v určených databázových polích, zatímco data v databázi se nezmění. Další informace najdete v tématu Začínáme se službou SQL Database a dynamickým maskováním dat služby SQL Managed Instance.

Ledger

Ledger ve službě Azure SQL Database a SQL Managed Instance je funkce, která poskytuje kryptografický důkaz integrity dat. Díky registru máte schopnosti prokazatelnosti neporušenosti vašich dat. Můžete kryptograficky ověřit jiné strany, jako jsou auditoři nebo jiné obchodní strany, že vaše data nebyla manipulována.

Ledger používá k zaznamenávání změn databáze v neměnném registru technologii, která zajišťuje detekci jakýchkoli neoprávněných úprav. Tato funkce je zvlášť užitečná pro scénáře vyžadující dodržování právních předpisů, auditovatelnost a důvěryhodnost mezi více stranami. Povolením registru můžete ověřit integritu dat, což snižuje riziko podvodů nebo manipulace s daty.

Správa zabezpečení

Hodnocení zranitelnosti

Hodnocení zranitelností je snadno konfigurovatelnou službou, která může objevovat, sledovat a pomáhat napravovat potenciální zranitelnosti databáze s cílem proaktivně zlepšit celkovou bezpečnost databáze. Posouzení ohrožení zabezpečení (VA) je součástí nabídky Microsoft Defenderu pro SQL, což je jednotný balíček pro pokročilé funkce zabezpečení SQL. K posouzení ohrožení zabezpečení a jeho správě můžete přistupovat prostřednictvím centrálního portálu Microsoft Defender for SQL Portal.

Zjišťování a klasifikace dat

Zjišťování a klasifikace dat poskytuje základní funkce integrované ve službě Azure SQL Database a službě SQL Managed Instance pro zjišťování, klasifikaci a označování citlivých dat v databázích. Zjišťování a klasifikace nejcitlivějších dat (obchodní, finanční, zdravotnické, osobní údaje a další) hraje v organizační ochraně informací klíčovou roli. Slouží jako infrastruktura pro:

  • Různé scénáře zabezpečení, jako je monitorování (auditování) a upozorňování na neobvyklý přístup k citlivým datům.
  • Řízení přístupu k databázím obsahujícím vysoce citlivá data a posílení zabezpečení databází.
  • podporu dodržování předpisů v oblasti ochrany osobních údajů a dalších regulací;

Další informace najdete v tématu Začínáme se zjišťováním a klasifikací dat.

Kompatibilita

Kromě funkcí a funkcí, které vaší aplikaci pomáhají splňovat různé požadavky na zabezpečení, se Azure SQL Database také účastní pravidelných auditů. Byla certifikována proti řadě standardů dodržování předpisů. Další informace najdete v Centru zabezpečení Microsoft Azure, kde najdete nejnovější seznam certifikací dodržování předpisů služby SQL Database.