Megosztás a következőn keresztül:


Az Azure SQL Database biztonságának konfigurálása és kezelése georedundáns visszaállításhoz vagy feladatátvételhez

A következőre vonatkozik: Azure SQL Database

Ez a cikk az aktív georeplikációs és feladatátvételi csoportok konfigurálásának és szabályozásának hitelesítési követelményeit ismerteti. Emellett a másodlagos adatbázishoz való felhasználói hozzáférés beállításához szükséges lépéseket is tartalmazza. Végül azt is ismerteti, hogyan engedélyezheti a helyreállított adatbázishoz való hozzáférést a georeduktúra-visszaállítás használata után. A helyreállítási lehetőségekről további információt az Üzletmenet-folytonosság áttekintése című témakörben talál.

Vészhelyreállítás önleíró felhasználókkal

A hagyományos felhasználókkal ellentétben, amelyeket le kell képezni az master adatbázisban lévő bejelentkezésekre, a tartalmazott felhasználókat maga az adatbázis kezeli teljesen. Ennek két előnye van. A vészhelyreállítási forgatókönyvben a felhasználók további konfiguráció nélkül csatlakozhatnak az új elsődleges adatbázishoz vagy a georedukcióval helyreállított adatbázishoz, mert az adatbázis kezeli a felhasználókat. Ennek a konfigurációnak a bejelentkezési szempontból is lehetséges skálázhatósági és teljesítménybeli előnyei vannak. További információt a tartalmazottadatbázis-felhasználókkal kapcsolatos, az adatbázis hordozhatóvá tételével foglalkozó cikkben talál.

A fő kompromisszum az, hogy a vészhelyreállítási folyamat nagy léptékben történő kezelése nagyobb kihívást jelent. Ha több olyan adatbázissal rendelkezik, amelyek ugyanazt a bejelentkezést használják, a hitelesítő adatok több adatbázisban tárolt felhasználókkal való fenntartása megakadályozhatja a tartalmazott felhasználók előnyeit. A jelszóváltási szabályzat például megköveteli, hogy a módosításokat több adatbázisban is következetesen hajtsa végre ahelyett, hogy egyszer módosítaná a bejelentkezés jelszavát az master adatbázisban. Emiatt, ha több olyan adatbázissal rendelkezik, amelyek ugyanazt a felhasználónevet és jelszót használják, a tartalmazott felhasználók használata nem ajánlott.

Bejelentkezések és felhasználók konfigurálása

Ha bejelentkezéseket és felhasználókat használ (nem tartalmazott felhasználókat), további lépéseket kell tennie annak biztosítására, hogy ugyanazok a bejelentkezések legyenek az master adatbázisban. Az alábbi szakaszok az érintett lépéseket és további szempontokat ismertetik.

Feljegyzés

A Microsoft Entra ID-ból (korábbi nevén Azure Active Directoryból) létrehozott bejelentkezéseket is használhatja az adatbázisok kezeléséhez. További információ: Azure SQL-bejelentkezések és -felhasználók.

Felhasználói hozzáférés beállítása másodlagos vagy helyreállított adatbázishoz

Annak érdekében, hogy a másodlagos adatbázis írásvédett másodlagos adatbázisként használható legyen, és hogy az új elsődleges adatbázishoz vagy a georedukcióval helyreállított adatbázishoz megfelelő hozzáférést biztosíthasson, master a célkiszolgáló adatbázisának rendelkeznie kell a megfelelő biztonsági konfigurációval a helyreállítás előtt.

Az egyes lépésekhez tartozó engedélyeket a jelen témakör későbbi részében ismertetjük.

A georeplikálás konfigurálásának részeként elő kell készíteni a felhasználók hozzáférését egy georeplikációs másodlagoshoz. A georedukált adatbázisokhoz való felhasználói hozzáférés előkészítését az eredeti kiszolgáló online állapotában (például a DR-részletezés részeként) bármikor el kell végezni.

Feljegyzés

Ha a feladatátvételt vagy a georedukciót olyan kiszolgálóra állítja vissza, amely nem rendelkezik megfelelően konfigurált bejelentkezésekkel, a hozzáférés a kiszolgáló rendszergazdai fiókjára korlátozódik.

A bejelentkezések célkiszolgálón való beállítása az alábbiakban ismertetett három lépésből áll:

1. Az elsődleges adatbázishoz hozzáféréssel rendelkező bejelentkezések meghatározása

A folyamat első lépése annak megállapítása, hogy mely bejelentkezéseket kell duplikálni a célkiszolgálón. Ez egy pár Standard kiadás LECT utasítással, egy a forráskiszolgáló logikai master adatbázisában, egy pedig az elsődleges adatbázisban történik.

Csak a kiszolgáló rendszergazdája vagy a LoginManager kiszolgálói szerepkör tagja tudja meghatározni a forráskiszolgálón lévő bejelentkezéseket az alábbi Standard kiadás LECT utasítással.

SELECT [name], [sid]
FROM [sys].[sql_logins]
WHERE [type_desc] = 'SQL_Login'

Csak a db_owner adatbázis-szerepkör egy tagja, a dbo-felhasználó vagy a kiszolgáló rendszergazdája határozhatja meg az elsődleges adatbázisban található összes adatbázis-felhasználónevet.

SELECT [name], [sid]
FROM [sys].[database_principals]
WHERE [type_desc] = 'SQL_USER'

2. Keresse meg a SID-t az 1. lépésben azonosított bejelentkezésekhez

Ha összehasonlítja az előző szakasz lekérdezéseinek kimenetét, és megfelelteti az SID-ket, leképezheti a kiszolgálói bejelentkezést az adatbázis-felhasználóra. Azok a bejelentkezések, amelyek adatbázis-felhasználója rendelkezik egy egyező SID-sel, felhasználói hozzáféréssel rendelkeznek az adatbázishoz, mint az adatbázis felhasználónevét.

Az alábbi lekérdezéssel megtekintheti az összes felhasználónevét és SID-jét egy adatbázisban. Ezt a lekérdezést csak a db_owner adatbázis-szerepkör vagy kiszolgáló rendszergazdája futtathatja.

SELECT [name], [sid]
FROM [sys].[database_principals]
WHERE [type_desc] = 'SQL_USER'

Feljegyzés

A INFORMATION_SCHEMA és a sys felhasználók NULL SID-kkel rendelkeznek, a vendég SID pedig 0x00. A dbo SID 0x01060000000001648000000000048454 kezdődhet, ha az adatbázis létrehozója a kiszolgáló rendszergazdája volt a DbManager tagja helyett.

3. A bejelentkezések létrehozása a célkiszolgálón

Az utolsó lépés a célkiszolgálóra vagy -kiszolgálókra való lépés, és a bejelentkezések létrehozása a megfelelő SID-kkel. Az alapszintaxis a következő.

CREATE LOGIN [<login name>]
WITH PASSWORD = '<login password>',
SID = 0x1234 /*replace 0x1234 with the desired login SID*/

A célkiszolgálón ne hozzon létre új bejelentkezést a kiszolgáló rendszergazdájának SID-jével a forrásból. Ehelyett állítsa be a célkiszolgáló rendszergazdáját az adatbázis egyszerű adatbázisába, például db_owner vagy felhasználóként.

Feljegyzés

Ha hozzáférést szeretne adni a felhasználónak a másodlagoshoz, de nem az elsődlegeshez, ezt úgy teheti meg, hogy módosítja a felhasználói bejelentkezést az elsődleges kiszolgálón az alábbi szintaxis használatával.

ALTER LOGIN [<login name>] DISABLE

A DISABLE nem módosítja a jelszót, így szükség esetén bármikor engedélyezheti.

Következő lépések