두 SharePoint Server 팜 간 검색 트러스트 구성
적용 대상:2013 2016 2019 Subscription Edition SharePoint in Microsoft 365
검색 인덱스의 결과를 온-프레미스 SharePoint Server 팜으로 반환하도록 온-프레미스 SharePoint Server 콘텐츠 팜을 구성하려면 다음 두 가지 주요 절차를 수행해야 합니다.
- 검색 쿼리를 받을 팜에서 다음을 수행하여 쿼리를 보낼 팜의 트러스터를 구성합니다.
OAuth 2.0(Open Authorization 2.0) 웹 인증 프로토콜을 사용하여 서버 간 트러스트 관계를 구성합니다.
쿼리를 수신하는 팜이 콘텐츠를 호스트하는 모든 웹 응용 프로그램의 검색 결과를 반환할 수 있도록 합니다.
- 검색 쿼리를 전송하는 팜에서 다음을 수행하는 결과 원본을 만듭니다.
원격 SharePoint를 프로토콜로 지정합니다.
검색 쿼리를 수신할 SharePoint Server 팜에 있는 모든 루트 사이트 모음의 주소를 지정합니다.
자세한 내용은 SharePoint Server에서 검색에 대한 결과 원본 구성을 참조하세요.
참고
결과 원본을 만든 후 웹 파트 또는 쿼리 규칙 동작에서 사용하여 제공되는 검색 결과를 노출합니다. 이렇게 하면 검색 쿼리를 보내는 팜의 사용자가 쿼리를 수신하는 팜의 결과를 볼 수 있습니다. 자세한 내용은 SharePoint Server에서 검색에 대한 결과 원본 이해를 참조하세요.
이 문서에서는 위 목록에서 첫 번째 절차를 수행하는 방법, 즉 검색 쿼리를 수신하는 팜이 쿼리를 전송하는 팜을 신뢰하도록 구성하는 방법을 설명합니다.
이 문서에서는 다음과 같은 용어가 사용됩니다.
SendingFarm | ReceivingFarm에 검색 쿼리를 전송하는 검색 서비스가 있는 온-프레미스 SharePoint Server 팜입니다. |
ReceivingFarm | SendingFarm에서 검색 쿼리를 수신하는 검색 인덱스가 있는 온-프레미스 SharePoint Server 콘텐츠 팜입니다. 이 문서에서는 ReceivingFarm에 콘텐츠를 호스트하는 하나 이상의 웹 응용 프로그램이 있다고 가정합니다. |
SendingFarm이 ReceivingFarm의 검색 인덱스에서 검색 결과를 가져올 수 있도록 하려면 팜이 다음과 같은 특성을 가져야 합니다.
각 팜이 SharePoint Server 온-프레미스 배포입니다.
두 팜의 사용자 프로필이 동기화됩니다. 자세한 내용은 SharePoint Server의 서버 간 인증 및 사용자 프로필을 참조하세요.
참고
SharePoint Server은 IIS(인터넷 정보 서비스)에서 웹 사이트로 실행되므로 관리자와 사용자가 브라우저에서 제공하는 접근성 기능을 사용합니다. SharePoint Server에서는 지원되는 브라우저의 접근성 기능을 지원합니다. 자세한 내용은 다음 참조 자료를 참조하세요.
ReceivingFarm이 SendingFarm을 신뢰하도록 구성하려면
- 이 절차를 수행하는 계정이 다음 그룹의 구성원인지 확인합니다.
ReceivingFarm의 Farm Administrators 그룹
Microsoft PowerShell cmdlet을 실행 중인 서버의 Administrators 그룹
해당 서버의 관리자는 Add-SPShellAdmin cmdlet을 사용하여 다른 사람에게 SharePoint Server cmdlet을 사용할 수 있는 권한을 부여할 수 있습니다. Add-SPShellAdmin cmdlet을 실행하는 경우 SQL Server 인스턴스의 securityadmin 고정 서버 역할에 멤버 자격이 있어야 하며 업데이트할 모든 데이터베이스에서 db_owner 고정 데이터베이스 역할의 멤버 자격이 있어야 합니다. 자세한 내용은 Add-SPShellAdmin을 참조하십시오. 시스템 관리자 또는 SQL Server 관리자에게 문의하여 구성원이 없는 경우 이러한 멤버 자격을 요청합니다.
ReceivingFarm의 서버에서 SharePoint 관리 셸을 시작합니다.
Windows Server 2008 R2의 경우:
SharePoint Server 환경의 시작 메뉴에서 모든 프로그램, SharePoint 2016, SharePoint 관리 셸을 차례로 선택합니다.
Windows Server 2012의 경우:
SharePoint Server 환경의 시작 페이지에서 SharePoint 관리 셸을 선택합니다.
SharePoint 관리 셸이 시작 페이지에 없는 경우 컴퓨터를 마우스 오른쪽 단추로 클릭하고 모든 앱을 선택한 다음 SharePoint 관리 셸을 선택합니다.
Windows Server 2012와 상호 작용하는 방법에 대한 자세한 내용은 Windows Server 2012의 일반 관리 작업 및 탐색을 참조하세요.
ReceivingFarm의 서버에서 PowerShell 명령 프롬프트를 사용하여 다음 명령을 실행합니다. 이러한 명령은 OAuth 2.0 웹 인증 프로토콜을 사용하여 서버 간 트러스트를 구성하므로 ReceivingFarm이 SendingFarm을 신뢰하게 됩니다.
# Create a trusted security token issuer $i = New-SPTrustedSecurityTokenIssuer -Name "SendingFarm" -IsTrustBroker:$false -MetadataEndpoint "https://<SendingFarm_web_application>/_layouts/15/metadata/json/1" # Configure trust of the token-signing certificate' # by adding the trust used to sign oAuth tokens' # to the list of trusted root authorities' # in ReceivingFarm New-SPTrustedRootAuthority -Name "SendingFarm" -MetadataEndPoint https://<SendingFarm_web_application>/_layouts/15/metadata/json/1/rootcertificate
여기서 각 부분이 나타내는 의미는 다음과 같습니다.
https://<SendingFarm_web_application>은 SendingFarm의 SSL 기반 웹 응용 프로그램입니다.
중요
들어오는 서버 간 요청용 서버 간 인증 끝점을 포함하거나 나가는 서버 간 요청을 수행하는 웹 응용 프로그램은 SSL(Secure Sockets Layer)을 사용하도록 구성해야 합니다. 웹 응용 프로그램이 SSL을 사용하도록 구성하는 방법에 대한 자세한 내용은 SharePoint Server의 클레임 기반 웹 응용 프로그램 만들기를 참조하세요. 서버 간 요청에 대해 HTTP 지원을 구성하는 방법에 대한 자세한 내용은 Configure server-to-server authentication in SharePoint Server에서 Configure server-to-server authentication between SharePoint Server farms을 참조하세요.
ReceivingFarm의 서버에서 PowerShell 명령 프롬프트를 사용하여 다음 명령을 실행합니다.
# Use $realm to store the string' # that comes after the "@" character' # in the value of $i.NameId $realm = $i.NameId.Split("@")
ReceivingFarm의 서버에서는 PowerShell 명령 프롬프트에서 다음 명령을 실행하여 ReceivingFarm의 모든 웹 응용 프로그램이 SendingFarm으로 검색 결과를 반환하도록 합니다.
$s1 = Get-SPSite -Identity https://<ReceivingFarm_web_application> $sc1 = Get-SPServiceContext -Site $s1 # Set up an authentication realm for' # a web application that hosts content in ReceivingFarm Set-SPAuthenticationRealm -ServiceContext $sc1 -Realm $realm[1] # Get a reference to the application principal' # for that web application in Farm B $p = Get-SPAppPrincipal -Site https://<ReceivingFarm_web_application> -NameIdentifier $i.NameId # Grant rights to the application principal' # that SendingFarm will use' # when it sends queries to ReceivingFarm Set-SPAppPrincipalPermission -Site https://<ReceivingFarm_web_application> -AppPrincipal $p -Scope SiteCollection -Right FullControl
여기서 각 부분이 나타내는 의미는 다음과 같습니다.
https://<ReceivingFarm_web_application>은 ReceivingFarm의 SSL 기반 웹 응용 프로그램입니다.
검색하려는 콘텐츠를 호스트하는 ReceivingFarm의 각 웹 응용 프로그램에서 이전 단계(5단계)를 반복합니다.
참고 항목
SharePoint Server에서 서버 간 인증 계획
SharePoint Server에서 서버 간 인증 계획
SharePoint Server에서 서버 간 인증 구성
SharePoint 2013에서 팜 간에 oAuth 트러스트 설정