Dedikált SQL-készlet (korábbi nevén SQL DW) védelme az Azure Synapse Analyticsben

Ez a cikk bemutatja a dedikált SQL-készlet (korábban SQL DW) biztonságossá tételének alapjait. Ez a cikk elsősorban a hozzáférés korlátozására, az adatok védelmére és a tevékenységek figyelésére szolgáló erőforrásokat ismerteti dedikált SQL-készlettel (korábbi nevén SQL DW).

Kapcsolatbiztonság

A kapcsolatbiztonság azt jelenti, hogy hogyan korlátozza és védi az adatbázis kapcsolatait a tűzfalszabályok és a csatlakozástitkosítás használatával.

A tűzfalszabályokat a logikai SQL-kiszolgáló és adatbázisai egyaránt használják a kifejezetten nem jóváhagyott IP-címekről érkező csatlakozási kísérletek elutasítására. Az alkalmazás vagy az ügyfélszámítógép nyilvános IP-címe közötti kapcsolatok engedélyezéséhez először létre kell hoznia egy kiszolgálószintű tűzfalszabályt az Azure Portal, a REST API vagy a PowerShell használatával.

Ajánlott eljárásként a lehető legnagyobb mértékben korlátoznia kell a kiszolgálószintű tűzfalon keresztül engedélyezett IP-címtartományokat. A dedikált SQL-készlet (korábbi nevén SQL DW) helyi számítógépről való eléréséhez győződjön meg arról, hogy a hálózat tűzfala és a helyi számítógép engedélyezi a kimenő kommunikációt az 1433-at futtató TCP-porton.

A dedikált SQL-készlet (korábbi nevén SQL DW) kiszolgálószintű IP-tűzfalszabályokat használ. Nem támogatja az adatbázisszintű IP-tűzfalszabályokat. További információ: Azure SQL Database tűzfalszabályok

A dedikált SQL-készlethez (korábbi nevén SQL DW) tartozó Csatlakozás alapértelmezés szerint titkosítva vannak. A rendszer figyelmen kívül hagyja a kapcsolati beállítások titkosítás letiltására történő módosítását.

Authentication

A hitelesítés azt jelenti, hogy hogyan igazolja az identitását az adatbázishoz való kapcsolódáskor. A dedikált SQL-készlet (korábbi nevén SQL DW) jelenleg támogatja az SQL Server-hitelesítést felhasználónévvel és jelszóval, valamint Microsoft Entra-azonosítóval.

Amikor létrehozta a kiszolgálót az adatbázishoz, felhasználónévvel és jelszóval megadott egy "kiszolgálóadminisztrátori" bejelentkezést. Ezekkel a hitelesítő adatokkal adatbázis-tulajdonosként az adott kiszolgálón található bármely adatbázishoz, vagy az SQL Server-hitelesítésen keresztül "dbo" hitelesítéssel hitelesíthet.

Ajánlott eljárásként azonban a szervezet felhasználóinak egy másik fiókot kell használniuk a hitelesítéshez. Így korlátozhatja az alkalmazásnak adott engedélyeket, és csökkentheti a rosszindulatú tevékenységek kockázatát abban az esetben, ha az alkalmazás kódja sebezhető egy SQL-injektálási támadással szemben.

Sql Server hitelesített felhasználó létrehozásához csatlakozzon a kiszolgáló fő adatbázisához a kiszolgáló rendszergazdai bejelentkezésével, és hozzon létre egy új kiszolgálói bejelentkezést. Érdemes egy felhasználót is létrehozni a főadatbázisban. A főkiszolgálón történő felhasználó létrehozása lehetővé teszi a felhasználó számára, hogy adatbázisnév megadása nélkül jelentkezzen be az SSMS-hez hasonló eszközökkel. Lehetővé teszi továbbá, hogy az objektumkezelővel megtekintse a kiszolgálón lévő összes adatbázist.

-- Connect to master database and create a login
CREATE LOGIN ApplicationLogin WITH PASSWORD = 'Str0ng_password';
CREATE USER ApplicationUser FOR LOGIN ApplicationLogin;

Ezután csatlakozzon a dedikált SQL-készlethez (korábbi nevén SQL DW) a kiszolgáló rendszergazdai bejelentkezésével, és hozzon létre egy adatbázis-felhasználót a létrehozott kiszolgálói bejelentkezés alapján.

-- Connect to the database and create a database user
CREATE USER ApplicationUser FOR LOGIN ApplicationLogin;

Ha engedélyt szeretne adni egy felhasználónak további műveletek végrehajtására, például bejelentkezések létrehozására vagy új adatbázisok létrehozására, rendelje hozzá a felhasználót a Loginmanager főadatbázishoz és dbmanager szerepkörökhöz.

További információ ezekről a további szerepkörökről és az SQL Database-beli hitelesítésről: Adatbázisok és bejelentkezések kezelése az Azure SQL Database-ben. A Microsoft Entra ID használatával való csatlakozásról további információt a Microsoft Entra-hitelesítéssel való Csatlakozás.

Authorization

Az engedélyezés azt jelenti, hogy mit tehet egy adatbázisban a hitelesítés és a csatlakozás után. Az engedélyezési jogosultságokat szerepkör-tagságok és engedélyek határozzák meg. As a best practice, you should grant users the least privileges necessary. A szerepkörök kezeléséhez a következő tárolt eljárásokat használhatja:

EXEC sp_addrolemember 'db_datareader', 'ApplicationUser'; -- allows ApplicationUser to read data
EXEC sp_addrolemember 'db_datawriter', 'ApplicationUser'; -- allows ApplicationUser to write data

A kapcsolódáshoz használt kiszolgálói rendszergazdai fiók a db_owner szerepkör tagja, így teljes körű engedélyekkel rendelkezik az adott adatbázisban. Tartsa meg ezt a fiókot a sémafrissítések üzembe helyezéséhez és egyéb felügyeleti műveletekhez. Használja kevesebb engedéllyel rendelkező „ApplicationUser” fiókot, ha az alkalmazásból kíván csatlakozni az adatbázishoz az alkalmazás által minimálisan igényelt engedélyekkel.

A felhasználók által az adatbázisban elvégezhető műveletek további korlátozására többféleképpen is lehetőség van:

  • A részletes engedélyek segítségével szabályozhatja, hogy az adatbázis egyes oszlopaiban, tábláiban, nézeteiben, sémáiban, eljárásaiban és egyéb objektumaiban milyen műveleteket hajthat végre. Részletes engedélyekkel rendelkezhet a legtöbb vezérléshez, és meg kell adnia a szükséges minimális engedélyeket.
  • A db_datareader és db_datawriter kívüli adatbázis-szerepkörök hatékonyabb alkalmazásfelhasználói fiókok vagy kevésbé hatékony felügyeleti fiókok létrehozásához használhatók. A beépített rögzített adatbázis-szerepkörök egyszerű módot kínálnak az engedélyek megadására, de a szükségesnél több engedélyt adhatnak.
  • A tárolt eljárások segítségével korlátozhatja az adatbázisban végezhető műveleteket.

Az alábbi példa olvasási hozzáférést biztosít egy felhasználó által definiált sémához.

--CREATE SCHEMA Test
GRANT SELECT ON SCHEMA::Test to ApplicationUser

Az adatbázisok és kiszolgálók Azure Portalról vagy az Azure Resource Manager API használatával történő kezelését a portál felhasználói fiókjának szerepkör-hozzárendelései vezérlik. For more information, see Assign Azure roles using the Azure portal.

Encryption

transzparens adattitkosítás (TDE) a inaktív adatok titkosításával és visszafejtésével segít megvédeni a rosszindulatú tevékenységek veszélyét. Az adatbázis titkosítása során a társított biztonsági másolatok és a tranzakciónapló-fájlok titkosítva lesznek anélkül, hogy az alkalmazásokat bármilyen módosításra kellene kötelezni. A TDE egy teljes adatbázis tartalmát titkosítja egy szimmetrikus kulcs – az adatbázis-titkosítási kulcs – használatával.

Az SQL Database-ben az adatbázis titkosítási kulcsát egy beépített kiszolgálótanúsítvány védi. A beépített kiszolgálótanúsítvány minden kiszolgálón egyedi. A Microsoft legalább 90 naponta automatikusan elforgatja ezeket a tanúsítványokat. A használt titkosítási algoritmus az AES-256. A TDE általános leírását lásd a transzparens adattitkosítás.

Az adatbázist az Azure Portal vagy a T-SQL használatával titkosíthatja.

Következő lépések

A különböző protokollokkal rendelkező raktárhoz való csatlakozással kapcsolatos részletekért és példákért tekintse meg Csatlakozás dedikált SQL-készlethez (korábbi nevén SQL DW).