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 pomocí Azure SQL Database, Azure SQL Managed Instance a Azure Synapse Analytics. Popisovaná strategie zabezpečení se řídí vícevrstvou obranou v hloubce, 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. Kvůli ochraně zákaznických dat brány firewall brání síťovému přístupu k serveru, dokud se přístup explicitně neudělí na základě IP adresy nebo původu provozu 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ě

Bezpečnostní perimetr sítě Azure vytváří logické hranice sítě kolem PaaS prostředků, které jsou nasazeny 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í. To by mohlo pomoct eliminovat použití tajných kódů a hesel.

    Správce serveru s názvem Správce Microsoft Entra musí být vytvořen pro použití ověřování Microsoft Entra s SQL Database. 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řevedete 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 Azure SQL Managed Instance pomocí uživatelského jména a hesla. Při vytváření serveru se musí 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řihlášení a uživatele SQL, které uživatelům umožní připojit se 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. To se provádí přiřazením oprávnění uživateli v databázi ve službě Azure SQL Database nebo Azure SQL Managed Instance. Správa databází a serverů v Azure se řídí přiřazeními rolí uživatelského účtu portálu. Další informace najdete v tématu Řízení přístupu na základě role v Azure na webu Azure Portal.

Oprávnění se ideálně spravují 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ě může být jednotlivým uživatelům udělena 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 server nebo instanci. Role na úrovni serveru mají oprávnění v celém rozsahu serveru. Principály na úrovni serveru lze 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 pouze několika uživatelům s administrativními povinnostmi. Chcete-li dále omezit rozsah toho, co může uživatel dělat, můžete pomocí funkce EXECUTE AS určit 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ů

Zabezpečení na úrovni řádků umožňuje zákazníkům ří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í). Zabezpečení na úrovni řádků lze také použít k implementaci vlastních konceptů zabezpečení založených 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 uživatelům 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í. Výstrahy se vytvářejí 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ů. Výstrahy se zobrazují v 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šířená ochrana před internetovými útoky je možné 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). Šifrovaná připojení TLS se vynucují vždy. Tím se zajistí, že se všechna data šifrují při přenosu mezi klientem a serverem.

Konkrétně všechny instance SQL Serveru spravované těmito službami mají příznak ForceEncryption konfigurace nastaven na Yes. Klienti a ovladače musí podporovat šifrovaná připojení, aby se mohli připojit k některé službě. 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 s podporou TDS 8.0, doporučujeme použít striktní šifrování připojení.

Pokud ovladače nemají podporu pro 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ý.

Nastavení parametru TrustServerCertificate na True by mělo být v produkčním prostředí vyloučeno. TrustServerCertificate=True je příliš vstřícný a nechrání před útoky typu 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. Ovladač tak může ověřit certifikát serveru podle očekávaného názvu domény koncového bodu místní virtuální sítě.

Důležité

Některé ovladače jiné společnosti než Microsoft nemusí používat protokol TLS ve výchozím nastavení nebo se spoléhají na starší verzi protokolu TLS (<1.2), aby fungovaly. V takovém případě se server stále umožňuje připojit k databázi. Doporučujeme ale vyhodnotit rizika zabezpečení, 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. Transparentní šifrování dat (TDE) šifruje celou databázi pomocí šifrovacího algoritmu AES, který nevyžaduje, aby vývojáři aplikací prováděli změny existujících aplikací.

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. Údržbu a obměnu certifikátů spravuje služba a nevyžaduje od uživatele žádný vstup. Zákazníci, kteří chtějí převzít kontrolu nad šifrovacími klíči, můžou 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

Pro zákazníky, kteří vyžadují větší kontrolu nad šifrovacími klíči, transparentní šifrování dat (TDE) podporuje klíče spravované zákazníkem. Tento CMK klíč je přidružený k logickému serveru a obaluje šifrovací klíče databáze pro všechny databáze na tomto serveru. Případně můžete cmk nakonfigurovat na úrovni jednotlivých databází. Díky správě CMK můžou zákazníci řídit rotaci klíčů, odvolání a auditování, což je často nezbytné pro dodržování předpisů nebo přísných bezpečnostních zásad.

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 ). To 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í obchodní potřebu přistupovat ke konkrétním datům v šifrovaných sloupcích. 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. To je užitečné zejména 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ůžou zákazníci ověřit integritu svých dat a snížit 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í můžete získat přístup prostřednictvím centrálního portálu Microsoft Defenderu pro SQL, kde ho můžete také spravovat.

Zjišťování a klasifikace dat

Zjišťování a klasifikace dat (aktuálně ve verzi Preview) poskytuje základní funkce integrované do služby Azure SQL Database a 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í, zdravotní péče, osobní údaje atd.) můžou hrát klíčovou roli v organizačním stavu ochrany informací. Může sloužit jako infrastruktura na:

  • 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ě výše uvedených funkcí a funkcí, které můžou vaší aplikaci pomoct splňovat různé požadavky na zabezpečení, se Azure SQL Database také účastní pravidelných auditů a byl certifikován 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.