Megosztás:


Replikációs ügynök biztonsági modellje

A következőkre vonatkozik:SQL Server

A replikációs ügynök biztonsági modellje lehetővé teszi azoknak a fiókoknak a részletes ellenőrzését, amelyek alatt a replikációs ügynökök futnak és kapcsolatokat létesítenek: Minden ügynökhöz más-más fiók adható meg. További információ a fiókok megadásáról: Identitás és hozzáférés-vezérlés replikációhoz.

A replikációs ügynök biztonsági modellje kissé eltér a felügyelt Azure SQL-példányok esetében, mivel nincsenek olyan Windows-fiókok, amelyeken az ügynökök futni fognak. Ehelyett mindent SQL Server-hitelesítéssel kell elvégezni.

Fontos

Amikor a sysadmin rögzített kiszolgálói szerepkör egy tagja replikációt konfigurál, a replikációs ügynökök konfigurálhatók az SQL Server-ügynökfiók megszemélyesítésére. Ez úgy történik, hogy nem adja meg a replikációs ügynök bejelentkezési adatait és jelszavát; azonban nem javasoljuk ezt a megközelítést. Ehelyett ajánlott biztonsági gyakorlatként javasoljuk, hogy adjon meg egy fiókot minden ügynökhöz, amely rendelkezik a jelen témakör későbbi, "Az ügynökök által igényelt engedélyek" című szakaszában leírt minimális engedélyekkel.

A replikációs ügynökök, mint minden végrehajtható fájl, egy Windows-fiók környezetében futnak. Az ügynökök ezzel a fiókkal windowsos integrált biztonsági kapcsolatokat létesítenek. Az, hogy melyik fiókot használja az ügynök futtatására, attól függ, hogyan indítják el az ügynököt.

  • Az ügynök SQL Server Agent-feladatból való indításakor az alapértelmezett beállítás: Ha egy SQL Server Agent-feladat használatával indít el egy replikációs ügynököt, az ügynök egy, a replikáció konfigurálásakor megadott fiók környezetében fut. Az SQL Server-ügynökkel és a replikációval kapcsolatos további információkért tekintse meg a jelen témakör későbbi, "Ügynökbiztonság az SQL Server Agent alatt" című szakaszát. Az SQL Server-ügynök futtatásához szükséges engedélyekről az SQL Server-ügynök konfigurálása című témakörben olvashat.

  • Az ügynök indítása egy MS-DOS parancssorból közvetlenül vagy szkripttel: Az ügynök az ügynököt futtató felhasználó parancssori fiókjának környezetében fut.

  • Az ügynök indítása replikációkezelési objektumokat (RMO) vagy ActiveX-vezérlőt használó alkalmazásból: Az ügynök az RMO-t vagy az ActiveX-vezérlőt hívó alkalmazás környezetében fut.

    Megjegyzés:

    Az ActiveX-vezérlők elavultak.

Javasoljuk, hogy a windowsos integrált biztonság kontextusában létesítsen kapcsolatokat. A visszamenőleges kompatibilitás érdekében az SQL Server Security is használható. Az ajánlott eljárásokkal kapcsolatos további információkért tekintse meg a replikáció biztonsági ajánlott eljárásait.

Ügynökök által megkövetelt engedélyek

Azok a fiókok, amelyek alatt az ügynökök futnak és kapcsolatokat létesítenek, különböző engedélyeket igényelnek. Ezeket az engedélyeket az alábbi táblázat ismerteti. Javasoljuk, hogy minden ügynök egy másik Windows-fiók alatt fusson, és a fióknak csak a szükséges engedélyeket kell megadnia. A számos ügynök számára releváns kiadványelérési listával (PAL) kapcsolatos információkért tekintse meg a Közzétevő biztonságossá tételét ismertető témakört.

Megjegyzés:

Egyes Windows operációs rendszerek felhasználói fiókok felügyelete (UAC) megakadályozhatja a pillanatkép-megosztás rendszergazdai hozzáférését. Ezért explicit módon meg kell adnia pillanatkép-megosztási engedélyeket a Pillanatkép-ügynök, a Terjesztési ügynök és az Egyesítési ügynök által használt Windows-fiókokhoz. Ezt akkor is meg kell tennie, ha a Windows-fiókok a Rendszergazdák csoport tagjai. További információt a Pillanatkép mappa biztonságossá tételével foglalkozó témakörben talál.

Ügynök Permissions
Pillanatkép-ügynök Az a Windows-fiók, amely alatt az ügynök fut, akkor kerül használatra, amikor kapcsolatot létesít a Megosztóval. Ennek a fióknak a következőnek kell lennie:

-Legalább tagja legyen a db_owner rögzített adatbázis-szerepkörnek a terjesztési adatbázisban.

-Olvasási, írási és módosítási engedélyekkel rendelkezik a pillanatkép-megosztáshoz.



Vegye figyelembe, hogy a Publisherhez való csatlakozáshoz használt fióknak legalább a db_owner rögzített adatbázis-szerepkör tagjának kell lennie a közzétételi adatbázisban.
Naplóolvasó ügynök Az a Windows-fiók, amely alatt az ügynök fut, akkor kerül használatra, amikor kapcsolatot létesít a Megosztóval. Ennek a fióknak legalább a db_owner rögzített adatbázis-szerepkör tagjának kell lennie a terjesztési adatbázisban.

A Publisherhez való csatlakozáshoz használt fióknak legalább a db_owner rögzített adatbázis-szerepkör tagjának kell lennie a közzétételi adatbázisban.

Amikor a sync_type opciók közül választ, mint például csak replikáció támogatása, biztonsági mentéssel inicializálás, vagy inicializálás LSN alapján, a naplóolvasó ügynöknek a sp_addsubscription végrehajtása után kell futnia, hogy a beállítási szkriptek íródhassanak a terjesztési adatbázisba. A naplóolvasó ügynöknek olyan fiók alatt kell futnia, amely a sysadmin rögzített kiszolgálói szerepkör tagja. Ha a sync_type beállítás Automatikus értékre van állítva, nincs szükség speciális naplóolvasó-ügynökműveletekre.
Leküldéses előfizetés terjesztési ügynöke. Az a Windows-fiók, amely alatt az ügynök fut, akkor kerül használatra, amikor kapcsolatot létesít a Megosztóval. Ennek a fióknak a következőnek kell lennie:

-Legalább tagja legyen a db_owner rögzített adatbázis-szerepkörnek a terjesztési adatbázisban.

-Legyen tagja a PAL-nak.

-Olvasási engedélyekkel rendelkezik a pillanatkép-megosztáshoz.

-Olvasási engedélyekkel rendelkezik az előfizető OLE DB-szolgáltatójának telepítési könyvtárában, ha az előfizetés nem SQL Server-előfizető.

-LOB-adatok replikálásakor a terjesztési ügynöknek írási engedélyekkel kell rendelkeznie a C:\Program Files\Microsoft SQL Server\XX\COM replikációs mappához, ahol az XX a példányazonosítót jelöli.



Vegye figyelembe, hogy az Előfizetőhöz való csatlakozáshoz használt fióknak legalább az előfizetési adatbázisban db_owner rögzített adatbázis-szerepkör tagjának kell lennie, vagy egyenértékű engedélyekkel kell rendelkeznie, ha az előfizetés nem SQL Server-előfizető.

Vegye figyelembe azt is, hogy a terjesztési ügynök használatakor -subscriptionstreams >= 2 a kiszolgáló állapotának megtekintésére vonatkozó engedélyt is meg kell adnia az előfizetőknek a holtpontok észleléséhez.
Lekéréses előfizetés szétosztó ügynöke Az a Windows-fiók, amely alatt az ügynök fut, akkor van használatban, amikor kapcsolatot létesít az előfizetővel. Ennek a fióknak a következőnek kell lennie:

-Legalább tagja legyen az előfizetési adatbázisban db_owner rögzített adatbázis-szerepkörnek.

A forgalmazóhoz való csatlakozáshoz használt fióknak a következőnek kell lennie:

-Legalább tagja legyen a db_owner rögzített adatbázis-szerepkörnek a terjesztési adatbázisban.

-Legyen tagja a PAL-nak.

-Olvasási engedélyekkel rendelkezik a pillanatkép-megosztáshoz.

-LOB-adatok replikálásakor a terjesztési ügynöknek írási engedélyekkel kell rendelkeznie a C:\Program Files\Microsoft SQL Server\XX\COM replikációs mappához, ahol az XX a példányazonosítót jelöli.



Vegye figyelembe, hogy a terjesztési ügynök használatakor -subscriptionstreams >= 2 a kiszolgáló állapotának megtekintésére vonatkozó engedélyt is meg kell adnia az előfizetőknek a holtpontok észleléséhez.
Merge Agent a továbbküldési előfizetéshez Az a Windows-fiók, amely alatt az ügynök fut, akkor használatos, amikor kapcsolatot létesít a Publisherrel és a Distributoral. Ennek a fióknak a következőnek kell lennie:

-Legalább tagja legyen a db_owner rögzített adatbázis-szerepkörnek a terjesztési adatbázisban.

-Legyen tagja a PAL-nak.

-Legyen olyan bejelentkezés, amely a közzétételi adatbázisban olvasási/írási engedélyekkel rendelkező felhasználóhoz van társítva.

-Olvasási engedélyekkel rendelkezik a pillanatkép-megosztáshoz.



Vegye figyelembe, hogy az Előfizetőhöz való csatlakozáshoz használt fióknak legalább a db_owner rögzített adatbázis-szerepkör tagjának kell lennie az előfizetési adatbázisban.
Lekéréses előfizetés ügynökének egyesítése Az a Windows-fiók, amely alatt az ügynök fut, akkor van használatban, amikor kapcsolatot létesít az előfizetővel. Ennek a fióknak legalább a db_owner rögzített adatbázis-szerepkör tagjának kell lennie az előfizetési adatbázisban. A Közzétevőhöz és a Forgalmazóhoz való csatlakozáshoz használt fióknak a következőnek kell lennie:

-Legyen tagja a PAL-nak.

-Legyen a közzétételi adatbázisban olvasási/írási engedélyekkel rendelkező felhasználóhoz társított bejelentkezés.

-Legyen egy felhasználóhoz társított bejelentkezés a terjesztési adatbázisban. A felhasználó lehet a vendégfelhasználó .

-Olvasási engedélyekkel rendelkezik a pillanatkép-megosztáshoz.
Várólista-olvasó ügynök Az a Windows-fiók, amely alatt az ügynök fut, akkor kerül használatra, amikor kapcsolatot létesít a Megosztóval. Ennek a fióknak legalább a db_owner rögzített adatbázis-szerepkör tagjának kell lennie a terjesztési adatbázisban.

A Publisherhez való csatlakozáshoz használt fióknak legalább a db_owner rögzített adatbázis-szerepkör tagjának kell lennie a közzétételi adatbázisban.

Az Előfizetőhöz való csatlakozáshoz használt fióknak legalább a db_owner rögzített adatbázis-szerepkör tagjának kell lennie az előfizetési adatbázisban.

Ügynökbiztonság az SQL Server-ügynök alatt

Ha az SQL Server Management Studio, Transact-SQL eljárások vagy RMO használatával konfigurálja a replikációt, a rendszer alapértelmezés szerint létrehoz egy SQL Server Agent-feladatot minden ügynökhöz. Az ügynökök ezután egy feladatlépés kontextusában futnak, függetlenül attól, hogy folyamatosan, ütemezés szerint vagy igény szerint futnak. Ezeket a feladatokat az SQL Server Management Studio Feladatok mappájában tekintheti meg. Az alábbi táblázat a feladatneveket sorolja fel.

Ügynök Feladat neve
Pillanatkép-ügynök <Kiadó-PublikációsAdatbázis-Publikáció-egész><><><>
Pillanatkép-ügynök egy egyesítési kiadványpartícióhoz <Dyn_Publisher-PublicationDatabase-Publication-GUID><><><>
Naplóolvasó ügynök <Kiadó-PublikációsAdatbázis-egész szám><><>
Lehívásos előfizetések egyesítési ügynöke <Kiadó-PublikációsAdatbázis-Publikáció-Előfizető-ElőfizetésiAdatbázis-egész szám><><><><><>
Ügynök egyesítése leküldéses előfizetésekhez <Kiadó-KiadványAdatbázis-Kiadvány-Előfizető-egész><><><><>
Terjesztési ügynök push-alapú előfizetésekhez <Kiadó-KiadványAdatbázis-Kiadvány-Előfizető-egész><><><><>
Lekéréses előfizetések terjesztési ügynöke <Publisher-PublicationDatabase-Publication-Subscriber-SubscriptionDatabase-GUID><><><><><>
Terjesztési ügynök olyan előfizetésekhez, amelyeket nem SQL Server-előfizetőknek küldünk <Kiadó-KiadványAdatbázis-Kiadvány-Előfizető-egész><><><><>
Várólista-olvasó ügynök [<Forgalmazó>].<integer>

Az Oracle-kiadványokra való leküldéses előfizetések esetében a feladat neve <Publisher>-<Publisher> a <Publisher>-<PublicationDatabase> helyett.

**Az Oracle-kiadványokra való lekéréses előfizetések esetében a feladat neve <>Publisher-DistributionDatabase<> a Publisher-PublicationDatabase<>< helyett>.

A replikáció konfigurálásakor meg kell adnia azokat a fiókokat, amelyeken az ügynököknek futniuk kell. Az összes feladatlépés azonban egy proxy biztonsági környezetében fut; ezért a replikáció a következő leképezéseket hajtja végre belsőleg a megadott ügynökfiókok esetében:

  • A fiók először a Transact-SQL CREATE CREDENTIAL utasítással lesz leképezve hitelesítő adatokra. Az SQL Server-ügynök proxyi hitelesítő adatokkal tárolják a Windows felhasználói fiókokkal kapcsolatos információkat.

  • a sp_add_proxy tárolt eljárást meghívják, és a hitelesítő adatokat proxy létrehozására használják.

Megjegyzés:

Az információk segítenek átfogó képet kapni arról, hogy mi szükséges az ügynökök megfelelő biztonsági környezettel való futtatásához. Nem szükséges közvetlenül kapcsolatba lépni a létrehozott hitelesítő adatokkal vagy proxykkal.