Zabezpečení vyhrazeného fondu SQL (dříve SQL DW) ve službě Azure Synapse Analytics

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í spočívá v použití pravidel brány firewall a šifrovaného připojení k omezení a zabezpečení připojení k databázi.

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 vyhrazenému fondu SQL (dříve SQL DW) z místního počítače, ujistěte se, že brána firewall v síti a místním počítači umožňuje odchozí komunikaci na portu TCP 1433.

Vyhrazený fond SQL (dříve SQL DW) používá pravidla brány firewall protokolu IP na úrovni serveru. Nepodporuje pravidla brány firewall protokolu IP na úrovni databáze. Další informace najdete v tématu Pravidla brány firewall služby Azure SQL Database.

Připojení pro vyhrazený fond SQL (dříve SQL DW) se ve výchozím nastavení šifrují. Úprava nastavení připojení, aby se zakázalo šifrování, se ignoruje.

Authentication

Ověřování se týká způsobu, jakým prokážete svou identitu při připojování k databázi. Vyhrazený fond SQL (dříve SQL DW) v současné době podporuje ověřování SQL Serveru s uživatelským jménem a heslem a s ID Microsoft Entra.

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ů můžete ověřit jakoukoli databázi na daném serveru jako vlastníka databáze nebo "dbo" prostřednictvím ověřování 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í. Oprávnění autorizace jsou určená členstvím rolí a oprávněními. Doporučený postup je udělit uživatelům co nejmenší možná 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, který používáte k připojení, je členem skupiny db_owner. Tato skupina může s databází provádět všechny operace. Tento účet uložte kvůli nasazení upgradovaných schémat a dalším možnostem správy. Použijte účet „ApplicationUser“, který má omezenější oprávnění a umožňuje připojit se z aplikace k databázi s nejnižšími oprávněními, jaké aplikace potřebuje.

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 vytvoř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.
  • K omezení akcí, které je možné s databází provádět, můžete použít uložené procedury.

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.

Š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. Transparentní šifrování dat šifruje úložiště celé databáze pomocí symetrického klíče nazývané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.

Další kroky

Podrobnosti a příklady připojení k vašemu skladu s různými protokoly najdete v tématu Připojení k vyhrazenému fondu SQL (dříve SQL DW).