Kurz: Zabezpečení databáze ve službě Azure SQL Database

Platí pro:Azure SQL Database

V tomto kurzu se naučíte:

  • Vytvoření pravidel brány firewall na úrovni serveru a databáze
  • Konfigurace správce Microsoft Entra
  • Správa přístupu uživatelů pomocí ověřování SQL, ověřování Microsoft Entra a zabezpečených připojovací řetězec
  • Povolení funkcí zabezpečení, jako je Microsoft Defender pro SQL, auditování, maskování dat a šifrování

Poznámka:

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

Azure SQL Database zabezpečuje data tím, že umožňuje:

  • Omezení přístupu pomocí pravidel brány firewall
  • Použití ověřovacích mechanismů, které vyžadují identitu
  • Použití autorizace s členstvím a oprávněními založenými na rolích
  • Povolení funkcí zabezpečení

Poznámka:

Spravovaná instance Azure SQL je zabezpečená pomocí pravidel zabezpečení sítě a privátních koncových bodů, jak je popsáno v architektuře azure SQL Managed Instance a připojení.

Další informace najdete v článcích s přehledem zabezpečení a možnostmi služby Azure SQL Database.

Tip

V tomto bezplatném modulu Learn se dozvíte, jak zabezpečit databázi ve službě Azure SQL Database.

Požadavky

K dokončení kurzu se ujistěte, že máte následující požadavky:

Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

Přihlaste se k portálu Azure Portal.

Pro všechny kroky v kurzu se přihlaste k webu Azure Portal.

Vytvoření pravidel firewallu

Databáze ve službě SQL Database jsou chráněné branami firewall v Azure. Ve výchozím nastavení jsou všechna připojení k serveru a databázi odmítnuta. Další informace najdete v pravidlech brány firewall na úrovni serveru a databáze.

Nastavte možnost Povolit přístup ke službám Azure na vypnuto pro nejbezpečnější konfiguraci. Pak vytvořte rezervovanou IP adresu (klasické nasazení) pro prostředek, který se musí připojit, jako je virtuální počítač Azure nebo cloudová služba, a povolte přístup k této IP adrese pouze přes bránu firewall. Pokud používáte model nasazení Resource Manager , vyžaduje se pro každý prostředek vyhrazená veřejná IP adresa.

Poznámka:

SQL Database komunikuje přes port 1433. Pokud se pokoušíte připojit z podnikové sítě, vaše brána firewall možná nepovoluje odchozí přenosy přes port 1433. Pokud ano, nemůžete se připojit k serveru, pokud správce neotevře port 1433.

Nastavení pravidel brány firewall na úrovni serveru

Pravidla brány firewall protokolu IP na úrovni serveru platí pro všechny databáze na stejném serveru.

Nastavení pravidla brány firewall na úrovni serveru:

  1. Na webu Azure Portal vyberte v nabídce vlevo databáze SQL a na stránce Databáze SQL vyberte svou databázi.

    Screenshot of the Azure portal page for a logical SQL database, highlighting the server name.

    Poznámka:

    Nezapomeňte zkopírovat plně kvalifikovaný název serveru (například yourserver.database.windows.net) pro pozdější použití v tomto kurzu.

  2. V části Nastavení vyberte Sítě. Zvolte kartu Veřejný přístup a potom v části Přístup k veřejné síti vyberte Vybrané sítě. Zobrazí se část Pravidla brány firewall.

    Screenshot of the Azure portal Networking page for a logical SQL Server, showing the server-level IP firewall rule.

  3. Vyberte Přidat IP adresu klienta na panelu nástrojů a přidejte aktuální IP adresu do nového pravidla brány firewall protokolu IP. Pravidlo brány firewall protokolu IP může otevřít port 1433 pro jednu IP adresu nebo rozsah IP adres.

  4. Vyberte OK a uložte nastavení brány firewall.

Nyní se můžete pomocí zadané IP adresy nebo rozsahu IP adres připojit k jakékoli databázi na serveru.

Nastavení pravidel brány firewall databáze

Pravidla brány firewall na úrovni databáze platí jenom pro jednotlivé databáze. Databáze bude tato pravidla uchovávat během převzetí služeb při selhání serveru. Pravidla brány firewall na úrovni databáze je možné nakonfigurovat pouze pomocí příkazů jazyka Transact-SQL (T-SQL) a teprve po nakonfigurování pravidla brány firewall na úrovni serveru.

Nastavení pravidla brány firewall na úrovni databáze:

  1. Připojení do databáze, například pomocí SQL Server Management Studio.

  2. V Průzkumník objektů klikněte pravým tlačítkem myši na databázi a vyberte Nový dotaz.

  3. V okně dotazu přidejte tento příkaz a upravte IP adresu na vaši veřejnou IP adresu:

    EXECUTE sp_set_database_firewall_rule N'Example DB Rule','0.0.0.4','0.0.0.4';
    
  4. Na panelu nástrojů vyberte Spustit a vytvořte pravidlo brány firewall.

Poznámka:

Pravidlo brány firewall na úrovni serveru můžete vytvořit také v aplikaci SSMS pomocí příkazu sp_set_firewall_rule , i když musíte být připojeni k hlavní databázi.

Vytvoření správce Microsoft Entra

Ujistěte se, že používáte odpovídající spravovanou doménu Microsoft Entra ID (dříve Azure Active Directory). Pokud chcete vybrat svoji doménu, použijte pravý horní roh webu Azure Portal. Tento proces potvrdí, že se stejné předplatné používá pro ID Microsoft Entra i pro logický server hostující vaši databázi nebo datový sklad.

Screenshot of the Azure portal showing the Directory + subscription filter page, where you would choose the directory.

Nastavení správce Microsoft Entra:

  1. Na webu Azure Portal na stránce SERVERU SQL v nabídce prostředků vyberte ID Microsoft Entra a pak výběrem možnosti Nastavit správce otevřete podokno Microsoft Entra ID ..

    Screenshot of the Azure portal Microsoft Entra ID page for a logical server.

    Důležité

    Abyste mohli tuto úlohu provést, musíte být globální Správa istrator.

  2. V podokně Microsoft Entra ID vyhledejte a vyberte uživatele nebo skupinu Microsoft Entra a zvolte Vybrat. Zobrazí se seznam všech členů a skupin vaší organizace Microsoft Entra a položky se šedě nepodporují jako správci Microsoft Entra. Podívejte se na funkce a omezení Microsoft Entra.

    Screenshot of the Azure portal page to add a Microsoft Entra admin.

    Důležité

    Řízení přístupu na základě role v Azure (Azure RBAC) se vztahuje jenom na portál a není rozšířeno na SQL Server.

  3. V horní části stránky správce Microsoft Entra vyberte Uložit.

    Proces změny správce může trvat několik minut. Nový správce se zobrazí v poli správce Microsoft Entra.

Poznámka:

Při nastavování správce Microsoft Entra nemůže nové jméno správce (uživatel nebo skupina) existovat jako přihlašovací jméno nebo uživatel v hlavní databázi. Pokud je k dispozici, nastavení se nezdaří a vrátí zpět změny, což znamená, že takový název správce již existuje. Vzhledem k tomu, že přihlášení k serveru nebo uživatel není součástí ID Microsoft Entra, veškeré úsilí o připojení uživatele pomocí ověřování Microsoft Entra selže.

Informace o konfiguraci ID Microsoft Entra najdete v tématu:

Správa přístupu k databázi

Umožňuje spravovat přístup k databázi přidáním uživatelů do databáze nebo povolením přístupu uživatelů pomocí zabezpečených připojovací řetězec. Připojení řetězce jsou užitečné pro externí aplikace. Další informace najdete v tématu Správa přihlášení a uživatelských účtů a ověřování Microsoft Entra.

Pokud chcete přidat uživatele, zvolte typ ověřování databáze:

  • Ověřování SQL, použití uživatelského jména a hesla pro přihlášení a jsou platné pouze v kontextu konkrétní databáze na serveru

  • Ověřování Microsoft Entra, použití identit spravovaných ID Microsoft Entra

Ověřování SQL

Přidání uživatele s ověřováním SQL:

  1. Připojení do databáze, například pomocí SQL Server Management Studio.

  2. V Průzkumník objektů klikněte pravým tlačítkem myši na databázi a zvolte Nový dotaz.

  3. V okně dotazu zadejte následující příkaz:

    CREATE USER ApplicationUser WITH PASSWORD = 'YourStrongPassword1';
    
  4. Na panelu nástrojů vyberte Spustit a vytvořte uživatele.

  5. Ve výchozím nastavení se uživatel může připojit k databázi, ale nemá žádná oprávnění ke čtení nebo zápisu dat. Pokud chcete udělit tato oprávnění, spusťte v novém okně dotazu následující příkazy:

    ALTER ROLE db_datareader ADD MEMBER ApplicationUser;
    ALTER ROLE db_datawriter ADD MEMBER ApplicationUser;
    

Poznámka:

Vytvořte účty bez oprávnění správce na úrovni databáze, pokud nepotřebují provádět úlohy správce, jako je vytváření nových uživatelů.

Ověřování Microsoft Entra

Vzhledem k tomu, že Azure SQL Database nepodporuje instanční objekty (přihlášení) Microsoft Entra, vytvoří se uživatelé databáze vytvořené pomocí účtů Microsoft Entra jako uživatelé databáze s omezením. Uživatel databáze s omezením není přidružený k přihlášení v master databázi, i když existuje přihlášení se stejným názvem. Identita Microsoft Entra může být pro jednotlivého uživatele nebo skupinu. Další informace naleznete v tématu Uživatelé databáze s omezením, aby vaše databáze přenosná a projděte si kurz Microsoft Entra o ověřování pomocí Microsoft Entra ID.

Poznámka:

Uživatele databáze (s výjimkou správců) nelze vytvořit pomocí webu Azure Portal. Role Microsoft Entra se nerozšírují na servery SQL, databáze ani datové sklady. Používají se jenom ke správě prostředků Azure a nevztahují se na oprávnění k databázi.

Například role Přispěvatel SQL Serveru neuděluje přístup pro připojení k databázi nebo datovému skladu. Toto oprávnění musí být uděleno v databázi pomocí příkazů T-SQL.

Důležité

Speciální znaky, jako je dvojtečka : nebo ampersand & , nejsou podporovány v uživatelských jménech v T-SQL CREATE LOGIN a CREATE USER příkazech.

Přidání uživatele s ověřováním Microsoft Entra:

  1. Připojení k vašemu serveru v Azure pomocí účtu Microsoft Entra s alespoň ALTER ANY USER permission.

  2. V Průzkumník objektů klikněte pravým tlačítkem myši na databázi a vyberte Nový dotaz.

  3. V okně dotazu zadejte následující příkaz a upravte <Azure_AD_principal_name> hlavní název uživatele Microsoft Entra nebo zobrazovaný název skupiny Microsoft Entra:

    CREATE USER [<Azure_AD_principal_name>] FROM EXTERNAL PROVIDER;
    

Poznámka:

Uživatelé Microsoft Entra jsou v metadatech databáze označeni typem E (EXTERNAL_USER) a typem X (EXTERNAL_GROUPS) pro skupiny. Další informace najdete v tématu sys.database_principals.

Zabezpečení připojovací řetězec

Pokud chcete zajistit zabezpečené šifrované připojení mezi klientskou aplikací a službou SQL Database, musí být připojovací řetězec nakonfigurované na:

  • Vyžádání šifrovaného připojení
  • Nedůvěřuje certifikátu serveru

Připojení se naváže pomocí protokolu TLS (Transport Layer Security) a snižuje riziko útoku typu man-in-the-middle. Připojení řetězce jsou dostupné pro každou databázi a jsou předem nakonfigurované tak, aby podporovaly klientské ovladače, jako jsou ADO.NET, JDBC, ODBC a PHP. Informace o protokolu TLS a možnostech připojení najdete v části věnované důležitým informacím o protokolu TLS.

Kopírování zabezpečeného připojovací řetězec:

  1. Na webu Azure Portal vyberte v nabídce vlevo databáze SQL a na stránce Databáze SQL vyberte svou databázi.

  2. Na stránce Přehled vyberte Zobrazit připojovací řetězec databáze.

  3. Vyberte kartu ovladače a zkopírujte kompletní připojovací řetězec.

    Screenshot of the Azure portal showing the connection strings page. The ADO.NET tab is selected and the ADO.NET (SQL authentication) connection string is displayed.

Povolení funkcí zabezpečení

Azure SQL Database poskytuje funkce zabezpečení, ke kterým se přistupuje pomocí webu Azure Portal. Tyto funkce jsou k dispozici pro databázi i server s výjimkou maskování dat, které jsou dostupné pouze v databázi. Další informace najdete v programu Microsoft Defender pro SQL, auditování, dynamické maskování dat a transparentním šifrování dat.

Microsoft Defender pro SQL

Funkce Microsoft Defenderu pro SQL detekuje potenciální hrozby při jejich výskytu a poskytuje výstrahy zabezpečení na neobvyklé aktivity. Uživatelé můžou tyto podezřelé události prozkoumat pomocí funkce auditování a určit, jestli událost měla přístup k datům v databázi, porušení zabezpečení nebo zneužití dat. Uživatelům se také poskytuje přehled zabezpečení, který zahrnuje posouzení ohrožení zabezpečení a nástroj pro zjišťování a klasifikaci dat.

Poznámka:

Příkladem hrozby je injektáž SQL, proces, při kterém útočníci do vstupů aplikace vloží škodlivé SQL. Aplikace pak může neúmyslně spustit škodlivý SQL a umožnit útočníkům přístup k narušení zabezpečení nebo úpravě dat v databázi.

Povolení Microsoft Defenderu pro SQL:

  1. Na webu Azure Portal vyberte v nabídce vlevo databáze SQL a na stránce Databáze SQL vyberte svou databázi.

  2. Na stránce Přehled vyberte odkaz na název serveru. Otevře se stránka serveru.

  3. Na stránce SQL Serveru vyhledejte část Zabezpečení a vyberte Defender for Cloud.

    1. Tuto funkci povolíte výběrem možnosti ZAPNUTO v programu Microsoft Defender for SQL . Zvolte účet úložiště pro ukládání výsledků posouzení ohrožení zabezpečení. Pak vyberte Uložit.

      Screenshot of the Azure portal Navigation pane for threat detection settings.

      Můžete také nakonfigurovat e-maily pro příjem výstrah zabezpečení, podrobností o úložišti a typů detekce hrozeb.

  4. Vraťte se na stránku databáze SQL vaší databáze a v části Zabezpečení vyberte Defender for Cloud. Tady najdete různé indikátory zabezpečení dostupné pro databázi.

    Screenshot of the Azure portal Threat status page showing pie charts for Data Discovery & Classification, Vulnerability Assessment, and Threat Detection.

Pokud se zjistí neobvyklé aktivity, obdržíte e-mail s informacemi o události. To zahrnuje povahu aktivity, databáze, serveru, času události, možných příčin a doporučených akcí pro zkoumání a zmírnění potenciální hrozby. Pokud takový e-mail obdržíte, vyberte odkaz protokolu auditování Azure SQL a spusťte Azure Portal a zobrazte relevantní záznamy auditování pro čas události.

Screenshot of a sample email from Azure, indicating a Potential Sql Injection Threat detection. A link in the body of the email to Azure SQL DB Audit Logs is highlighted.

Auditování

Funkce auditování sleduje události databáze a zapisuje události do protokolu auditu v úložišti Azure, protokolech služby Azure Monitor nebo do centra událostí. Auditování pomáhá zajistit dodržování předpisů, porozumět databázové aktivitě a získat přehled o nesrovnalostech a anomáliích, které můžou indikovat potenciální narušení zabezpečení.

Povolení auditování:

  1. Na webu Azure Portal vyberte v nabídce vlevo databáze SQL a na stránce Databáze SQL vyberte svou databázi.

  2. V části Zabezpečení vyberte Auditování.

  3. V části Nastavení auditování nastavte následující hodnoty:

    1. Nastavte Auditování na ZAPNUTO.

    2. Jako cíl protokolu auditu vyberte některou z následujících možností:

      • Úložiště, účet úložiště Azure, ve kterém se ukládají protokoly událostí a které je možné stáhnout jako soubory .xel

        Tip

        Použijte stejný účet úložiště pro všechny auditované databáze, abyste získali maximum ze šablon sestav auditování.

      • Log Analytics, která automaticky ukládá události pro dotazování nebo další analýzu

        Poznámka:

        Pracovní prostor služby Log Analytics je nutný k podpoře pokročilých funkcí, jako jsou analýzy, vlastní pravidla upozornění a exporty Excelu nebo Power BI. Bez pracovního prostoru je k dispozici pouze editor dotazů.

      • Centrum událostí, které umožňuje směrování událostí pro použití v jiných aplikacích

    3. Zvolte Uložit.

      Screenshot of the Azure portal Audit settings page. The Save button is highlighted. Audit log destination fields are highlighted.

  4. Teď můžete vybrat Zobrazit protokoly auditu a zobrazit data událostí databáze.

    Screenshot of the Azure portal page showing Audit records for a SQL database.

Důležité

Podívejte se na auditování služby SQL Database, jak dále přizpůsobit události auditu pomocí PowerShellu nebo rozhraní REST API.

Dynamické maskování dat

Funkce maskování dat automaticky skryje citlivá data v databázi.

Povolení maskování dat:

  1. Na webu Azure Portal vyberte v nabídce vlevo databáze SQL a na stránce Databáze SQL vyberte svou databázi.

  2. V části Zabezpečení vyberte Dynamické maskování dat.

  3. V části Nastavení dynamického maskování dat vyberte Přidat masku a přidejte pravidlo maskování. Azure automaticky naplní dostupná schémata databáze, tabulky a sloupce, ze kterých si můžete vybrat.

    Screenshot of the Azure portal page to Save or Add Dynamic Data Mask fields. Recommended fields to mask display schema, table, and columns of tables.

  4. Zvolte Uložit. Vybrané informace jsou teď maskované pro ochranu osobních údajů.

    Screenshot of SQL Server Management Studio (SSMS) showing a simple INSERT and SELECT statement. The SELECT statement displays masked data in the LastName column.

Transparentní šifrování dat

Funkce šifrování automaticky šifruje neaktivní uložená data a nevyžaduje žádné změny aplikací, které přistupují k šifrované databázi. U nových databází je šifrování ve výchozím nastavení zapnuté. Data můžete také šifrovat pomocí SSMS a funkce Always Encrypted .

Povolení nebo ověření šifrování:

  1. Na webu Azure Portal vyberte v nabídce vlevo databáze SQL a na stránce Databáze SQL vyberte svou databázi.

  2. V části Zabezpečení vyberte Transparentní šifrování dat.

  3. V případě potřeby nastavte šifrování dat na ZAPNUTO. Zvolte Uložit.

    Screenshot of the Azure portal page to enable Transparent Data Encryption.

Poznámka:

Pokud chcete zobrazit stav šifrování, připojte se k databázi pomocí aplikace SSMS a zadejte dotaz na encryption_state sloupec zobrazení sys.dm_database_encryption_keys. Stav 3 indikuje, že databáze je zašifrovaná.

Poznámka:

Některé položky považované za zákaznický obsah, jako jsou názvy tabulek, názvy objektů a názvy indexů, se můžou přenášet v souborech protokolů pro podporu a řešení potíží od Microsoftu.

Tip

Jste připravení začít vyvíjet aplikaci .NET? V tomto bezplatném modulu Learn se dozvíte, jak vyvíjet a konfigurovat ASP.NET aplikaci, která dotazuje službu Azure SQL Database, včetně vytvoření jednoduché databáze.

Další krok

V dalším kurzu se dozvíte, jak implementovat geografickou distribuci.