Sdílet prostřednictvím


Model zabezpečení agenta replikace

platí pro:SQL Server

Model zabezpečení agenta replikace umožňuje jemně odstupňovanou kontrolu nad účty, pod kterými agenti replikace běží a dělají připojení: Pro každého agenta je možné zadat jiný účet. Další informace o tom, jak zadat účty, naleznete v tématu Identita a řízení přístupu pro replikaci.

Model zabezpečení agenta replikace se pro spravovanou instanci Azure SQL trochu liší, protože neexistují žádné účty Windows, ve kterých se agenti budou spouštět. Místo toho musí být všechno provedeno prostřednictvím ověřování SQL Serveru.

Důležité

Když člen pevné role serveru sysadmin konfiguruje replikaci, je možné agenty replikace nakonfigurovat tak, aby zosobnit účet agenta SQL Serveru. To se provádí tak, že pro agenta replikace nezadáte přihlašovací jméno a heslo; tento přístup však nedoporučujeme. Místo toho doporučujeme zadat účet pro každého agenta s minimálními oprávněními popsanými v části Oprávnění požadovaná agenty dále v tomto tématu.

Agenti replikace, jako jsou všechny spustitelné soubory, běží v kontextu účtu Windows. Agenti používají tento účet pro navázání integrovaných připojení zabezpečení Windows. Účet, pod kterým se agent spouští, závisí na způsobu spuštění agenta:

  • Výchozí spuštění agenta z úlohy agenta SQL Serveru: Pokud se k spuštění agenta replikace použije úloha agenta SQL Serveru, agent se spustí v kontextu účtu, který zadáte při konfiguraci replikace. Další informace o agentech a replikaci SQL Serveru najdete v části Zabezpečení agenta v rámci agenta SQL Serveru dále v tomto tématu. Informace o oprávněních požadovaných pro účet, ve kterém běží agent SQL Serveru, najdete v tématu Konfigurace agenta SQL Serveru.

  • Spuštění agenta z příkazového řádku MS-DOS, a to buď přímo, nebo prostřednictvím skriptu: Agent běží v kontextu účtu uživatele, který spouští agenta na příkazovém řádku.

  • Spuštění agenta z aplikace, která používá objekty RMO (Replication Management Objects) nebo ovládací prvek ActiveX: Agent běží v kontextu aplikace, která volá RMO nebo Ovládací prvek ActiveX.

    Poznámka:

    Ovládací prvky ActiveX jsou zastaralé.

Doporučujeme, aby byla připojení provedena v kontextu integrovaného zabezpečení systému Windows. Kvůli zpětné kompatibilitě je možné použít také zabezpečení SQL Serveru. Další informace o osvědčených postupech najdete v tématu Osvědčené postupy zabezpečení replikace.

Oprávnění vyžadovaná agenty

Účty, ve kterých agenti spouštějí a dělají připojení, vyžadují různá oprávnění. Tato oprávnění jsou popsaná v následující tabulce. Doporučujeme, aby každý agent běžel pod jiným účtem Windows a měl by mít udělená jenom požadovaná oprávnění. Informace o přístupovém seznamu publikace (PAL), který je relevantní pro určitý počet agentů, naleznete v tématu Zabezpečení vydavatele.

Poznámka:

Řízení uživatelských účtů (UAC) v některých operačních systémech Windows může zabránit administrativnímu přístupu ke sdílení snímku. Proto musíte explicitně udělit oprávnění ke sdílení snímků účtům systému Windows, které používají Agent snímků, Distribuční agent a Sloučovací agent. Musíte to udělat i v případě, že účty Windows jsou členy skupiny Administrators. Další informace najdete v tématu Zabezpečení složky snímků.

Agenta Povolení
Agent snímků Účet Systému Windows, pod kterým se agent spouští, se používá při připojení k distributoru. Tento účet musí:

-Minimálně musíte být členem pevné databázové role db_owner v distribuční databázi.

-Mít oprávnění ke sdílené složce snímků ke čtení, zápisu a úpravě.



Všimněte si, že účet, který se používá pro připojení k publisheru, musí být minimálně členem db_owner pevné databázové role v databázi publikace.
Agent pro čtení logu Účet Systému Windows, pod kterým se agent spouští, se používá při připojení k distributoru. Tento účet musí být minimálně členem db_owner pevné databázové role v distribuční databázi.

Účet, který se používá pro připojení k publisheru, musí být minimálně členem db_owner pevné databázové role v databázi publikace.

Při výběru možností sync_type jako je pouze podpora replikace, inicializace pomocí zálohování nebo inicializace z lsn, musí agent čtečky protokolů běžet po spuštění sp_addsubscription, aby se skripty nastavení zapsaly do distribuční databáze. Agent čtenáře protokolu musí být spuštěný pod účtem, který je členem pevné role serveru správce systému . Pokud je možnost sync_type nastavená na Možnost Automaticky, nevyžadují se žádné speciální akce agenta čtenáře protokolů.
Distribuční agent pro push předplatné Účet Systému Windows, pod kterým se agent spouští, se používá při připojení k distributoru. Tento účet musí:

-Minimálně členem db_owner pevné databázové role v distribuční databázi.

- Být členem PAL.

-Mít oprávnění ke čtení sdílené složky snímků.

-Mít oprávnění ke čtení v instalačním adresáři zprostředkovatele OLE DB pro odběratele, pokud je předplatné určeno pro jiného odběratele než SQL Server.

-Při replikaci LOB dat musí mít agent distribuce oprávnění k zápisu do replikační složky C:\Program Files\Microsoft SQL Server\XX\COM, kde XX představuje ID instance.



Mějte na paměti, že účet, který se používá pro připojení k odběrateli, musí být minimálně členem db_owner pevné databázové role v databázi předplatného nebo musí mít ekvivalentní oprávnění, pokud je předplatné pro předplatitele jiného než SQL Serveru.

Všimněte si také, že při použití -subscriptionstreams >= 2 v distribučním agentu musíte také udělit oprávnění Zobrazit stav serveru odběratelům k detekci zablokování.
Distribuční agent pro odběr typu pull Účet Systému Windows, pod kterým se agent spouští, se používá, když provádí připojení k odběrateli. Tento účet musí:

-Minimálně být členem db_owner pevné databázové role v databázi předplatného.

Účet, který se používá pro připojení k distributoru, musí:

-Minimálně členem db_owner pevné databázové role v distribuční databázi.

- Být členem PAL.

-Mít oprávnění ke čtení sdílené složky snímků.

-Při replikaci LOB dat musí mít agent distribuce oprávnění k zápisu do replikační složky C:\Program Files\Microsoft SQL Server\XX\COM, kde XX představuje ID instance.



Mějte na paměti, že při použití -subscriptionstreams >= 2 v distribučním agentu musíte také udělit oprávnění Zobrazit stav serveru odběratelům k detekci zablokování.
Agent pro synchronizaci push předplatného Účet Systému Windows, pod kterým se agent spouští, se používá při připojení k vydavateli a distributoru. Tento účet musí:

-Minimálně členem db_owner pevné databázové role v distribuční databázi.

- Být členem PAL.

-Být přihlášením spojeným s uživatelem, který má oprávnění ke čtení a zápisu v databázi publikací.

-Mít oprávnění ke čtení sdílené složky snímků.



Mějte na paměti, že účet použitý pro připojení k odběrateli musí být minimálně členem db_owner pevné databázové role v databázi předplatného.
Agent slučování pro přetahované předplatné Účet Systému Windows, pod kterým se agent spouští, se používá, když provádí připojení k odběrateli. Tento účet musí být alespoň členem pevné role databáze db_owner v předplatitelské databázi. Účet, který se používá pro připojení k vydavateli a distributoru, musí:

- Být členem PAL.

-Přihlášení spojené s uživatelem s oprávněním k čtení a zápisu v databázi publikací.

-Jedná se o přihlášení spojené s uživatelem v distribuční databázi. Uživatel může být uživatel typu host .

-Mít oprávnění ke čtení sdílené složky snímků.
Agent pro čtení fronty Účet Systému Windows, pod kterým se agent spouští, se používá při připojení k distributoru. Tento účet musí být minimálně členem db_owner pevné databázové role v distribuční databázi.

Účet, který se používá pro připojení k publisheru, musí být minimálně členem db_owner pevné databázové role v databázi publikace.

Účet, který se používá pro připojení k odběrateli, musí být minimálně členem db_owner pevné databázové role v databázi předplatného.

Zabezpečení agenta v rámci agenta SQL Serveru

Když konfigurujete replikaci pomocí aplikace SQL Server Management Studio, Transact-SQL procedur nebo RMO, pro každého agenta se ve výchozím nastavení vytvoří úloha agenta SQL Serveru. Agenti pak pracují v rámci kontextu pracovního kroku bez ohledu na to, zda běží nepřetržitě, plánovaně nebo na požádání. Tyto úlohy můžete zobrazit ve složce Úlohy v aplikaci SQL Server Management Studio. V následující tabulce jsou uvedeny názvy úloh.

Agenta Název úlohy
Agent snímků <Vydavatel-DatabázePublikací-Publikace-integer><><><>
Agent snímku pro oddíl slučovací publikace <
Agent pro čtení logu <Vydavatel-DatabázePublikací-celé číslo><><>
Agent sloučení pro předplatné pull replikace <Vydavatel-Databáze publikací-Publikace-Předplatitel-Databáze předplatného-Celé číslo><><><><><>
Agent sloučení pro automatická předplatná <Vydavatel-DatabázePublikací-Publikace-Odběratel-celé číslo><><><><>
Distribuční agent pro odběry typu push <Vydavatel-DatabázePublikací-Publikace-Odběratel-celé číslo><><><><>
Distribuční agent pro pull odběry <Vydavatel-DatabázePublikací-Publikace-Odběratel-DatabázePředplatného-UID><><><><><>
Distribuční agent pro push předplatná pro předplatitele systémů jiných než SQL Server <Vydavatel-DatabázePublikací-Publikace-Odběratel-celé číslo><><><><>
Agent pro čtení fronty [<Distributor>].<celé číslo>

*U nabízených odběrů do publikací Oracle je <název úlohy Publisher-Publisher><> místo <Publisher-PublicationDatabase><>.

**Pokud chcete vyžádat odběry publikací Oracle, název úlohy je <Publisher-DistributionDatabase><> místo <Publisher-PublicationDatabase><>.

Při konfiguraci replikace zadáte účty, ve kterých se mají agenti spouštět. Všechny kroky úlohy však běží v kontextu zabezpečení proxy serveru; proto replikace provádí interně následující mapování účtů agenta, které zadáte:

  • Účet se nejprve mapuje na přihlašovací údaje pomocí příkazu Transact-SQL CREATE CREDENTIAL . Proxy servery agenta SQL Serveru používají přihlašovací údaje k ukládání informací o uživatelských účtech Windows.

  • Volání uložené procedury sp_add_proxy využívá přihlašovací údaje k vytvoření proxy.

Poznámka:

Tyto informace vám pomůžou pochopit, co je součástí spouštění agentů s příslušným kontextem zabezpečení. Neměli byste komunikovat přímo s přihlašovacími údaji nebo proxy servery, které byly vytvořeny.