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. Strategie zabezpečení popsaná se řídí vícevrstvým přístupem hloubkové ochrany, jak je znázorněno na obrázku níže, a pohybuje se odjinud:

Diagram of layered defense-in-depth. Customer data is encased in layers of network security, access management and threat and information protections.

Poznámka:

ID Microsoft Entra se dříve označovalo jako Azure Active Directory (Azure AD).

Zabezpečení sítě

Microsoft 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. Další informace najdete v tématu Přehled pravidel brány firewall služby 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í. Pokud chcete povolit provoz pro přístup ke službě Azure SQL Database, použijte značky služeb SQL k povolení 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ě.

Poznámka:

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

Správa přístupu

Důležité

Správa databází a serverů v Azure se řídí přiřazeními rolí uživatelského účtu portálu. Další informace o tomto článku najdete v tématu Řízení přístupu na základě role v Azure na webu Azure Portal.

Ověřování

Ověřování je proces prokazování, že je uživatel tím, za koho se vydává. SQL Database a SQL Managed Instance podporují ověřování a ověřování SQL pomocí Microsoft Entra ID (dříve Azure Active Directory). Spravovaná instance SQL navíc podporuje ověřování systému Windows pro objekty zabezpečení Microsoft Entra.

  • 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.

  • 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 minimalizuje úložiště hesel a umožňuje centralizované zásady obměny 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 najdete v tématu Připojení s ověřováním Microsoft Entra do služby SQL Database. 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 objekty zabezpečení Microsoft Entra umožňuje 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.

Důležité

Správa databází a serverů v Azure se řídí přiřazeními rolí uživatelského účtu portálu. Další informace o tomto článku najdete v tématu Řízení přístupu na základě role Azure na webu Azure Portal. Řízení přístupu pomocí pravidel brány firewall se nevztahuje na službu SQL Managed Instance. Další informace o potřebné konfiguraci sítě najdete v následujícím článku o připojení ke spravované instanci .

Autorizace

Autorizace odkazuje na řízení přístupu k 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. 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é.

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 showing that Row-Level Security shields individual rows of a SQL database from access by users via a client app.

Ochrana před hrozbami

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 showing SQL Threat Detection monitoring access to the SQL database for a web app from an external attacker and malicious insider.

Ochrana a šifrování informací

Transport Layer Security (šifrování během 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).

SQL Database, SQL Managed Instance a Azure Synapse Analytics vždy vynucuje šifrování (SSL/TLS) pro všechna připojení. Tím se zajistí, že se všechna data šifrují mezi klientem a serverem bez ohledu na nastavení Encrypt nebo TrustServerCertificate v připojovací řetězec.

Doporučujeme, abyste v připojovací řetězec používané aplikací zadali šifrované připojení a nedůvěřovali certifikátu serveru. To přinutí vaši aplikaci ověřovat certifikát serveru a zabráníte tak tomu, aby vaše aplikace byla zranitelná útoky typu „man in the middle“.

Například při použití ovladače ADO.NET se toho dosahuje prostřednictvím Encrypt=True a TrustServerCertificate=False. Pokud získáte připojovací řetězec z webu Azure-Portal, bude mít správná nastavení.

Důležité

Mějte na paměti, že některé ovladače jiné společnosti než Microsoft nemusí používat protokol TLS ve výchozím nastavení nebo spoléhat 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í neaktivních uložených dat)

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 šifruje celou databázi pomocí šifrovacího algoritmu AES, který nevyžaduje, aby vývojáři aplikací udělali změny stávají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.

Správa klíčů pomocí služby Azure Key Vault

Podpora funkce ByOK (Bring Your Own Key) pro transparentní šifrování dat (TDE) umožňuje zákazníkům převzít vlastnictví správy klíčů a obměny pomocí cloudového systému pro správu externích klíčů Azure. Pokud je přístup databáze k trezoru klíčů odvolán, nelze databázi dešifrovat a číst do paměti. Azure Key Vault poskytuje centrální platformu pro správu klíčů, využívá úzce monitorované moduly hardwarového zabezpečení (HSM) a umožňuje oddělení povinností mezi správou klíčů a dat, aby bylo možné splnit požadavky na dodržování předpisů zabezpečení.

Always Encrypted (použití šifrování)

Diagram showing the basics of the Always Encrypted feature. An SQL database with a lock is only accessed by an app containing a key.

Funkce Always Encrypted je funkce navržená tak, aby chránila citlivá data uložená 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 showing dynamic data masking. A business app sends data to a SQL database which masks the data before sending it back to the business app.

Dynamické maskování dat minimalizuje odhalení citlivých dat tím, že je pro uživatele bez oprávnění maskuje. 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 maskuje citlivá data v sadě výsledků dotazu nad určenými poli databáze, zatímco data v databázi se nemě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.

Správa zabezpečení

Posouzení ohrožení zabezpečení

Posouzení ohrožení zabezpečení je snadno konfigurovatelná služba, která může zjišťovat, sledovat a pomáhat opravovat potenciální ohrožení zabezpečení databáze s cílem proaktivně zlepšit celkové zabezpečení 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é 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í, 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.

Dodržování předpisů

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.

Další kroky

  • Diskuzi o použití přihlášení, uživatelských účtů, databázových rolí a oprávnění ve službě SQL Database a spravované instanci SQL najdete v tématu Správa přihlášení a uživatelských účtů.
  • Diskuzi o auditování databáze najdete v tématu auditování.
  • Diskuzi o detekci hrozeb najdete v tématu Detekce hrozeb.