다음을 통해 공유


SharePoint에서 사용자 선택기용 사용자 지정 클레임 공급자 계획

적용 대상:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

SharePoint Server에 포함된 클레임 공급자를 사용하거나 사용자 고유의 사용자 지정 클레임 공급자를 만들어 클레임의 추가 원본에 연결하고 사용자에 대한 보안 토큰에 추가 클레임을 제공할 수 있습니다. 예를 들어 CRM(Customer Relationship Management) 응용 프로그램이 AD DS(Active Directory 도메인 서비스)의 사용자 저장소에 없는 역할을 포함하는 경우, 해당 CRM 데이터베이스에 연결하는 사용자 지정 클레임 공급자를 만들어 CRM 역할 데이터를 사용자의 원래 보안 토큰에 추가할 수 있습니다. 클레임 공급자 사용 시나리오에 대한 자세한 내용은 클레임 공급자를 참조하십시오.

SharePoint Server의 클레임 공급자는 클레임을 보강하고 이름 확인을 제공하는 데 사용됩니다. 클레임 확대 역할에서 클레임 공급자는 로그인 중에 추가 클레임으로 사용자 토큰을 확대합니다. 클레임 확대에 대한 자세한 내용은 클레임 공급자를 참조하십시오. 이름 확인 역할에서 클레임 공급자는 사용자 선택에 "친숙한" 사용자, 그룹 및 클레임 표시를 나열, 확인, 검색 및 결정합니다. 클레임 선택을 사용하면 SharePoint 사이트 또는 SharePoint 서비스의 보안을 구성하는 등의 경우에 응용 프로그램이 사용자 선택에서 클레임을 표시할 수 있도록 합니다. People Picker에 대한 자세한 내용은 SharePoint에서 사용자 선택기 계획을 참조하세요.

기본적으로 쿼리를 수행할 때 사용자 선택에서 확인되는 정보는 클레임 공급자가 제공하는 정보에 따라 달라집니다. 제공된 정보와 기본 제공 클레임 공급자를 사용할 때 표시되는 방식을 변경할 수 없습니다. 이러한 항목을 변경하려면 사용자가 사이트, 목록, 라이브러리 등의 항목에 사용 권한을 할당할 때 사용자, 그룹 및 클레임을 찾고 선택하는 솔루션의 요구를 충족하는 사용자 지정 클레임 공급자를 만들어야 합니다.

사용자 지정 클레임 공급자를 만들 때는 사용자 선택 컨트롤로부터의 쿼리에 대한 응답으로 표시되는 정보와 반환되는 결과를 제어할 수 있습니다. 기본적으로는 웹 응용 프로그램이 클레임 인증을 사용하도록 구성한 다음, 서버에서 클레임 공급자를 등록합니다.

이 문서를 읽기 전에 SharePoint Server의 사용자 인증 방법 계획클레임 역할에 설명된 개념을 이해해야 합니다. 클레임 기반 인증에 대한 자세한 내용은 SharePoint 클레임 기반 ID클레임 기반 ID 및 액세스 제어 가이드를 참조하십시오.

아키텍처

클레임 기반 인증을 사용하도록 웹 애플리케이션이 구성된 경우 SharePoint Server는 두 개의 기본 클레임 공급자를 자동으로 사용합니다.

웹 애플리케이션 영역에 대해 선택한 인증 방법에 따라 SharePoint Server는 표 1에 나열된 하나 이상의 기본 클레임 공급자도 사용합니다.

표 1. 인증 방법 및 기본 클레임 공급자

인증 방법 클레임 공급자
Windows 인증
SPActiveDirectoryClaimProvider
양식 기반 인증
SPFormsClaimProvider
SAML(Security Assertion Markup Language) 토큰 기반 인증
SPTrustedClaimProvider

Get-SPClaimProvider Microsoft PowerShell cmdlet을 사용하여 팜에 대한 클레임 공급자 목록을 볼 수 있습니다.

참고

웹 응용 프로그램이 SAML 토큰 기반 인증을 사용하도록 구성된 경우 SPTrustedClaimProvider 클래스는 사용자 선택 웹 컨트롤에 대해 검색 기능을 제공하지 않습니다. 사용자 선택 컨트롤에 입력한 텍스트는 유효한 사용자, 그룹 또는 클레임인지 여부에 관계없이 확인된 것처럼 자동으로 표시됩니다. SharePoint Server 솔루션에서 SAML 토큰 기반 인증을 사용하는 경우 사용자 지정 검색 및 이름 확인을 구현하는 사용자 지정 클레임 공급자를 만들 계획입니다.

클레임 공급자는 팜에 배포된 기능으로 서버 팜에 등록됩니다. 클레임 공급자 범위는 팜 수준으로 지정됩니다. 각 클레임 공급자 개체는 SPClaimProviderDefinition 클래스를 사용하여 표시 이름, 설명, 어셈블리 및 유형과 같은 클레임 공급자에 대한 정보를 포함합니다. SPClaimProviderDefinition 클래스의 중요한 두 가지 속성은 IsEnabled와 IsUsedByDefault입니다. 이러한 속성은 등록된 클레임 공급자가 팜에서 사용할 수 있도록 설정되었는지 여부와 클레임 공급자가 특정 영역에서 기본적으로 사용되는지 여부를 결정합니다. 기본적으로 모든 클레임 공급자는 서버 팜에 배포될 때 사용하도록 설정됩니다. SPClaimProviderDefinition 클래스에 대한 자세한 내용은 SPClaimProviderDefinition 을 참조하세요.

영역 및 인증에 대한 자세한 내용은 SharePoint Server에서 사용자 인증 방법 계획을 참조하세요.

사용자 지정 클레임 공급자 구성 예

기본적으로 팜에서 사용자 지정 클레임 공급자를 등록할 때는 IsEnabled 및 IsUsedByDefault 속성이 모두 True로 설정됩니다. SharePoint Server 솔루션에 필요한 영역 수, 각 영역에서 사용하는 인증 방법 및 각 영역에 대한 사용자에 따라 사용자 지정 클레임 공급자가 피플 선택기에 표시되는 영역을 제한할 수 있습니다.

클레임 공급자는 팜 수준에서 범위가 지정되고 영역 수준에서 사용하도록 설정되므로, 사용자 지정 클레임 공급자를 표시할 영역을 세심하게 계획해야 합니다. 일반적으로 IsUsedByDefault 속성이 False로 설정되어 있는지 확인하고 사용자 지정 클레임 공급자를 사용할 각 영역에 대해 SPIisSettings 클래스를 구성해야 합니다. 선택 영역에 대한 사용자 지정 클레임 공급자를 구성하려면 ClaimsProviders() 속성을 사용하여 영역에 대한 클레임 공급자를 설정하는 PowerShell 스크립트를 만들거나 사용자 지정 애플리케이션을 만들어 선택 영역에 대해 사용자 지정 클레임 공급자를 사용하도록 설정할 수 있습니다.

예를 들어 두 웹 응용 프로그램이 있는 시나리오를 고려해 보겠습니다.

  • 첫 번째 웹 응용 프로그램인 PartnerWeb에는 직원과 파트너 간의 공동 작업에 사용되는 두 개의 영역이 있는데, 그 중 하나는 Windows 클레임 기반 인증을 사용하는 인트라넷이고 다른 하나는 폼 기반 인증을 사용하는 엑스트라넷입니다.

  • 두 번째 웹 응용 프로그램인 PublishingWeb에는 폼 기반 인증을 사용하는 하나의 영역만 있습니다. 이 영역은 직원, 비즈니스 파트너 및 고객 파트너용의 인터넷 게시 사이트입니다

PartnerWeb의 엑스트라넷 영역에 대해 직원들이 비즈니스 파트너와 공동 작업을 할 수 있고 고객 파트너와는 공동 작업을 할 수 없도록 지정하려고 합니다. 이렇게 하려면 사용자의 ID를 기반으로 현재 사용자가 비즈니스 파트너인지 고객 파트너인지를 확인하는 사용자 지정 클레임 공급자를 작성합니다. 이 예제에서는 fabrikam.com의 사용자가 비즈니스 사용자이고 contoso.com의 사용자가 고객 파트너입니다. 비즈니스 파트너인 사용자가 PartnerWeb 웹 응용 프로그램에서 인증되면 BusinessPartner라는 역할에 대한 클레임이 클레임 토큰에 추가됩니다. 고객 파트너가 인증되면 CustomerPartner라는 역할에 대한 클레임이 클레임 토큰에 추가됩니다.

고객 파트너가 엑스트라넷 공동 작업 사이트에 추가되지 않도록 하려면 CustomerPartner라는 역할에 대한 클레임이 있는 사용자에 대한 액세스를 명시적으로 거부하는 엑스트라넷 영역에 대한 PartnerWeb 웹 애플리케이션에 웹 애플리케이션 정책을 추가합니다. 또한 사용자 지정 클레임 공급자는 웹 애플리케이션 정책에 추가할 수 있도록 CustomerPartner 역할 클레임을 해결하기 위해 웹 애플리케이션 정책에 대한 검색 및 입력 지원을 구현해야 합니다. 마지막으로 엑스트라넷 영역에서 이 기능을 사용하도록 설정하려면 해당 영역에 대한 SPIisSettings 클래스가 사용자 지정 클레임 공급자를 사용하도록 구성합니다. 다음 다이어그램에서는 각 웹 애플리케이션 및 영역에 대한 인증 방법 및 클레임 공급자 설정을 보여 줍니다.

그림 1. 웹 응용 프로그램 및 영역에 대한 인증 방법 및 클레임 공급자 설정 예

SPIisSettings 다이어그램

IsUsedByDefault 속성을 설정하려면 사용자 지정 클레임 공급자에 대해 만드는 기능 수신기에서 해당 속성을 구성하면 됩니다.

Set-SPClaimProvider PowerShell cmdlet을 사용하여 IsEnabled 및 IsUsedByDefault 속성의 설정을 재정의할 수도 있습니다.

중요

IsEnabled 속성을 False로 변경하면 서버 팜에 대해 클레임 공급자가 사용하지 않도록 설정됩니다. 이렇게 하면 사용자 지정 클레임 공급자로 인해 발생했을 수 있는 문제를 해결하는 데 유용할 수 있습니다. 일반적으로 IsEnabled 속성은 True로 설정해야 합니다.

둘 이상의 폼에서 사용자 지정 클레임 사용

클레임 값에는 클레임 자체, 클레임 공급자 이름 및 클레임 공급자가 서버에 설치된 순서가 조합되어 있습니다. 따라서 여러 팜이나 환경에서 클레임을 사용하려는 경우에는 클레임을 사용하려는 순서대로 각 팜에서 클레임 공급자를 설치해야 합니다. 팜에서 사용자 지정 클레임 공급자를 설치했으며, 추가 팜에서 같은 클레임을 사용하려는 경우 다음 단계를 따르십시오.

  1. 첫 번째 팜에서 등록한 것과 같은 순서로 추가 팜에서 클레임 공급자를 등록합니다.

  2. 첫 번째 팜의 백업을 수행합니다. 팜을 백업하는 방법에 대한 자세한 내용은 SharePoint Server에서 팜 백업을 참조하세요.

  3. 첫 번째 팜의 백업을 사용하여 다른 팜을 복원합니다. 팜을 복원하는 방법에 대한 자세한 내용은 SharePoint Server에서 팜 복원을 참조하세요.

사용자 지정 클레임 공급자 계획 관련 고려 사항

SharePoint 솔루션에서 사용자 선택과 함께 사용할 사용자 지정 클레임 공급자를 계획할 때는 다음 사항을 고려하십시오.

  • 웹 응용 프로그램에 포함할 영역과 각 영역에서 사용할 인증 방법

  • 고급 사용 권한 또는 보안 시나리오를 사용하기 위해 사용자에게 추가해야 하는 사용자 지정 클레임이 있는지 여부

  • 신뢰할 수 있는 ID 공급자를 통해 SAML 인증을 사용할지 여부

  • 사용자 선택 쿼리 결과에 표시할 사용자 및 역할에 대한 값의 원본

SharePoint Server 콘텐츠 게시 팀은 이 문서에 기여해 주신 Steve Peschka에게 감사드립니다. Steve Peschka의 Share-n-dipity TechNet 블로그를 살펴보세요.

참고 항목

개념

사용자 선택 및 클레임 공급자 개요

SharePoint Server에서 사용자 인증 방법 계획