Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:Azure SQL Database
Ez a cikk azt az eljárást ismerteti, amely leírja, hogyan lehet hozzáférést biztosítani egy Azure SQL Database Hyperscale nevű replikához anélkül, hogy hozzáférést biztosítanának az elsődleges vagy más nevű replikákhoz. Ez a forgatókönyv lehetővé teszi egy elnevezett replika erőforrás- és biztonsági elkülönítését – mivel a nevesített replika a saját számítási csomópontjával fog futni –, és akkor hasznos, ha elkülönített írásvédett hozzáférésre van szükség egy Rugalmas skálázású Azure SQL-adatbázishoz. Ebben az összefüggésben az izolált állapot azt jelenti, hogy a processzor és a memória nem oszlik meg az elsődleges és a nevesített replika között, a névvel ellátott replikán futó lekérdezések nem használják az elsődleges vagy más replikák számítási erőforrásait, és a névvel ellátott replikához hozzáférő tagok nem férnek hozzá más replikákhoz, beleértve az elsődleges replikát is.
Megjegyzés:
A Microsoft Entra ID-t korábban Azure Active Directorynak (Azure AD) nevezték.
Bejelentkezés létrehozása az elsődleges kiszolgálón
master Az elsődleges adatbázist üzemeltető logikai kiszolgálón lévő adatbázisban hajtsa végre az alábbi lépéseket egy új bejelentkezés létrehozásához.
Cserélje le <password>erős jelszóra.
CREATE LOGIN [third-party-login]
WITH PASSWORD = '<password>';
Kérje le a létrehozott bejelentkezés sid hexadecimális értékét a sys.sql_logins rendszernézetből:
SELECT SID
FROM sys.sql_logins
WHERE name = 'third-party-login';
Tiltsa le a bejelentkezést. Ez megakadályozza, hogy ez a bejelentkezés hozzáférhessen az elsődleges replikát üzemeltető kiszolgálón található bármely adatbázishoz.
ALTER LOGIN [third-party-login] DISABLE;
Felhasználó létrehozása az elsődleges olvasási-írási adatbázisban
A bejelentkezés létrehozása után csatlakozzon az adatbázis elsődleges olvasási-írási replikájához. Állítsd vissza például WideWorldImporters a telepítési és konfigurációs részletek alapján. Ezután hozzon létre egy adatbázis-felhasználót a bejelentkezéshez:
CREATE USER [third-party-user] FOR LOGIN [third-party-login];
Választható lépésként az adatbázis-felhasználó létrehozása után elvetheti az előző lépésben létrehozott kiszolgálói bejelentkezést, ha a bejelentkezés bármilyen módon újra engedélyezve lesz. Csatlakozzon az master elsődleges adatbázist üzemeltető logikai kiszolgálón található adatbázishoz, és hajtsa végre a következő példaszkripteket:
DROP LOGIN [third-party-login];
Elnevezett replika létrehozása egy másik logikai kiszolgálón
Hozzon létre egy új Azure SQL logikai kiszolgálót, amellyel elkülöníthető a névvel ellátott replikához való hozzáférés. Kövesse a kiszolgálók és önálló adatbázisok létrehozása és kezelése az Azure SQL Database-ben című témakörben elérhető utasításokat. Névvel ellátott replika létrehozásához a kiszolgálónak ugyanabban az Azure-régióban kell lennie, mint az elsődleges replikát üzemeltető kiszolgáló.
Cserélje le <password> erős jelszóra. Például az Azure CLI használatával:
az sql server create -g MyResourceGroup -n MyNamedReplicaServer -l MyLocation --admin-user MyAdminUser --admin-password <password>
Ezután hozzon létre egy elnevezett replikát a kiszolgálón található elsődleges adatbázishoz. Például az Azure CLI használatával:
az sql db replica create -g MyResourceGroup -n WideWorldImporters -s MyPrimaryServer --secondary-type Named --partner-database WideWorldImporters_NR --partner-server MyNamedReplicaServer
Bejelentkezés létrehozása a nevesített replikakiszolgálón
Csatlakozzon az master előző lépésben létrehozott nevesített replikát üzemeltető logikai kiszolgálón található adatbázishoz. Cserélje le <password> erős jelszóra. Adja hozzá a bejelentkezést az elsődleges replikából lekért SID használatával:
CREATE LOGIN [third-party-login] WITH PASSWORD = '<password>', sid = 0x0...1234;
Ezen a ponton a felhasználók és alkalmazások a third-party-login vagy bob@contoso.com használatával az úgynevezett replikához csatlakozhatnak, de az elsődleges replikához nem.
Objektumszintű engedélyek megadása az adatbázisban
Miután beállította a bejelentkezési hitelesítést a leírtak szerint, az adatbázison belüli engedélyezés vagy objektumszintű engedélyek kezelésére használhat rendszeres GRANTDENYREVOKE és utasításokat. Ezekben az utasításokban hivatkozzon az adatbázisban létrehozott felhasználó nevére, vagy egy olyan adatbázisszerepkörre, amely tagként tartalmazza ezt a felhasználót. Ne felejtse el végrehajtani ezeket a parancsokat az elsődleges replikán. A módosítások az összes másodlagos replikára propagálásra kerülnek, de csak azon a nevesített replikán lesznek érvényben, ahol a kiszolgálószintű bejelentkezés létrejött.
Ne feledje, hogy az újonnan létrehozott felhasználók alapértelmezés szerint minimális engedélykészlettel rendelkeznek (például nem férnek hozzá felhasználói táblákhoz). Ha lehetővé szeretné tenni third-party-user vagy bob@contoso.com számára az adatok táblázatban való olvasását, kifejezetten meg kell adnia az SELECT engedélyt:
GRANT SELECT
ON [Application].[Cities] TO [third-party-user];
Az engedélyek minden táblán külön-külön történő megadása helyett hozzáadhatja a felhasználót az db_datareadersadatbázis-szerepkörhöz , hogy olvasási hozzáférést engedélyezhessen az összes táblához, vagy sémákkal engedélyezheti a séma összes meglévő és új táblájának elérését .
Hozzáférés tesztelése
Ezt a konfigurációt bármely ügyféleszközzel tesztelheti, és megpróbálhat csatlakozni az elsődleges és a nevesített replikához. Például a sqlcmd használatával megpróbálhat csatlakozni az elsődleges replikához a third-party-login felhasználóval. Cserélje le <password> erős jelszóra.
sqlcmd -S MyPrimaryServer.database.windows.net -U third-party-login -P <password> -d WideWorldImporters
Ez hibát fog eredményezni, mivel a felhasználó nem csatlakozhat a kiszolgálóhoz:
Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : Login failed for user 'third-party-login'. Reason: The account is disabled.
A névvel ellátott replikához való csatlakozás sikeres. Cserélje le <password> erős jelszóra.
sqlcmd -S MyNamedReplicaServer.database.windows.net -U third-party-login -P <password> -d WideWorldImporters_NR
A rendszer nem ad vissza hibákat, és a lekérdezések a megadott objektumszintű engedélyek által engedélyezett módon hajthatók végre a nevesített replikán.