Přehled možností zabezpečení Azure SQL Database a SQL Managed instanceAn overview of Azure SQL Database and SQL Managed Instance security capabilities

platí pro: Azure SQL Database Azure synapse Analytics Managed instance (SQL DW)

Tento článek popisuje základy zabezpečení datové vrstvy aplikace pomocí Azure SQL Database, spravované instance Azure SQLa Azure synapse Analytics.This article outlines the basics of securing the data tier of an application using Azure SQL Database, Azure SQL Managed Instance, and Azure Synapse Analytics. Strategie zabezpečení popsaná níže v rámci podrobného přístupu s více vrstvami, jak je znázorněno na obrázku níže, a přesouvá se z vnější části:The security strategy described follows the layered defense-in-depth approach as shown in the picture below, and moves from the outside in:

Diagram vícevrstvé obrany s hloubkou.

Zabezpečení sítěNetwork security

Microsoft Azure SQL Database, spravovaná instance SQL a Azure synapse Analytics poskytují službu relačních databází pro cloudové a podnikové aplikace.Microsoft Azure SQL Database, SQL Managed Instance, and Azure Synapse Analytics provide a relational database service for cloud and enterprise applications. Kvůli lepší ochraně zákaznických dat brání brány firewall síťovému přístupu k serveru, dokud nebude přístup explicitně udělen na základě IP adresy nebo původu provozu virtuální sítě Azure.To help protect customer data, firewalls prevent network access to the server until access is explicitly granted based on IP address or Azure Virtual network traffic origin.

Pravidla brány firewall protokolu IPIP firewall rules

Pravidla brány firewall protokolu IP udělují přístup k databázím na základě zdrojové IP adresy jednotlivých požadavků.IP firewall rules grant access to databases based on the originating IP address of each request. Další informace najdete v tématu přehled Azure SQL Database a pravidla brány firewall služby Azure synapse Analytics.For more information, see Overview of Azure SQL Database and Azure Synapse Analytics firewall rules.

Pravidla brány firewall virtuální sítěVirtual network firewall rules

Koncové body služby virtuální sítě prodlužují připojení k virtuální síti přes páteřní síť Azure a umožňují Azure SQL Database identifikaci podsítě virtuální sítě, ze které provoz pochází.Virtual network service endpoints extend your virtual network connectivity over the Azure backbone and enable Azure SQL Database to identify the virtual network subnet that traffic originates from. Aby bylo možné provozovat Azure SQL Database, pomocí značek služby SQL povolte odchozí přenosy přes skupiny zabezpečení sítě.To allow traffic to reach Azure SQL Database, use the SQL service tags to allow outbound traffic through Network Security Groups.

Pravidla virtuální sítě umožňují Azure SQL Database přijímat jenom komunikace, které se odesílají z vybraných podsítí v rámci virtuální sítě.Virtual network rules enable Azure SQL Database to only accept communications that are sent from selected subnets inside a virtual network.

Poznámka

Řízení přístupu pomocí pravidel brány firewall se nevztahuje na spravovanou instanci SQL.Controlling access with firewall rules does not apply to SQL Managed Instance. Další informace o potřebné konfiguraci sítě najdete v tématu připojení ke spravované instanci .For more information about the networking configuration needed, see Connecting to a managed instance

Správa přístupuAccess management

Důležité

Správa databází a serverů v Azure je řízena přiřazeními rolí uživatelského účtu portálu.Managing databases and servers within Azure is controlled by your portal user account's role assignments. Další informace o tomto článku najdete v tématu řízení přístupu na základě role Azure v Azure Portal.For more information on this article, see Azure role-based access control in the Azure portal.

AuthenticationAuthentication

Ověřování je proces, který označuje, že uživatel vyžádá.Authentication is the process of proving the user is who they claim to be. Azure SQL Database a spravovaná instance SQL podporují dva typy ověřování:Azure SQL Database and SQL Managed Instance support two types of authentication:

  • Ověřování SQL:SQL authentication:

    Ověřování SQL odkazuje na ověření uživatele při připojení k Azure SQL Database nebo spravované instanci Azure SQL pomocí uživatelského jména a hesla.SQL authentication refers to the authentication of a user when connecting to Azure SQL Database or Azure SQL Managed Instance using username and password. Při vytváření serveru je nutné zadat přihlašovací jméno Správce serveru s uživatelským jménem a heslem.A server admin login with a username and password must be specified when the server is being created. Pomocí těchto přihlašovacích údajů se může Správce serveru ověřit u jakékoli databáze na daném serveru nebo v instanci jako vlastník databáze.Using these credentials, a server admin can authenticate to any database on that server or instance as the database owner. Potom může správce serveru vytvořit další přihlášení a uživatele SQL, která uživatelům umožňují připojit se pomocí uživatelského jména a hesla.After that, additional SQL logins and users can be created by the server admin, which enable users to connect using username and password.

  • Ověřování Azure Active Directory:Azure Active Directory authentication:

    Ověřování Azure Active Directory je mechanismus připojení Azure SQL Database, spravované instance Azure SQL a Azure Synapse Analytics pomocí identit v Azure Active Directory (Azure AD).Azure Active Directory authentication is a mechanism of connecting to Azure SQL Database, Azure SQL Managed Instance and Azure Synapse Analytics by using identities in Azure Active Directory (Azure AD). Ověřování Azure AD 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í.Azure AD authentication allows administrators to centrally manage the identities and permissions of database users along with other Azure services in one central location. To zahrnuje minimalizaci úložiště hesel a umožňuje centralizované zásady rotace hesel.This includes the minimization of password storage and enables centralized password rotation policies.

    Aby bylo možné používat ověřování Azure AD s SQL Database, je nutné vytvořit správce serveru s názvem Správce služby Active Directory .A server admin called the Active Directory administrator must be created to use Azure AD authentication with SQL Database. Další informace najdete v tématu připojení k SQL Database pomocí ověřování Azure Active Directory.For more information, see Connecting to SQL Database By Using Azure Active Directory Authentication. Ověřování Azure AD podporuje spravované i federované účty.Azure AD authentication supports both managed and federated accounts. Federované účty podporují uživatele a skupiny systému Windows pro doménu zákazníka federované pomocí Azure AD.The federated accounts support Windows users and groups for a customer domain federated with Azure AD.

    K dispozici jsou další možnosti ověřování Azure AD, které jsou univerzálním ověřováním služby Active Directory pro SQL Server Management Studio připojení včetně Multi-Factor Authentication a podmíněného přístupu.Additional Azure AD authentication options available are Active Directory Universal Authentication for SQL Server Management Studio connections including Multi-Factor Authentication and Conditional Access.

Důležité

Správa databází a serverů v Azure je řízena přiřazeními rolí uživatelského účtu portálu.Managing databases and servers within Azure is controlled by your portal user account's role assignments. Další informace o tomto článku najdete v tématu řízení přístupu na základě rolí v Azure v Azure Portal.For more information on this article, see Azure role-based access control in Azure portal. Řízení přístupu pomocí pravidel brány firewall se nevztahuje na spravovanou instanci SQL.Controlling access with firewall rules does not apply to 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 .Please see the following article on connecting to a managed instance for more information about the networking configuration needed.

AutorizaceAuthorization

Autorizace odkazuje na oprávnění přiřazená uživateli v rámci databáze v Azure SQL Database nebo v Azure SQL Managed instance a určuje, co může uživatel dělat.Authorization refers to the permissions assigned to a user within a database in Azure SQL Database or Azure SQL Managed Instance, and determines what the user is allowed to do. Oprávnění jsou řízena 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 nebo tím, že uživatel udělí určitá oprávnění na úrovni objektu.Permissions are controlled by adding user accounts to database roles and assigning database-level permissions to those roles or by granting the user certain object-level permissions. Další informace najdete v tématu přihlášení a uživatelé .For more information, see Logins and users

Osvědčeným postupem je v případě potřeby vytvořit vlastní role.As a best practice, create custom roles when needed. Přidejte uživatele do role s nejnižšími oprávněními potřebnými k provedení jejich pracovní funkce.Add users to the role with the least privileges required to do their job function. Nepřiřazujte oprávnění přímo uživatelům.Do not assign permissions directly to users. Úč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ělována pouze malým uživatelům s administrativními cly.The server admin account is a member of the built-in db_owner role, which has extensive permissions and should only be granted to few users with administrative duties. Pro aplikace použijte příkaz Spustit jako a určete kontext spuštění volaného modulu nebo použijte aplikační role s omezenými oprávněními.For applications, use the EXECUTE AS to specify the execution context of the called module or use Application Roles with limited permissions. Tento postup zajišťuje, že aplikace, která se připojuje k databázi, má nejnižší oprávnění, která aplikace potřebuje.This practice ensures that the application that connects to the database has the least privileges needed by the application. Tyto osvědčené postupy také podporují oddělení povinností.Following these best practices also fosters separation of duties.

Zabezpečení na úrovni řádkuRow-level security

Row-Level Security umožňuje zákazníkům řídit přístup k řádkům v databázové tabulce na základě charakteristik uživatele, který spouští dotaz (například členství ve skupině nebo kontext spuštění).Row-Level Security enables customers to control access to rows in a database table based on the characteristics of the user executing a query (for example, group membership or execution context). Row-Level zabezpečení lze také použít k implementaci vlastních konceptů zabezpečení na základě popisků.Row-Level Security can also be used to implement custom Label-based security concepts. Další informace najdete v tématu zabezpečení na úrovni řádků.For more information, see Row-Level security.

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

Ochrana před hrozbamiThreat protection

SQL Database a SQL spravované instance zabezpečují data zákazníků tím, že poskytují možnosti auditování a detekce hrozeb.SQL Database and SQL Managed Instance secure customer data by providing auditing and threat detection capabilities.

Auditování SQL v protokolech Azure Monitor a Event HubsSQL auditing in Azure Monitor logs and Event Hubs

SQL Database a auditování spravované instance SQL sleduje aktivity databáze a pomáhá udržet dodržování standardů zabezpečení tím, že zaznamenává databázové události do protokolu auditu ve vlastnictví účtu Azure Storage ve vlastnictví zákazníka.SQL Database and SQL Managed Instance auditing tracks database activities and helps maintain compliance with security standards by recording database events to an audit log in a customer-owned Azure storage account. Auditování umožňuje uživatelům sledovat probíhající databázové aktivity a analyzovat a prozkoumat historické aktivity a identifikovat potenciální hrozby nebo podezření na zneužití a narušení zabezpečení.Auditing allows users to monitor ongoing database activities, as well as analyze and investigate historical activity to identify potential threats or suspected abuse and security violations. Další informace najdete v tématu Začínáme s auditováním SQL Database.For more information, see Get started with SQL Database Auditing.

Advanced Threat ProtectionAdvanced Threat Protection

Rozšířená ochrana před internetovými útoky analyzuje protokoly a detekuje neobvyklé chování a potenciálně nebezpečné pokusy o přístup k databázím nebo jejich zneužití.Advanced Threat Protection is analyzing your logs to detect unusual behavior and potentially harmful attempts to access or exploit databases. Výstrahy se vytvářejí pro podezřelé aktivity, jako je například injektáže SQL, potenciální defiltrace dat a útoky hrubou silou nebo pro anomálie ve vzorech přístupu, aby bylo možné zachytit eskalace oprávnění a porušení přihlašovacích údajů.Alerts are created for suspicious activities such as SQL injection, potential data infiltration, and brute force attacks or for anomalies in access patterns to catch privilege escalations and breached credentials use. Výstrahy se zobrazují z Azure Security Center, kde jsou uvedeny podrobnosti o podezřelých aktivitách a doporučení pro další šetření, která jsou k dispozici, a s akcemi pro zmírnění hrozby.Alerts are viewed from the Azure Security Center, where the details of the suspicious activities are provided and recommendations for further investigation given along with actions to mitigate the threat. Rozšířená ochrana před internetovými útoky se dá pro jednotlivé servery povolit za další poplatek.Advanced Threat Protection can be enabled per server for an additional fee. Další informace najdete v tématu Začínáme s SQL Database rozšířené ochrany před internetovými útoky.For more information, see Get started with SQL Database Advanced Threat Protection.

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

Ochrana informací a šifrováníInformation protection and encryption

Transport Layer Security (šifrování při přenosu)Transport Layer Security (Encryption-in-transit)

SQL Database, Managed instance SQL a služba Azure synapse Analytics zabezpečují zákaznická data tím, že šifrují data v pohybu pomocí protokolu TLS (Transport Layer Security).SQL Database, SQL Managed Instance, and Azure Synapse Analytics secure customer data by encrypting data in motion with Transport Layer Security (TLS).

SQL Database, Managed instance SQL a Azure synapse Analytics vynutila šifrování (SSL/TLS) pro všechna připojení.SQL Database, SQL Managed Instance, and Azure Synapse Analytics enforce encryption (SSL/TLS) at all times for all connections. Tím se zajistí, že všechna data budou zašifrovaná mezi klientem a serverem, a to bez ohledu na nastavení šifrování nebo TrustServerCertificate v připojovacím řetězci.This ensures all data is encrypted "in transit" between the client and server irrespective of the setting of Encrypt or TrustServerCertificate in the connection string.

V rámci osvědčeného postupu doporučujeme, abyste v připojovacím řetězci, který používá aplikaci, zadali šifrované připojení a nedůvěřujete certifikátu serveru.As a best practice, recommend that in the connection string used by the application, you specify an encrypted connection and not trust the server certificate. Tím se aplikace vynutí ověřit certifikát serveru, a tím zabrání v ohrožení vaší aplikace muž při útokech středního typu.This forces your application to verify the server certificate and thus prevents your application from being vulnerable to man in the middle type attacks.

Například při použití ovladače ADO.NET se dosáhnete pomocí Encrypt = true a TrustServerCertificate = false.For example when using the ADO.NET driver this is accomplished via Encrypt=True and TrustServerCertificate=False. Pokud získáte připojovací řetězec z Azure Portal, bude mít správné nastavení.If you obtain your connection string from the Azure portal, it will have the correct settings.

Důležité

Všimněte si, že některé ovladače od jiných výrobců nemůžou ve výchozím nastavení používat protokol TLS, nebo se musí spoléhat na starší verzi TLS (<1,2), aby fungovala.Note that some non-Microsoft drivers may not use TLS by default or rely on an older version of TLS (<1.2) in order to function. V takovém případě server stále umožňuje připojení k vaší databázi.In this case the server still allows you to connect to your database. Doporučujeme však vyhodnotit rizika zabezpečení, která umožňují, aby se tyto ovladače a aplikace připojovaly k SQL Database, zejména pokud ukládáte citlivá data.However, we recommend that you evaluate the security risks of allowing such drivers and application to connect to SQL Database, especially if you store sensitive data.

Další informace o TLS a připojení najdete v tématu informace o TLS .For further information about TLS and connectivity, see TLS considerations

Transparentní šifrování dat (šifrování v klidovém umístění)Transparent Data Encryption (Encryption-at-rest)

Transparentní šifrování dat (TDE) pro SQL Database, spravovaná instance SQL a Azure synapse Analytics přináší úroveň zabezpečení, která vám umožní chránit neaktivní data před neoprávněným přístupem nebo offline přístupem k nezpracovaným souborům nebo zálohám.Transparent data encryption (TDE) for SQL Database, SQL Managed Instance, and Azure Synapse Analytics adds a layer of security to help protect data at rest from unauthorized or offline access to raw files or backups. Mezi běžné scénáře patří krádež datového centra nebo nezabezpečené vyřazení hardwaru nebo médií, jako jsou diskové jednotky a záložní pásky.Common scenarios include data center theft or unsecured disposal of hardware or media such as disk drives and backup tapes.TDE šifruje celou databázi pomocí šifrovacího algoritmu AES, který nepožaduje, aby vývojáři aplikací provedli změny v existujících aplikacích. TDE encrypts the entire database using an AES encryption algorithm, which doesn't require application developers to make any changes to existing applications.

V Azure se všechny nově vytvořené databáze šifrují ve výchozím nastavení a šifrovací klíč databáze je chráněný integrovaným certifikátem serveru.In Azure, all newly created databases are encrypted by default and the database encryption key is protected by a built-in server certificate. Údržba a rotace certifikátů spravuje služba a nevyžaduje od uživatele žádné vstupy.Certificate maintenance and rotation are managed by the service and require no input from the user. Zákazníci, kteří chtějí převzít kontrolu nad šifrovacími klíči, mohou spravovat klíče v Azure Key Vault.Customers who prefer to take control of the encryption keys can manage the keys in Azure Key Vault.

Správa klíčů pomocí Azure Key VaultKey management with Azure Key Vault

Podpora Bring Your Own Key (BYOK) pro transparentní šifrování dat (TDE) umožňuje zákazníkům převzít vlastnictví správy klíčů a rotace pomocí Azure Key Vault, cloudového externího systému správy klíčů Azure.Bring Your Own Key (BYOK) support for Transparent Data Encryption (TDE) allows customers to take ownership of key management and rotation using Azure Key Vault, Azure's cloud-based external key management system. Pokud je přístup k trezoru klíčů odvolaný, databáze nemůže být dešifrována a načtena do paměti.If the database's access to the key vault is revoked, a database cannot be decrypted and read into memory. Azure Key Vault poskytuje platformu pro správu centrálních klíčů, využívá důkladně monitorované moduly hardwarového zabezpečení (HSM) a umožňuje oddělení povinností mezi správou klíčů a dat, které vám pomůžou splnit požadavky na dodržování předpisů zabezpečení.Azure Key Vault provides a central key management platform, leverages tightly monitored hardware security modules (HSMs), and enables separation of duties between management of keys and data to help meet security compliance requirements.

Always Encrypted (šifrování při použití)Always Encrypted (Encryption-in-use)

Diagram znázorňující základy funkce Always Encrypted.

Always Encrypted je funkce navržená tak, aby chránila citlivá data uložená v konkrétních databázových sloupcích z Accessu (například čísla kreditních karet, národní identifikační čísla nebo data podle potřeby ).Always Encrypted is a feature designed to protect sensitive data stored in specific database columns from access (for example, credit card numbers, national identification numbers, or data on a need to know basis). Patří sem správci databáze nebo jiní privilegovaní uživatelé, kteří mají oprávnění k přístupu k databázi, aby mohli provádět úlohy správy, ale nemají přístup k určitým datům v zašifrovaných sloupcích bez obchodních potřeb.This includes database administrators or other privileged users who are authorized to access the database to perform management tasks, but have no business need to access the particular data in the encrypted columns. Data jsou vždy šifrována, což znamená, že šifrovaná data jsou dešifrována pouze pro zpracování klientskými aplikacemi s přístupem k šifrovacímu klíči.The data is always encrypted, which means the encrypted data is decrypted only for processing by client applications with access to the encryption key. Šifrovací klíč se nikdy nezveřejňuje SQL Database nebo spravované instance SQL a může být uložený buď v úložišti certifikátů Windows , nebo v Azure Key Vault.The encryption key is never exposed to SQL Database or SQL Managed Instance and can be stored either in the Windows Certificate Store or in Azure Key Vault.

Dynamické maskování datDynamic data masking

Diagram znázorňující dynamické maskování dat

Dynamické maskování dat minimalizuje odhalení citlivých dat tím, že je pro uživatele bez oprávnění maskuje.Dynamic data masking limits sensitive data exposure by masking it to non-privileged users. Dynamické maskování dat automaticky zjišťuje potenciálně citlivá data v Azure SQL Database a spravované instanci SQL a poskytuje užitečná doporučení pro maskování těchto polí s minimálním dopadem na aplikační vrstvu.Dynamic data masking automatically discovers potentially sensitive data in Azure SQL Database and SQL Managed Instance and provides actionable recommendations to mask these fields, with minimal impact to the application layer. 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í.It works by obfuscating the sensitive data in the result set of a query over designated database fields, while the data in the database is not changed. Další informace najdete v tématu Začínáme s SQL Database a dynamické maskování dat spravované instance SQL.For more information, see Get started with SQL Database and SQL Managed Instance dynamic data masking.

Správa zabezpečeníSecurity management

Posouzení ohrožení zabezpečeníVulnerability assessment

Posouzení ohrožení zabezpečení je jednoduchá konfigurace služby, která může zjišťovat, sledovat a pomáhat s tím, že je možné slabá místa v databázi s cílem proaktivně zlepšit celkové zabezpečení databáze.Vulnerability assessment is an easy to configure service that can discover, track, and help remediate potential database vulnerabilities with the goal to proactively improve overall database security. Posouzení ohrožení zabezpečení (VA) je součástí nabídky Azure Defender pro SQL, což je jednotný balíček pro pokročilé funkce zabezpečení SQL.Vulnerability assessment (VA) is part of the Azure Defender for SQL offering, which is a unified package for advanced SQL security capabilities. K posouzení ohrožení zabezpečení se dá využít a spravovat prostřednictvím centrálního portálu Azure Defender pro SQL Portal.Vulnerability assessment can be accessed and managed via the central Azure Defender for SQL portal.

Zjišťování a klasifikace datData discovery and classification

Zjišťování a klasifikace dat (aktuálně ve verzi Preview) poskytuje pokročilé možnosti integrované do Azure SQL Database a SQL Managed instance pro zjišťování, klasifikaci, označování a ochranu citlivých dat ve vašich databázích.Data discovery and classification (currently in preview) provides advanced capabilities built into Azure SQL Database and SQL Managed Instance for discovering, classifying, labeling, and protecting the sensitive data in your databases. Vyhledávání a klasifikace důležitých citlivých dat (podniková/finanční, zdravotní péče, osobní údaje atd.) může hrát pivotovou roli ve vaší organizaci stature Information Protection.Discovering and classifying your utmost sensitive data (business/financial, healthcare, personal data, etc.) can play a pivotal role in your organizational Information protection stature. Může sloužit jako infrastruktura na:It can serve as infrastructure for:

  • 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.Various security scenarios, such as monitoring (auditing) and alerting on anomalous access to sensitive data.
  • Řízení přístupu a posílení zabezpečení databází obsahujících vysoce citlivá data.Controlling access to, and hardening the security of, databases containing highly sensitive data.
  • podporu dodržování předpisů v oblasti ochrany osobních údajů a dalších regulací;Helping meet data privacy standards and regulatory compliance requirements.

Další informace najdete v tématu Začínáme se zjišťováním a klasifikací dat.For more information, see Get started with data discovery and classification.

Dodržování předpisůCompliance

Kromě výše uvedených funkcí a funkcí, které vám pomohou aplikace splňovat různé požadavky na zabezpečení, Azure SQL Database se také účastní pravidelných auditů a bylo certifikováno pro řadu standardů dodržování předpisů.In addition to the above features and functionality that can help your application meet various security requirements, Azure SQL Database also participates in regular audits, and has been certified against a number of compliance standards. Další informace najdete v Centru zabezpečení Microsoft Azure , kde můžete najít nejaktuálnější seznam SQL Database certifikace dodržování předpisů.For more information, see the Microsoft Azure Trust Center where you can find the most current list of SQL Database compliance certifications.

Další krokyNext steps