Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tip
Microsoft Fabric Data Warehouse je relační sklad v podnikovém měřítku na základu datového jezera s architekturou připravenou pro budoucnost, integrovanou AI a novými funkcemi. Pokud s datovými sklady začínáte, začněte pracovat s Fabric Data Warehouse. Stávající úlohy fondu dedikované SQL můžou upgradovat na Fabric a získat tak přístup k novým funkcím napříč datovou vědou, analýzou v reálném čase a reportováním.
Tento článek vás provede základy zabezpečení vyhrazeného fondu SQL (dříve SQL DW). Konkrétně tento článek vám pomůže začít s prostředky pro omezení přístupu, ochranu dat a monitorování aktivit pomocí vyhrazeného fondu SQL (dříve SQL DW).
Zabezpečení připojení
Zabezpečení připojení odkazuje na to, jak omezit a zabezpečit připojení k databázi pomocí pravidel brány firewall a šifrování připojení.
Pravidla brány firewall používají logický server SQL i jeho databáze k odmítnutí pokusů o připojení z IP adres, které nebyly explicitně schváleny. Pokud chcete povolit připojení z veřejné IP adresy aplikace nebo klientského počítače, musíte nejprve vytvořit pravidlo brány firewall na úrovni serveru pomocí webu Azure Portal, rozhraní REST API nebo PowerShellu.
Osvědčeným postupem je omezit rozsahy IP adres povolených přes bránu firewall na úrovni serveru co nejvíce. Pokud chcete získat přístup k určenému fondu SQL (dříve SQL DW) z místního počítače, ujistěte se, že brána firewall ve vaší síti i na vašem místním počítači umožňuje odchozí komunikaci na TCP portu 1433.
Vyhrazený fond SQL (dříve SQL DW) používá pravidla IP firewallu na úrovni serveru. Nepodporuje pravidla brány firewall IP na databázové úrovni. Další informace najdete v tématu Pravidla brány firewall služby Azure SQL Database.
Připojení k vyhrazenému fondu SQL (dříve SQL DW) jsou ve výchozím nastavení šifrovaná. Úprava nastavení připojení, aby se zakázalo šifrování, se ignoruje.
Autentizace
Ověřování odkazuje na to, jak prokážete svoji identitu při připojování k databázi. Vyhrazený fond prostředků SQL (dříve SQL DW) v současné době podporuje ověřování SQL Server pomocí uživatelského jména a hesla a také pomocí Microsoft Entra ID.
Při vytváření serveru pro vaši databázi jste zadali přihlašovací jméno správce serveru s uživatelským jménem a heslem. Pomocí těchto přihlašovacích údajů se můžete přihlásit k jakékoli databázi na daném serveru jako vlastník databáze, neboli "dbo", pomocí ověření SQL Serveru.
Jako osvědčený postup by ale uživatelé vaší organizace měli k ověření použít jiný účet. Tímto způsobem můžete omezit oprávnění udělená aplikaci a omezit rizika škodlivých aktivit v případě, že je váš kód aplikace ohrožený útokem prostřednictvím injektáže SQL.
Pokud chcete vytvořit ověřeného uživatele SQL Serveru, připojte se k hlavní databázi na serveru pomocí přihlášení správce serveru a vytvořte nové přihlášení k serveru. Je vhodné také vytvořit uživatele v hlavní databázi. Vytvoření uživatele v hlavním serveru umožňuje uživateli přihlásit se pomocí nástrojů, jako je SSMS, aniž by zadal název databáze. Umožňuje jim také zobrazit všechny databáze na serveru pomocí Průzkumníka objektů.
-- Connect to master database and create a login
CREATE LOGIN ApplicationLogin WITH PASSWORD = 'Str0ng_password';
CREATE USER ApplicationUser FOR LOGIN ApplicationLogin;
Pak se připojte k vyhrazenému fondu SQL (dříve SQL DW) pomocí přihlášení správce serveru a vytvořte uživatele databáze na základě přihlašovacích údajů serveru, které jste vytvořili.
-- Connect to the database and create a database user
CREATE USER ApplicationUser FOR LOGIN ApplicationLogin;
Pokud chcete uživateli udělit oprávnění k provádění dalších operací, jako je vytváření přihlášení nebo vytváření nových databází, přiřaďte uživatele k Loginmanager hlavním databázím a dbmanager rolím.
Další informace o těchto dalších rolích a ověřování ve službě SQL Database najdete v tématu Správa databází a přihlášení ve službě Azure SQL Database. Další informace o připojení pomocí Microsoft Entra ID naleznete v tématu Připojení pomocí ověřování Microsoft Entra.
Autorizace
Autorizace odkazuje na to, co můžete dělat v databázi po ověření a připojení. Práva autorizace jsou určována členstvím v rolích a oprávněními. Osvědčeným postupem je udělit uživatelům nejnižší potřebná oprávnění. Ke správě rolí můžete použít následující uložené procedury:
EXEC sp_addrolemember 'db_datareader', 'ApplicationUser'; -- allows ApplicationUser to read data
EXEC sp_addrolemember 'db_datawriter', 'ApplicationUser'; -- allows ApplicationUser to write data
Účet správce serveru, ke kterému se připojujete, je členem db_owner, který má oprávnění provádět cokoli v databázi. Uložte tento účet pro implementaci aktualizací schémat a dalších operací správy. Použijte účet ApplicationUser s omezenějšími oprávněními pro připojení z vaší aplikace k databázi s nejnižšími oprávněními potřebnými vaší aplikací.
Existují způsoby, jak dále omezit, co může uživatel dělat v databázi:
- Podrobná oprávnění umožňují řídit, které operace můžete provádět s jednotlivými sloupci, tabulkami, zobrazeními, schématy, procedurami a dalšími objekty v databázi. Pomocí podrobných oprávnění můžete mít největší kontrolu a udělit minimální potřebná oprávnění.
- Databázové role jiné než db_datareader a db_datawriter je možné použít k vytváření výkonnějších uživatelských účtů aplikací nebo méně výkonných účtů pro správu. Předdefinované pevné databázové role poskytují snadný způsob udělení oprávnění, ale můžou vést k udělení více oprávnění, než je potřeba.
- Uložené procedury lze použít k omezení akcí, které je možné provést v databázi.
Následující příklad uděluje přístup pro čtení k uživatelsky definovanému schématu.
--CREATE SCHEMA Test
GRANT SELECT ON SCHEMA::Test to ApplicationUser
Správa databází a serverů z webu Azure Portal nebo pomocí rozhraní API Azure Resource Manageru se řídí přiřazeními rolí uživatelského účtu portálu. Další informace viz Přiřazení rolí Azure pomocí webu Azure Portal.
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.
Šifrování
Transparentní šifrování dat (TDE) pomáhá chránit před hrozbou škodlivé aktivity šifrováním a dešifrováním neaktivních uložených dat. Při šifrování databáze se přidružené zálohy a soubory transakčních protokolů šifrují bez nutnosti jakýchkoli změn v aplikacích. TDE šifruje úložiště celé databáze pomocí symetrického klíče zvaného šifrovací klíč databáze.
V SQL Database je šifrovací klíč databáze chráněný integrovaným certifikátem serveru. Integrovaný certifikát serveru je pro každý server jedinečný. Microsoft tyto certifikáty automaticky obměňuje alespoň každých 90 dnů. Použitý šifrovací algoritmus je AES-256. Obecný popis transparentního šifrování dat najdete v tématu Transparentní šifrování dat.
Databázi můžete zašifrovat pomocí webu Azure Portal nebo T-SQL.
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 pro Azure Synapse Analytics 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. 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í.
Transport Layer Security (šifrování při přenosu)
Azure Synapse Analytics zajišťuje data zákazníků šifrováním dat v pohybu pomocí Transport Layer Security (TLS). Azure Synapse Analytics vždy vynucuje TLS šifrovaná spojení, aby zajistila, že všechna data jsou šifrována během přenosu mezi klientem a serverem.
Konkrétně Azure Synapse Analytics nastavuje konfigurační příznak ForceEncryption na Yes. Klienti a ovladače musí podporovat šifrovaná připojení, aby se mohli připojit k této 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 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í.
Important
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. Nicméně zhodnoťte bezpečnostní rizika spojená s připojením takových ovladačů a aplikací, zejména pokud ukládáte citlivá data.
Další kroky
Podrobnosti a příklady připojení k skladu s různými protokoly najdete v tématu Připojení k vyhrazenému fondu SQL (dříve SQL DW).