Condividi tramite


Architettura di sicurezza per la sincronizzazione tramite il Web

Microsoft SQL Server consente un controllo granulare sulla configurazione della sicurezza della sincronizzazione Web. In questo articolo viene riportato un elenco completo dei componenti che possono essere inclusi in una configurazione di sincronizzazione tramite il Web e vengono fornite informazioni sulle connessioni tra i componenti. Se possibile, usare l'autenticazione di Windows.

Nella figura seguente sono illustrate tutte le possibili connessioni, anche se è possibile che alcune di esse non siano necessarie in determinate topologie. Una connessione a un server FTP, ad esempio, è necessaria solo se lo snapshot viene recapitato tramite FTP.

Componenti e connessioni nei componenti

Nella tabella seguente vengono descritti i componenti e le connessioni illustrati nella figura.

R. Utente di Windows utilizzato per l'esecuzione dell'agente di merge

Durante la sincronizzazione, l'agente di merge (A) viene avviato come Sottoscrittore. Il agente di merge può essere avviato da un passaggio SQL Server Agent processo o da un'applicazione personalizzata autonoma. Se il agente di merge viene avviato da un passaggio SQL Server Agent processo, il agente di merge viene eseguito nel contesto di un utente di Windows specificato. Se non si specifica un utente di Windows, il agente di merge viene eseguito nel contesto dell'account del servizio di Windows per SQL Server Agent.

Tipo di account Posizione in cui viene specificato l'account
Utente di Windows Transact-SQL: i parametri @job_login e @job_password di sp_addmergepullsubscription_agent.

RMO (Replication Management Objects): proprietà Login e Password per SynchronizationAgentProcessSecurity.
Account del servizio Windows per SQL Server Agent Gestione configurazione SQL Server
Applicazione autonoma L'agente di merge viene eseguito nel contesto dell'utente di Windows che esegue l'applicazione.

B. Connessione al Sottoscrittore

Il agente di merge si connette al Sottoscrittore usando l'autenticazione di Windows o l'autenticazione di SQL Server. L'utente di Windows o SQL Server account di accesso specificato deve essere associato a un utente del database membro del ruolo predefinito del database dbowner nel database di sottoscrizione.

Nota

L'autenticazione di Windows viene sempre usata quando il agente di merge viene avviato da un processo SQL Server Agent. L'autenticazione di Windows viene usata anche quando l'agente di merge viene avviata a livello di codice, a meno che non venga specificata in modo esplicito l'autenticazione di SQL Server.

Tipo di autenticazione Posizione in cui viene specificata l'autenticazione
Autenticazione di Windows. L'agente di merge esegue le connessioni nel contesto dell'utente di Windows specificato per l'agente di merge (A).
SQL Server l'autenticazione viene usata solo se si specifica quanto segue:

RMO: un valore di Standard per SubscriberSecurityMode.

agente di merge riga di comando: valore 0 per SubscriberSecurityMode.
RMO: SubscriberLogin e SubscriberPassword.

Riga di comando dell'agente di merge: -SubscriberLogin e -SubscriberLogin.

C. Connessione a un server proxy in uscita

Specificare un utente di Windows per questa connessione solo se è presente un server proxy in uscita che limita l'accesso alla rete interna del Sottoscrittore.

Tipo di autenticazione Posizione in cui viene specificata l'autenticazione
Autenticazione di Windows RMO: InternetProxyLogin e InternetProxyPassword con InternetProxyServer.

Riga di comando dell'agente di merge: -InternetProxyLogin e -InternetProxyPassword con -InternetProxyServer.

D. Connessione a IIS

Dopo la connessione al Sottoscrittore e l'estrazione di eventuali modifiche dal database di sottoscrizione, il agente di merge effettua una richiesta HTTPS per Microsoft Internet Information Services (IIS) e carica le modifiche dei dati come messaggio XML. L'agente di merge deve disporre delle autorizzazioni di accesso a IIS.

Tipo di autenticazione Posizione in cui viene specificata l'autenticazione
L'autenticazione di base viene utilizzata se si specifica uno dei valori seguenti:

Transact-SQL: valore 0 per il parametro @internet_security_mode di sp_addmergepullsubscription_agent.

RMO: un valore di Standard per InternetSecurityMode.

agente di merge riga di comando: valore 0 per -InternetSecurityMode.
Transact-SQL: i parametri @internet_login e @internet_password di sp_addmergepullsubscription_agent.

RMO: InternetLogin e InternetPassword.

Riga di comando dell'agente di merge: -InternetLogin e -InternetPassword.
L'autenticazione integrata* viene usata se viene specificata una delle opzioni seguenti:

Transact-SQL: valore 1 per il parametro @internet_security_mode di sp_addmergepullsubscription_agent.

RMO: un valore di Integrated per InternetSecurityMode.

agente di merge riga di comando: valore 1 per -InternetSecurityMode.
L'agente di merge esegue le connessioni nel contesto dell'utente di Windows specificato per l'agente di merge (A).

*L'autenticazione integrata può essere usata solo se tutti i computer si trovano nello stesso dominio o si trovano in più domini con relazioni di trust tra loro.

Nota

La delega è necessaria se si utilizza l'autenticazione integrata. Per le connessioni dal Sottoscrittore a IIS è consigliabile utilizzare l'autenticazione di base e SSL.

E. Connessione al server di pubblicazione

I componenti replica di SQL Server Listener e Merge Replication Reconciler sono ospitati nel computer che esegue IIS. Questi componenti eseguono le operazioni seguenti:

  • Prelievo della richiesta HTTPS descritta nella sezione "D. Connessione a IIS".

  • Esecuzione di una connessione SQL al database di pubblicazione e applicazione delle modifiche caricate nel database di pubblicazione.

  • Estrazione delle modifiche scaricate e invio di una risposta HTTPS all'agente di merge.

Il riconciliatore della replica di tipo merge si connette al server di pubblicazione usando l'autenticazione di Windows o SQL Server l'autenticazione. L'utente di Windows o SQL Server account di accesso specificato deve essere conforme ai requisiti seguenti:

Tipo di autenticazione Posizione in cui viene specificata l'autenticazione
L'autenticazione di Windows viene utilizzata se si specifica uno dei valori seguenti:

Transact-SQL: valore 1 per il parametro @publisher_security_mode di sp_addmergepullsubscription_agent.

RMO: un valore di Integrated per PublisherSecurityMode.

agente di merge riga di comando: valore 1 per -PublisherSecurityMode.
L'agente di merge esegue le connessioni al server di pubblicazione nel contesto dell'utente di Windows specificato per la connessione a IIS (D). Se il server di pubblicazione e IIS si trovano in computer differenti e viene utilizzata l'autenticazione integrata per la connessione (D), è necessario abilitare la delega Kerberos nel computer che esegue IIS. Per ulteriori informazioni, vedere la documentazione di Windows.
SQL Server l'autenticazione viene usata se viene specificata una delle opzioni seguenti:

Transact-SQL: valore 0 per il parametro @publisher_security_mode di sp_addmergepullsubscription_agent.

RMO: un valore di Standard per PublisherSecurityMode.

agente di merge riga di comando: valore 0 per -PublisherSecurityMode.
Transact-SQL: i parametri @publisher_login e @publisher_password di sp_addmergepullsubscription_agent.

RMO: PublisherLogin e PublisherPassword.

Riga di comando dell'agente di merge: -PublisherLogin e -PublisherPassword.

F. Connessione al server di distribuzione

Anche Riconciliatore replica di tipo merge (Merge Replication Reconciler) ospitato nel computer che esegue IIS effettua connessioni al server di distribuzione. Il riconciliatore replica di tipo merge si connette al server di distribuzione usando l'autenticazione di Windows o l'autenticazione di SQL Server. L'utente di Windows o SQL Server account di accesso specificato deve essere conforme ai requisiti seguenti:

  • Trovarsi nell'elenco di accesso alla pubblicazione. Per altre informazioni, vedere Proteggere il server di pubblicazione.

  • Essere associato a un utente di database nel database di distribuzione. L'utente può essere l'utente Guest.

La condivisione snapshot si trova generalmente nel server di distribuzione. Per ulteriori informazioni sulle condivisioni snapshot, vedere la sezione "H. Accesso alla condivisione snapshot", più avanti in questo argomento.

Tipo di autenticazione Posizione in cui viene specificata l'autenticazione
L'autenticazione di Windows viene utilizzata se si specifica uno dei valori seguenti:

Transact-SQL: valore 1 per il parametro @distributor_security_mode di sp_addmergepullsubscription_agent.

RMO: un valore di Integrated per DistributorSecurityMode.

agente di merge riga di comando: valore 1 per -DistributorSecurityMode.
L'agente di merge esegue le connessioni al server di distribuzione nel contesto dell'utente di Windows specificato per la connessione a IIS (D). Se il server di distribuzione e IIS si trovano in computer differenti e viene utilizzata l'autenticazione integrata per la connessione (D), è necessario abilitare la delega Kerberos nel computer che esegue IIS. Per ulteriori informazioni, vedere la documentazione di Windows.
SQL Server l'autenticazione viene usata se viene specificata una delle opzioni seguenti:

Transact-SQL: valore 0 per il parametro @distributor_security_mode di sp_addmergepullsubscription_agent.

RMO: un valore di Standard per DistributorSecurityMode.

agente di merge riga di comando: valore 0 per -DistributorSecurityMode.
Transact-SQL: i parametri @distributor_login e @distributor_password di sp_addmergepullsubscription_agent.

RMO: DistributorLogin e DistributorPassword

Riga di comando dell'agente di merge: -DistributorLogin e -DistributorPassword.

G. Connessione a un server FTP

Specificare un utente di Windows per questa connessione solo se si eseguirà il download dei file di snapshot da un server FTP, anziché da un percorso UNC, al computer che esegue IIS prima dell'applicazione dello snapshot al Sottoscrittore. Per altre informazioni, vedere Trasferire snapshot tramite FTP.

Tipo di autenticazione Posizione in cui viene specificata l'autenticazione
Autenticazione di Windows Transact-SQL: i parametri @ftp_login e @ftp_password di sp_addmergepublication.

RMO: FtpLogin e FtpPassword.

H. Accesso alla condivisione snapshot

Alla condivisione snapshot è possibile accedere tramite Riconciliatore replica di tipo merge (Merge Replication Reconciler) ospitato nel computer che esegue IIS.

Tipo di autenticazione Posizione in cui viene specificata l'autenticazione
Autenticazione di Windows L'agente di merge accede alla condivisione snapshot nel contesto dell'utente di Windows specificato per la connessione a IIS (D). Se la condivisione snapshot e IIS si trovano in computer differenti e viene utilizzata l'autenticazione integrata per la connessione (D), è necessario abilitare la delega Kerberos nel computer che esegue IIS. Per ulteriori informazioni, vedere la documentazione di Windows.

I. Account del pool di applicazioni per IIS

Questo account viene usato per avviare il processo di W3wp.exe nel computer che esegue IIS per Windows Server 2003 o il processo di Dllhost.exe in Windows 2000. Questi processi ospitano applicazioni nel computer che esegue IIS, ad esempio il listener di replica di SQL Server e il riconciliatore della replica di tipo merge. Questo account deve disporre delle autorizzazioni di lettura ed esecuzione sulle seguenti DLL di replica nel computer che esegue IIS:

  • Replisapi

  • Replrec

  • Replprov

  • Msgprox

  • Xmlsub

L'account deve inoltre essere membro del gruppo IIS_WPG. Per altre informazioni, vedere la sezione "Impostazione delle autorizzazioni per il listener replica di SQL Server" in Configurare IIS per la sincronizzazione Web.

Tipo di account Posizione in cui viene specificato l'account
Qualsiasi utente di Windows che dispone delle autorizzazioni necessarie. Gestione Internet Information Services (IIS).

Vedere anche

Configurare la sincronizzazione Web
Replication Merge Agent