웹 동기화를 위한 보안 아키텍처Security 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. 이 항목에서는 웹 동기화 구성에 포함할 수 있는 포괄적인 구성 요소 목록과 구성 요소 간 연결에 대한 정보를 제공합니다.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. 가능하면 Windows 인증을 사용하세요.When possible, use Windows Authentication.

다음 그림에서는 가능한 모든 연결을 보여 주지만 특정 토폴로지에서는 일부 연결이 필요하지 않을 수 있습니다.The following illustration shows all the possible connections, but some connections might not be required in a particular topology. 예를 들어 FTP 서버 연결은 FTP를 사용하여 스냅숏을 배달하는 경우에만 필요합니다.For example, a connection to an FTP server is required only if the snapshot is delivered by using FTP.

웹 동기화의 구성 요소 및 연결Components and connections in Web synchronization

다음 표에서는 그림에 표시된 구성 요소와 연결에 대해 설명합니다.The following tables describe the components and connections that are shown in the illustration.

1.A. 병합 에이전트를 실행하는 Windows 사용자Windows User Under Which the Merge Agent Runs

동기화를 수행하는 동안 구독자에서 병합 에이전트(A)가 시작됩니다.During synchronization, the Merge Agent (A) is started at the Subscriber. 병합 에이전트는 SQL ServerSQL Server 에이전트 작업 단계에서 시작하거나 독립 실행형 사용자 지정 응용 프로그램에서 시작할 수 있습니다.The Merge Agent can be started from a SQL ServerSQL Server Agent job step or from a stand-alone custom application. 병합 에이전트를 SQL ServerSQL Server 에이전트 작업 단계에서 시작하면 사용자가 지정하는 Windows 사용자의 컨텍스트에서 병합 에이전트가 실행됩니다.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. Windows 사용자를 지정하지 않으면 SQL ServerSQL Server 에이전트의 Windows 서비스 계정 컨텍스트에서 병합 에이전트가 실행됩니다.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.

계정 유형Type of account 계정 지정 위치Where the account is specified
Windows 사용자Windows user Transact-SQLTransact-SQL: @job_login@job_password 및 [@job_password]<span data-ttu-id="4725d-118">(../../../relational-databases/system-stored-procedures/sp-addmergepullsubscription-agent-transact-sql.md)매개 변수(../../../relational-databases/system-stored-procedures/sp-addmergepullsubscription-agent-transact-sql.md).

RMO(복제 관리 개체): SynchronizationAgentProcessSecurityLoginPassword 속성RMO (Replication Management Objects): the Login and Password properties for SynchronizationAgentProcessSecurity.
SQL ServerSQL Server 에이전트의 Windows 서비스 계정Windows service account for SQL ServerSQL Server Agent SQL ServerSQL Server 구성 관리자 Configuration Manager
독립 실행형 응용 프로그램Stand-alone application 응용 프로그램을 실행하는 Windows 사용자의 컨텍스트에서 병합 에이전트가 실행됩니다.The Merge Agent runs under the context of the Windows user that is running the application.

2.B. 구독자 연결Connection to the Subscriber

병합 에이전트는 Windows 인증 또는 SQL ServerSQL Server 인증을 사용하여 구독자에 연결합니다.The Merge Agent connects to the Subscriber by using Windows Authentication or SQL ServerSQL Server Authentication. 지정하는 Windows 사용자 또는 SQL ServerSQL Server 로그인은 구독 데이터베이스에서 dbowner 고정 데이터베이스 역할의 멤버인 데이터베이스 사용자와 연결되어야 합니다.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.

참고

병합 에이전트가 SQL ServerSQL Server 에이전트 작업에서 시작되는 경우 언제나 Windows 인증이 사용됩니다.Windows Authentication is always used when the Merge Agent is started from a SQL ServerSQL Server Agent job. 병합 에이전트가 프로그래밍 방식으로 시작되는 경우에도 SQL ServerSQL Server 인증을 명시적으로 지정하지 않으면 Windows 인증이 사용됩니다.Windows Authentication is also used when the Merge Agent is started programmatically unless SQL ServerSQL Server Authentication is explicitly specified.

인증 유형Type of authentication 인증 지정 위치Where the authentication is specified
- Windows 인증- Windows Authentication. 병합 에이전트(A)에 대해 지정된 Windows 사용자의 컨텍스트에서 병합 에이전트가 연결을 설정합니다.The Merge Agent makes connections under the context of the Windows user that is specified for the Merge Agent (A).
다음이 지정된 경우에만 SQL ServerSQL Server 인증이 사용됩니다. Authentication is used only if the following is specified:

- RMO: SubscriberSecurityModeStandard- RMO: a value of Standard for SubscriberSecurityMode.
- 병합 에이전트 명령줄: SubscriberSecurityMode에 대해 값 0- Merge Agent command line: a value of 0 for SubscriberSecurityMode.
RMO: SubscriberLoginSubscriberPasswordRMO: SubscriberLogin and SubscriberPassword.

병합 에이전트 명령줄: -SubscriberLogin-SubscriberLoginMerge Agent command line: -SubscriberLogin and -SubscriberLogin.

3.C. 보내는 프록시 서버 연결Connection to an Outgoing Proxy Server

구독자의 내부 네트워크에 대한 액세스를 제한하는 보내는 프록시 서버가 있는 경우에만 이 연결에 대해 Windows 사용자를 지정합니다.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.

인증 유형Type of authentication 인증 지정 위치Where the authentication is specified
Windows 인증Windows Authentication RMO: InternetProxyLogin, InternetProxyPasswordInternetProxyServerRMO: InternetProxyLogin and InternetProxyPassword with InternetProxyServer.

병합 에이전트 명령줄: -InternetProxyServer-InternetProxyLogin-InternetProxyPasswordMerge Agent command line: -InternetProxyLogin and -InternetProxyPassword with -InternetProxyServer.

4.D. IIS 연결Connection to IIS

병합 에이전트는 구독자에 연결하고 구독 데이터베이스에서 변경 내용을 추출한 다음 MicrosoftMicrosoft 인터넷 정보 서비스(IIS)에 HTTPS 요청을 보내고 데이터 변경 내용을 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. 병합 에이전트에는 IIS에 대한 로그온 권한이 있어야 합니다.The Merge Agent must have logon permissions to IIS.

인증 유형Type of authentication 인증 지정 위치Where the authentication is specified
다음 중 하나가 지정된 경우에는 기본 인증이 사용됩니다.Basic Authentication is used if one of the following is specified:

- Transact-SQLTransact-SQL: SubscriberSecurityMode@internet_security_mode 매개 변수에 대해 @job_password매개 변수 - Transact-SQLTransact-SQL: a value of 0 for the @internet_security_mode parameter of sp_addmergepullsubscription_agent.
- RMO: InternetSecurityModeStandard- RMO: a value of Standard for InternetSecurityMode.
- 병합 에이전트 명령줄: -InternetSecurityMode에 대해 값 0- Merge Agent command line: a value of 0 for -InternetSecurityMode.
Transact-SQLTransact-SQL: @internet_login@internet_password 및 [@job_password]<span data-ttu-id="4725d-157">(../../../relational-databases/system-stored-procedures/sp-addmergepullsubscription-agent-transact-sql.md)매개 변수(../../../relational-databases/system-stored-procedures/sp-addmergepullsubscription-agent-transact-sql.md).

RMO: InternetLoginInternetPasswordRMO: InternetLogin and InternetPassword.

병합 에이전트 명령줄: -InternetLogin-InternetPasswordMerge Agent command line: -InternetLogin and -InternetPassword.
다음 중 하나가 지정된 경우 통합 인증1 이 사용됩니다.Integrated Authentication1 is used if one of the following is specified:

- Transact-SQLTransact-SQL: 1@internet_security_mode 매개 변수에 대해 @job_password매개 변수 - Transact-SQLTransact-SQL: a value of 1 for the @internet_security_mode parameter of sp_addmergepullsubscription_agent.
- RMO: InternetSecurityModeIntegrated- RMO: a value of Integrated for InternetSecurityMode.
- 병합 에이전트 명령줄: -InternetSecurityMode에 대해 값 1- Merge Agent command line: a value of 1 for -InternetSecurityMode.
병합 에이전트(A)에 대해 지정된 Windows 사용자의 컨텍스트에서 병합 에이전트가 연결을 설정합니다.The Merge Agent makes connections under the context of the Windows user that is specified for the Merge Agent (A).

1 통합 인증은 모든 컴퓨터가 같은 도메인에 있는 경우나 여러 도메인에 있더라도 서로 트러스트 관계에 있는 경우에만 사용할 수 있습니다.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.

참고

통합 인증을 사용하는 경우에는 위임이 필요합니다.Delegation is required if you use Integrated Authentication. 구독자에서 IIS로 연결하는 경우에는 기본 인증 및 SSL을 사용하는 것이 좋습니다.We recommend that you use Basic Authentication and SSL for connections from the Subscriber to IIS.

5.E. 게시자 연결Connection to the Publisher

SQL ServerSQL Server 복제 수신기 및 병합 복제 조정자 구성 요소는 IIS를 실행하는 컴퓨터에 호스팅됩니다.The SQL ServerSQL Server Replication Listener and Merge Replication Reconciler components are hosted on the computer that is running IIS. 이러한 구성 요소는 다음 동작을 수행합니다.These components perform the following actions:

  • "4. IIS 연결" 섹션에서 설명한 HTTPS 요청을Pick up the HTTPS request that is described in the section "D. 수신합니다.Connection to IIS".

  • 게시 데이터베이스에 대해 SQL 연결을 설정하고 업로드한 변경 내용을 게시 데이터베이스에 적용합니다.Make an SQL connection to the publication database and apply the uploaded changes to the publication database.

  • 다운로드한 변경 내용을 추출한 다음 병합 에이전트에 HTTPS 응답을 보냅니다.Extract the downloaded changes and send an HTTPS response back to the Merge Agent.

    병합 복제 조정자는 Windows 인증 또는 SQL ServerSQL Server 인증 중 하나를 사용하여 게시자에 연결합니다.The Merge Replication Reconciler connects to the Publisher by using either Windows Authentication or SQL ServerSQL Server Authentication. 사용자가 지정하는 Windows 사용자 또는 SQL ServerSQL Server 로그인은 다음 사항을 따라야 합니다.The Windows user or SQL ServerSQL Server login that you specify must comply with the following:

  • PAL(게시 액세스 목록)에 있어야 합니다.Be in the publication access list (PAL). 자세한 내용은 게시자 보안 설정을 참조하세요.For more information, see Secure the Publisher.

  • 게시 데이터베이스의 사용자와 연결되어야 합니다.Be associated with a user in the publication database.

인증 유형Type of authentication 인증 지정 위치Where the authentication is specified
Windows 인증은 다음 중 하나가 지정된 경우 사용됩니다.Windows Authentication is used if one of the following is specified:

- Transact-SQLTransact-SQL: 1@publisher_security_mode 매개 변수에 대해 @job_password매개 변수 - Transact-SQLTransact-SQL: a value of 1 for the @publisher_security_mode parameter of sp_addmergepullsubscription_agent.
- RMO: PublisherSecurityModeIntegrated- RMO: a value of Integrated for PublisherSecurityMode.
- 병합 에이전트 명령줄: -PublisherSecurityMode에 대해 1- Merge Agent command line: a value of 1 for -PublisherSecurityMode.
IIS 연결(D)에 대해 지정된 Windows 사용자의 컨텍스트에서 병합 에이전트가 게시자에 연결합니다.The Merge Agent makes connections to the Publisher under the context of the Windows user that is specified for the connection to IIS (D). 게시자와 IIS가 서로 다른 컴퓨터에 있고 연결(D)에 통합 인증을 사용하는 경우 IIS를 실행하는 컴퓨터에서 Kerberos 위임을 사용해야 합니다.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. 자세한 내용은 Windows 설명서를 참조하세요.For more information, see the Windows documentation.
SQL ServerSQL Server 인증은 다음 중 하나가 지정된 경우 사용됩니다. Authentication is used if one of the following is specified:

- Transact-SQLTransact-SQL: SubscriberSecurityMode@publisher_security_mode 매개 변수에 대해 @job_password매개 변수 - Transact-SQLTransact-SQL: a value of 0 for the @publisher_security_mode parameter of sp_addmergepullsubscription_agent.
- RMO: PublisherSecurityModeStandard- RMO: a value of Standard for PublisherSecurityMode.
- 병합 에이전트 명령줄: -PublisherSecurityMode에 대해 0- Merge Agent command line: a value of 0 for -PublisherSecurityMode.
Transact-SQLTransact-SQL: @publisher_login@publisher_password 및 [@job_password]<span data-ttu-id="4725d-194">(../../../relational-databases/system-stored-procedures/sp-addmergepullsubscription-agent-transact-sql.md)매개 변수(../../../relational-databases/system-stored-procedures/sp-addmergepullsubscription-agent-transact-sql.md).

RMO: PublisherLoginPublisherPasswordRMO: PublisherLogin and PublisherPassword.

병합 에이전트 명령줄: -PublisherLogin-PublisherPasswordMerge Agent command line: -PublisherLogin and -PublisherPassword.

6.F. 배포자 연결Connection to the Distributor

IIS를 실행하는 컴퓨터에 호스팅되는 병합 복제 조정자는 배포자에도 연결합니다.The Merge Replication Reconciler that is hosted on the computer that is running IIS also makes connections to the Distributor. 병합 복제 조정자는 Windows 인증 또는 SQL ServerSQL Server 인증 중 하나를 사용하여 배포자에 연결합니다.The Merge Replication Reconciler connects to the Distributor by using either Windows Authentication or SQL ServerSQL Server Authentication. 사용자가 지정하는 Windows 사용자 또는 SQL ServerSQL Server 로그인은 다음 사항을 따라야 합니다.The Windows user or SQL ServerSQL Server login that you specify must comply with the following:

  • PAL(게시 액세스 목록)에 있어야 합니다.Be in the publication access (PAL). 자세한 내용은 게시자 보안 설정을 참조하세요.For more information, see Secure the Publisher.

  • 배포 데이터베이스의 데이터베이스 사용자와 연결되어야 합니다.Be associated with a database user in the distribution database. 이 사용자는 Guest 사용자일 수 있습니다.The user can be the Guest user.

    스냅숏 공유는 일반적으로 배포자에 있습니다.The snapshot share is typically on the Distributor. 스냅숏 공유에 대한 자세한 내용은 이 항목의 뒷부분에 나오는For more information about snapshot shares, see the section "H. "8. 스냅숏 공유에 대한 액세스" 섹션을 참조하십시오.Access to the snapshot share" later in this topic.

- 인증 유형- Type of authentication 인증 지정 위치Where the authentication is specified
Windows 인증은 다음 중 하나가 지정된 경우 사용됩니다.Windows Authentication is used if one of the following is specified:

- Transact-SQLTransact-SQL: 1@distributor_security_mode 매개 변수에 대해 @job_password매개 변수 - Transact-SQLTransact-SQL: a value of 1 for the @distributor_security_mode parameter of sp_addmergepullsubscription_agent.
- RMO: DistributorSecurityModeIntegrated- RMO: a value of Integrated for DistributorSecurityMode.
- 병합 에이전트 명령줄: -DistributorSecurityMode에 대해 1- Merge Agent command line: a value of 1 for -DistributorSecurityMode.
IIS 연결(D)에 대해 지정된 Windows 사용자의 컨텍스트에서 병합 에이전트가 배포자에 연결합니다.The Merge Agent makes connections to the Distributor under the context of the Windows user that is specified for the connection to IIS (D). 배포자와 IIS가 서로 다른 컴퓨터에 있고 연결(D)에 통합 인증을 사용하는 경우 IIS를 실행하는 컴퓨터에서 Kerberos 위임을 사용해야 합니다.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. 자세한 내용은 Windows 설명서를 참조하세요.For more information, see the Windows documentation.
SQL ServerSQL Server 인증은 다음 중 하나가 지정된 경우 사용됩니다. Authentication is used if one of the following is specified:

- Transact-SQLTransact-SQL: SubscriberSecurityMode@distributor_security_mode 매개 변수에 대해 @job_password매개 변수 - Transact-SQLTransact-SQL: a value of 0 for the @distributor_security_mode parameter of sp_addmergepullsubscription_agent.
- RMO: DistributorSecurityModeStandard- RMO: a value of Standard for DistributorSecurityMode.
- 병합 에이전트 명령줄: -DistributorSecurityMode에 대해 0- Merge Agent command line: a value of 0 for -DistributorSecurityMode.
Transact-SQLTransact-SQL: @distributor_login@distributor_password 및 [@job_password]<span data-ttu-id="4725d-222">(../../../relational-databases/system-stored-procedures/sp-addmergepullsubscription-agent-transact-sql.md)매개 변수(../../../relational-databases/system-stored-procedures/sp-addmergepullsubscription-agent-transact-sql.md).

RMO: DistributorLoginDistributorPasswordRMO: DistributorLogin and DistributorPassword

병합 에이전트 명령줄: -DistributorLogin-DistributorPasswordMerge Agent command line: -DistributorLogin and -DistributorPassword.

7.G. FTP 서버 연결Connection to an FTP Server

구독자에 스냅숏을 적용하기 전에 UNC 위치가 아닌 FTP 서버에서 IIS를 실행하는 컴퓨터로 스냅숏 파일을 다운로드하려는 경우에만 이 연결에 대해 Windows 사용자를 지정합니다.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. 자세한 내용은 FTP를 통해 스냅숏 전송을 참조하세요.For more information, see Transfer Snapshots Through FTP.

인증 유형Type of authentication 인증 지정 위치Where the authentication is specified
Windows 인증Windows Authentication Transact-SQLTransact-SQL: @ftp_login@ftp_password 및 [@ftp_password]<span data-ttu-id="4725d-232">(../../../relational-databases/system-stored-procedures/sp-addmergepublication-transact-sql.md)매개 변수(../../../relational-databases/system-stored-procedures/sp-addmergepublication-transact-sql.md).

RMO: FtpLoginFtpPasswordRMO: FtpLogin and FtpPassword.

8.H. 스냅숏 공유에 대한 액세스Access to the Snapshot Share

스냅숏 공유는 IIS를 실행하는 컴퓨터에 호스팅되는 병합 복제 조정자에 의해 액세스됩니다.The snapshot share is accessed by the Merge Replication Reconciler that is hosted on the computer that is running IIS.

인증 유형Type of authentication 인증 지정 위치Where the authentication is specified
Windows 인증Windows Authentication IIS 연결(D)에 대해 지정된 Windows 사용자의 컨텍스트에서 병합 에이전트가 스냅숏 공유에 액세스합니다.The Merge Agent accesses the snapshot share under the context of the Windows user that is specified for the connection to IIS (D). 스냅숏 공유와 IIS가 서로 다른 컴퓨터에 있고 연결(D)에 통합 인증을 사용하는 경우 IIS를 실행하는 컴퓨터에서 Kerberos 위임을 사용해야 합니다.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. 자세한 내용은 Windows 설명서를 참조하세요.For more information, see the Windows documentation.

9.I. IIS의 응용 프로그램 풀 계정Application Pool Account for IIS

이 계정은 IIS를 실행하는 컴퓨터에서 Windows Server 2003Windows Server 2003 에 대해 W3wp.exe 프로세스를 시작하거나 Windows 2000Windows 2000에서 Dllhost.exe 프로세스를 시작하는 데 사용됩니다.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. 이러한 프로세스는 SQL ServerSQL Server 복제 수신기 및 병합 복제 조정자와 같이 IIS를 실행하는 컴퓨터에 응용 프로그램을 호스팅합니다.These processes host applications on the computer that is running IIS, such as the SQL ServerSQL Server Replication Listener and Merge Replication Reconciler. 이 계정에는 IIS를 실행하는 컴퓨터에서 다음 복제 DLL에 대한 읽기 및 실행 권한이 있어야 합니다.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

    또한 이 계정은 IIS_WPG 그룹의 일부여야 합니다.The account should also be part of IIS_WPG group. 자세한 내용은 웹 동기화를 위한 IIS 구성의 " SQL ServerSQL Server 복제 수신기에 대한 사용 권한 설정" 섹션을 참조하세요.For more information, see the section "Setting Permissions for the SQL ServerSQL Server Replication Listener" in Configure IIS for Web Synchronization.

계정 유형Type of account 계정 지정 위치Where the account is specified
필요한 사용 권한이 있는 모든 Windows 사용자Any Windows user that has the required permissions. 인터넷 정보 서비스(IIS) 관리자Internet Information Services (IIS) Manager.

관련 항목:See Also

웹 동기화 구성 Configure Web Synchronization
Replication Merge Agent Replication Merge Agent