Architettura di sicurezza per la sincronizzazione tramite il WebSecurity Architecture for Web Synchronization

MicrosoftMicrosoft SQL ServerSQL Server enables fine-grained control over the configuration of Web synchronization security. enables fine-grained control over the configuration of Web synchronization security. 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.This topic provides a comprehensive list of all the components that can be included in a Web synchronization configuration and information about the connections that are made between components. Se possibile, usare l'autenticazione di Windows.When possible, use Windows Authentication.

Nella figura seguente sono illustrate tutte le possibili connessioni, anche se è possibile che alcune di esse non siano necessarie in determinate topologie.The following illustration shows all the possible connections, but some connections might not be required in a particular topology. Una connessione a un server FTP, ad esempio, è necessaria solo se lo snapshot viene recapitato tramite FTP.For example, a connection to an FTP server is required only if the snapshot is delivered by using FTP.

Componenti e connessioni nella sincronizzazione WebComponents and connections in Web synchronization

Nella tabella seguente vengono descritti i componenti e le connessioni illustrati nella figura.The following tables describe the components and connections that are shown in the illustration.

A.A. Utente di Windows utilizzato per l'esecuzione dell'agente di mergeWindows User Under Which the Merge Agent Runs

Durante la sincronizzazione, l'agente di merge (A) viene avviato come Sottoscrittore.During synchronization, the Merge Agent (A) is started at the Subscriber. L'agente di merge può essere avviato da un passaggio del processo di SQL ServerSQL Server Agent o da un'applicazione personalizzata autonoma.The Merge Agent can be started from a SQL ServerSQL Server Agent job step or from a stand-alone custom application. Se viene avviato da un passaggio del processo di SQL ServerSQL Server Agent, l'agente di merge verrà eseguito nel contesto di un utente di Windows specificato.If the Merge Agent is started from a SQL ServerSQL Server Agent job step, the Merge Agent runs under the context of a Windows user that you specify. Se non viene specificato un utente di Windows, l'agente di merge verrà eseguito nel contesto dell'account di servizio di Windows per SQL ServerSQL Server Agent.If you do not specify a Windows user, the Merge Agent runs under the context of the Windows service account for SQL ServerSQL Server Agent.

Tipo di accountType of account Posizione in cui viene specificato l'accountWhere the account is specified
Utente di WindowsWindows user Transact-SQLTransact-SQL: parametri @job_login e @job_password di [sp_addmergepullsubscription_agent](../../../relational-databases/system-stored-procedures/sp-addmergepullsubscription-agent-transact-sql.md).(../../../relational-databases/system-stored-procedures/sp-addmergepullsubscription-agent-transact-sql.md).

RMO (Replication Management Objects): proprietà Login e Password per SynchronizationAgentProcessSecurity.RMO (Replication Management Objects): the Login and Password properties for SynchronizationAgentProcessSecurity.
Account di servizio di Windows per SQL ServerSQL Server AgentWindows service account for SQL ServerSQL Server Agent Gestione configurazione SQL ServerSQL Server Configuration Manager
Applicazione autonomaStand-alone application L'agente di merge viene eseguito nel contesto dell'utente di Windows che esegue l'applicazione.The Merge Agent runs under the context of the Windows user that is running the application.

B.B. Connessione al SottoscrittoreConnection to the Subscriber

L'agente di merge si connette al Sottoscrittore utilizzando l'autenticazione di Windows o l'autenticazione di SQL ServerSQL Server .The Merge Agent connects to the Subscriber by using Windows Authentication or SQL ServerSQL Server Authentication. L'utente di Windows o l'account di accesso di SQL ServerSQL Server specificato deve essere associato a un utente di database che sia membro del ruolo predefinito del database dbowner nel database di sottoscrizione.The Windows user or SQL ServerSQL Server login that you specify must be associated with a database user that is a member of the dbowner fixed database role in the subscription database.

Nota

Quando l'agente di merge viene avviato da un processo di SQL ServerSQL Server Agent, viene sempre utilizzata l'autenticazione di Windows.Windows Authentication is always used when the Merge Agent is started from a SQL ServerSQL Server Agent job. L'autenticazione di Windows viene inoltre utilizzata quando l'agente di merge viene avviato a livello di programmazione, a meno che non venga specificata in modo esplicito l'autenticazione di SQL ServerSQL Server .Windows Authentication is also used when the Merge Agent is started programmatically unless SQL ServerSQL Server Authentication is explicitly specified.

Tipo di autenticazioneType of authentication Posizione in cui viene specificata l'autenticazioneWhere the authentication is specified
- Autenticazione di Windows.- Windows Authentication. L'agente di merge esegue le connessioni nel contesto dell'utente di Windows specificato per l'agente di merge (A).The Merge Agent makes connections under the context of the Windows user that is specified for the Merge Agent (A).
L'autenticazione di SQL ServerSQL Server viene utilizzata solo se si specifica quanto segue: Authentication is used only if the following is specified:

- RMO: valore Standard per SubscriberSecurityMode.- RMO: a value of Standard for SubscriberSecurityMode.
- Riga di comando dell'agente di merge: valore 0 per SubscriberSecurityMode.- Merge Agent command line: a value of 0 for SubscriberSecurityMode.
RMO: SubscriberLogin e SubscriberPassword.RMO: SubscriberLogin and SubscriberPassword.

Riga di comando dell'agente di merge: -SubscriberLogin e -SubscriberLogin.Merge Agent command line: -SubscriberLogin and -SubscriberLogin.

C.C. Connessione a un server proxy in uscitaConnection to an Outgoing Proxy Server

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.Specify a Windows user for this connection only if there is an outgoing proxy server that restricts access to the internal network of the Subscriber.

Tipo di autenticazioneType of authentication Posizione in cui viene specificata l'autenticazioneWhere the authentication is specified
Autenticazione di WindowsWindows Authentication RMO: InternetProxyLogin e InternetProxyPassword con InternetProxyServer.RMO: InternetProxyLogin and InternetProxyPassword with InternetProxyServer.

Riga di comando dell'agente di merge: -InternetProxyLogin e -InternetProxyPassword con -InternetProxyServer.Merge Agent command line: -InternetProxyLogin and -InternetProxyPassword with -InternetProxyServer.

D.D. Connessione a IISConnection to IIS

Dopo la connessione al Sottoscrittore e l'estrazione delle modifiche dal database di sottoscrizione, l'agente di merge esegue una richiesta HTTPS a MicrosoftMicrosoft Internet Information Services (IIS) e carica le modifiche ai dati come messaggio XML.After connecting to the Subscriber and extracting any changes from the subscription database, the Merge Agent makes an HTTPS request to MicrosoftMicrosoft Internet Information Services (IIS) and uploads data changes as an XML message. L'agente di merge deve disporre delle autorizzazioni di accesso a IIS.The Merge Agent must have logon permissions to IIS.

Tipo di autenticazioneType of authentication Posizione in cui viene specificata l'autenticazioneWhere the authentication is specified
L'autenticazione di base viene utilizzata se si specifica uno dei valori seguenti:Basic Authentication is used if one of the following is specified:

- Transact-SQLTransact-SQL: valore 0 per il parametro @internet_security_mode di sp_addmergepullsubscription_agent. - Transact-SQLTransact-SQL: a value of 0 for the @internet_security_mode parameter of sp_addmergepullsubscription_agent.
- RMO: valore Standard per InternetSecurityMode.- RMO: a value of Standard for InternetSecurityMode.
- Riga di comando dell'agente di merge: valore 0 per -InternetSecurityMode.- Merge Agent command line: a value of 0 for -InternetSecurityMode.
Transact-SQLTransact-SQL: parametri @internet_login e @internet_password di [sp_addmergepullsubscription_agent](../../../relational-databases/system-stored-procedures/sp-addmergepullsubscription-agent-transact-sql.md).(../../../relational-databases/system-stored-procedures/sp-addmergepullsubscription-agent-transact-sql.md).

RMO: InternetLogin e InternetPassword.RMO: InternetLogin and InternetPassword.

Riga di comando dell'agente di merge: -InternetLogin e -InternetPassword.Merge Agent command line: -InternetLogin and -InternetPassword.
L'autenticazione integrata1 viene utilizzata se si specifica uno dei valori seguenti:Integrated Authentication1 is used if one of the following is specified:

- Transact-SQLTransact-SQL: valore 1 per il parametro @internet_security_mode di sp_addmergepullsubscription_agent. - Transact-SQLTransact-SQL: a value of 1 for the @internet_security_mode parameter of sp_addmergepullsubscription_agent.
- RMO: valore Integrated per InternetSecurityMode.- RMO: a value of Integrated for InternetSecurityMode.
- Riga di comando dell'agente di merge: valore 1 per -InternetSecurityMode.- Merge Agent command line: a value of 1 for -InternetSecurityMode.
L'agente di merge esegue le connessioni nel contesto dell'utente di Windows specificato per l'agente di merge (A).The Merge Agent makes connections under the context of the Windows user that is specified for the Merge Agent (A).

1 L'autenticazione integrata può essere utilizzata solo se tutti i computer si trovano nello stesso dominio oppure in più domini con relazioni di trust reciproche.1 Integrated authentication can be used only if all computers are in the same domain or are in multiple domains that have trust relationships with each other.

Nota

La delega è necessaria se si utilizza l'autenticazione integrata.Delegation is required if you use Integrated Authentication. Per le connessioni dal Sottoscrittore a IIS è consigliabile utilizzare l'autenticazione di base e SSL.We recommend that you use Basic Authentication and SSL for connections from the Subscriber to IIS.

E.E. Connessione al server di pubblicazioneConnection to the Publisher

I componenti Listener per la replica e Riconciliatore replica di tipo merge (Merge Replication Reconciler) di SQL ServerSQL Server sono ospitati nel computer che esegue IIS.The SQL ServerSQL Server Replication Listener and Merge Replication Reconciler components are hosted on the computer that is running IIS. Questi componenti eseguono le operazioni seguenti:These components perform the following actions:

  • Prelievo della richiesta HTTPS descritta nella sezione "D.Pick up the HTTPS request that is described in the section "D. Connessione a IIS".Connection to IIS".

  • Esecuzione di una connessione SQL al database di pubblicazione e applicazione delle modifiche caricate nel database di pubblicazione.Make an SQL connection to the publication database and apply the uploaded changes to the publication database.

  • Estrazione delle modifiche scaricate e invio di una risposta HTTPS all'agente di merge.Extract the downloaded changes and send an HTTPS response back to the Merge Agent.

    Riconciliatore replica di tipo merge (Merge Replication Reconciler) si connette al server di pubblicazione mediante l'autenticazione di Windows o l'autenticazione di SQL ServerSQL Server .The Merge Replication Reconciler connects to the Publisher by using either Windows Authentication or SQL ServerSQL Server Authentication. L'utente di Windows o l'account di accesso di SQL ServerSQL Server specificato deve essere conforme alle regole seguenti:The Windows user or SQL ServerSQL Server login that you specify must comply with the following:

  • Trovarsi nell'elenco di accesso alla pubblicazione.Be in the publication access list (PAL). Per altre informazioni, vedere Proteggere il server di pubblicazione.For more information, see Secure the Publisher.

  • Essere associato a un utente nel database di pubblicazione.Be associated with a user in the publication database.

Tipo di autenticazioneType of authentication Posizione in cui viene specificata l'autenticazioneWhere the authentication is specified
L'autenticazione di Windows viene utilizzata se si specifica uno dei valori seguenti:Windows Authentication is used if one of the following is specified:

- Transact-SQLTransact-SQL: valore 1 per il parametro @publisher_security_mode di sp_addmergepullsubscription_agent. - Transact-SQLTransact-SQL: a value of 1 for the @publisher_security_mode parameter of sp_addmergepullsubscription_agent.
- RMO: valore Integrated per PublisherSecurityMode.- RMO: a value of Integrated for PublisherSecurityMode.
- Riga di comando dell'agente di merge: valore 1 per -PublisherSecurityMode.- Merge Agent command line: a value of 1 for -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).The Merge Agent makes connections to the Publisher under the context of the Windows user that is specified for the connection to 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.If the Publisher and IIS are on different computers and Integrated Authentication is used for the connection (D), you must enable Kerberos delegation on the computer that is running IIS. Per ulteriori informazioni, vedere la documentazione di Windows.For more information, see the Windows documentation.
L'autenticazione di SQL ServerSQL Server viene utilizzata se si specifica uno dei valori seguenti: Authentication is used if one of the following is specified:

- Transact-SQLTransact-SQL: valore 0 per il parametro @publisher_security_mode di sp_addmergepullsubscription_agent. - Transact-SQLTransact-SQL: a value of 0 for the @publisher_security_mode parameter of sp_addmergepullsubscription_agent.
- RMO: valore Standard per PublisherSecurityMode.- RMO: a value of Standard for PublisherSecurityMode.
- Riga di comando dell'agente di merge: valore 0 per -PublisherSecurityMode.- Merge Agent command line: a value of 0 for -PublisherSecurityMode.
Transact-SQLTransact-SQL: parametri @publisher_login e @publisher_password di [sp_addmergepullsubscription_agent](../../../relational-databases/system-stored-procedures/sp-addmergepullsubscription-agent-transact-sql.md).(../../../relational-databases/system-stored-procedures/sp-addmergepullsubscription-agent-transact-sql.md).

RMO: PublisherLogin e PublisherPassword.RMO: PublisherLogin and PublisherPassword.

Riga di comando dell'agente di merge: -PublisherLogin e -PublisherPassword.Merge Agent command line: -PublisherLogin and -PublisherPassword.

F.F. Connessione al server di distribuzioneConnection to the Distributor

Anche Riconciliatore replica di tipo merge (Merge Replication Reconciler) ospitato nel computer che esegue IIS effettua connessioni al server di distribuzione.The Merge Replication Reconciler that is hosted on the computer that is running IIS also makes connections to the Distributor. Per tali connessioni utilizza l'autenticazione di Windows o l'autenticazione di SQL ServerSQL Server .The Merge Replication Reconciler connects to the Distributor by using either Windows Authentication or SQL ServerSQL Server Authentication. L'utente di Windows o l'account di accesso di SQL ServerSQL Server specificato deve essere conforme alle regole seguenti:The Windows user or SQL ServerSQL Server login that you specify must comply with the following:

  • Trovarsi nell'elenco di accesso alla pubblicazione.Be in the publication access (PAL). Per altre informazioni, vedere Proteggere il server di pubblicazione.For more information, see Secure the Publisher.

  • Essere associato a un utente di database nel database di distribuzione.Be associated with a database user in the distribution database. L'utente può essere l'utente Guest .The user can be the Guest user.

    La condivisione snapshot si trova generalmente nel server di distribuzione.The snapshot share is typically on the Distributor. Per ulteriori informazioni sulle condivisioni snapshot, vedere la sezione "H.For more information about snapshot shares, see the section "H. Accesso alla condivisione snapshot", più avanti in questo argomento.Access to the snapshot share" later in this topic.

- Tipo di autenticazione- Type of authentication Posizione in cui viene specificata l'autenticazioneWhere the authentication is specified
L'autenticazione di Windows viene utilizzata se si specifica uno dei valori seguenti:Windows Authentication is used if one of the following is specified:

- Transact-SQLTransact-SQL: valore 1 per il parametro @distributor_security_mode di sp_addmergepullsubscription_agent. - Transact-SQLTransact-SQL: a value of 1 for the @distributor_security_mode parameter of sp_addmergepullsubscription_agent.
- RMO: valore Integrated per DistributorSecurityMode.- RMO: a value of Integrated for DistributorSecurityMode.
- Riga di comando dell'agente di merge: valore 1 per -DistributorSecurityMode.- Merge Agent command line: a value of 1 for -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).The Merge Agent makes connections to the Distributor under the context of the Windows user that is specified for the connection to 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.If the Distributor and IIS are on different computers and Integrated Authentication is used for the connection (D), you must enable Kerberos delegation on the computer that is running IIS. Per ulteriori informazioni, vedere la documentazione di Windows.For more information, see the Windows documentation.
L'autenticazione di SQL ServerSQL Server viene utilizzata se si specifica uno dei valori seguenti: Authentication is used if one of the following is specified:

- Transact-SQLTransact-SQL: valore 0 per il parametro @distributor_security_mode di sp_addmergepullsubscription_agent. - Transact-SQLTransact-SQL: a value of 0 for the @distributor_security_mode parameter of sp_addmergepullsubscription_agent.
- RMO: valore Standard per DistributorSecurityMode.- RMO: a value of Standard for DistributorSecurityMode.
- Riga di comando dell'agente di merge: valore 0 per -DistributorSecurityMode.- Merge Agent command line: a value of 0 for -DistributorSecurityMode.
Transact-SQLTransact-SQL: parametri @distributor_login e @distributor_password di [sp_addmergepullsubscription_agent](../../../relational-databases/system-stored-procedures/sp-addmergepullsubscription-agent-transact-sql.md).(../../../relational-databases/system-stored-procedures/sp-addmergepullsubscription-agent-transact-sql.md).

RMO: DistributorLogin e DistributorPasswordRMO: DistributorLogin and DistributorPassword

Riga di comando dell'agente di merge: -DistributorLogin e -DistributorPassword.Merge Agent command line: -DistributorLogin and -DistributorPassword.

G.G. Connessione a un server FTPConnection to an FTP Server

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.Specify a Windows user for this connection only if you will download snapshot files from an FTP server, instead of from a UNC location, to the computer that is running IIS before you apply the snapshot to the Subscriber. Per altre informazioni, vedere Trasferire snapshot tramite FTP.For more information, see Transfer Snapshots Through FTP.

Tipo di autenticazioneType of authentication Posizione in cui viene specificata l'autenticazioneWhere the authentication is specified
Autenticazione di WindowsWindows Authentication Transact-SQLTransact-SQL: parametri @ftp_login e @ftp_password di [sp_addmergepublication](../../../relational-databases/system-stored-procedures/sp-addmergepublication-transact-sql.md).(../../../relational-databases/system-stored-procedures/sp-addmergepublication-transact-sql.md).

RMO: FtpLogin e FtpPassword.RMO: FtpLogin and FtpPassword.

H.H. Accesso alla condivisione snapshotAccess to the Snapshot Share

Alla condivisione snapshot è possibile accedere tramite Riconciliatore replica di tipo merge (Merge Replication Reconciler) ospitato nel computer che esegue IIS.The snapshot share is accessed by the Merge Replication Reconciler that is hosted on the computer that is running IIS.

Tipo di autenticazioneType of authentication Posizione in cui viene specificata l'autenticazioneWhere the authentication is specified
Autenticazione di WindowsWindows Authentication L'agente di merge accede alla condivisione snapshot nel contesto dell'utente di Windows specificato per la connessione a IIS (D).The Merge Agent accesses the snapshot share under the context of the Windows user that is specified for the connection to 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.If the snapshot share and IIS are on different computers and Integrated Authentication is used for the connection (D), you must enable Kerberos delegation on the computer that is running IIS. Per ulteriori informazioni, vedere la documentazione di Windows.For more information, see the Windows documentation.

I.I. Account del pool di applicazioni per IISApplication Pool Account for IIS

Questo account viene utilizzato per avviare il processo W3wp.exe nel computer che esegue IIS per Windows Server 2003Windows Server 2003 o il processo Dllhost.exe in Windows 2000Windows 2000.This account is used to start the W3wp.exe process on the computer that is running IIS for Windows Server 2003Windows Server 2003 or the Dllhost.exe process on Windows 2000Windows 2000. Questi processi ospitano applicazioni nel computer che esegue IIS, ad esempio Listener per la replica di SQL ServerSQL Server e Riconciliatore replica di tipo merge (Merge Replication Reconciler).These processes host applications on the computer that is running IIS, such as the SQL ServerSQL Server Replication Listener and Merge Replication Reconciler. Questo account deve disporre delle autorizzazioni di lettura ed esecuzione sulle seguenti DLL di replica nel computer che esegue IIS:This account should have read and execute permissions on the following replication DLLs on the computer that is running IIS:

  • ReplisapiReplisapi

  • ReplrecReplrec

  • ReplprovReplprov

  • MsgproxMsgprox

  • XmlsubXmlsub

    L'account deve inoltre essere membro del gruppo IIS_WPG.The account should also be part of IIS_WPG group. Per altre informazioni, vedere la sezione "Impostazione delle autorizzazioni per Listener per la replica di SQL ServerSQL Server" in Configurazione di IIS per la sincronizzazione Web.For more information, see the section "Setting Permissions for the SQL ServerSQL Server Replication Listener" in Configure IIS for Web Synchronization.

Tipo di accountType of account Posizione in cui viene specificato l'accountWhere the account is specified
Qualsiasi utente di Windows che dispone delle autorizzazioni necessarie.Any Windows user that has the required permissions. Gestione Internet Information Services (IIS).Internet Information Services (IIS) Manager.

Vedere ancheSee Also

Configurare la sincronizzazione Web Configure Web Synchronization
Replication Merge Agent Replication Merge Agent