2014-07-09 3 views
2

BCS 사용자 지정 커넥터를 사용하여 SharePoint 2013으로 ADFS 로그인시 트리밍 보안이 작동하지 않습니다. 작동하지 않으면 Windows 인증을 통해 로그인 할 때 이러한 BCS 레코드에 액세스 할 수있는 사용자가 검색에서이를 볼 수 있음을 의미합니다 (정확함). ADFS로 로그인 한 동일한 사용자는 검색에서이 동일한 레코드를 볼 수 없습니다 (올바르지 않습니다).사용자 지정 .NET 커넥터에 추가 된 사용자 지정 ACL이있는 BCS 보안 트림 된 항목을 검색 결과 내에서 ADFS 사용자가 사용할 수 있도록 만드는 방법

내가 가지고있는 설치 프로그램은 ADFS가 설치된 Windows 2012 R2의 SharePoint 2013입니다. SQL Server 데이터베이스가 사용자 지정 .NET 커넥터가있는 BCS를 통해 크롤링되고 있습니다. 커넥터는 ACL을 추가하여 크롤링시 보안 트리밍을 제공합니다. ACL은 여러 AD 사용자가 구성원으로있는 AD 보안 그룹을 기반으로 만들어집니다 (로그인 한 사용자는이 구성원 중 하나임). 광고 보안 그룹은 주장의 일부로 포함 다음과 같이 나타나있다 :

<saml:Attribute AttributeName="Group"AttributeNamespace="http://schemas.xmlsoap.org/claims"> 
    <saml:AttributeValue>BCSSecurityGroup1</saml:AttributeValue> 
</saml:Attribute> 

BCSSecurityGroup1가 사용자를 포함하는 AD 보안 그룹입니다.

이상한 점은 ACL 내에서 (즉 WellKnownSidType.WorldSid를 사용하여) 모든 사람들에게 ACL에 대한 액세스 권한을 부여하더라도 ADFS 로그인은 여전히 ​​검색에서 반환 된 항목을 얻지 못한다는 것입니다. 낯선 사람이라도 문제의 레코드에 대한 BCS 프로필 페이지의 URL로 이동하면 ADFS 사용자는 액세스 할 수 있습니다.

여기에 질문이 있습니다. 크롤링 할 때 ACL에 추가 된 보안을 검색 결과에 반영하려면 어떻게해야합니까?

+0

xml 클레임이 제거 된 것처럼 보입니다. 그러나 다음과 같습니다. – user3821609

답변

1

실제로 밝혀졌지만 실제로는 매우 간단합니다. 첫째, 문제 해결을 위해 AD 보안 그룹이 개별 AD 사용자로 변경되었습니다 (도메인 \ 사용자 이름). 커넥터에서 ACL이 어떻게 작성되었는지 살펴보면 도메인 계정이 SID를 가져 오는 데 사용되며 SID는 ACL을 작성하는 데 사용됩니다. 아하! 누락 된 링크는 AD FS 클레임에서 SID가 매핑되지 않은 것입니다. 이는 Fiddler 플러그인을 사용하여 inspector 탭 (http://identitymodel.codeplex.com/releases/view/52187) 아래에 클레임을 표시하여 결정했습니다.

AD FS에서 SID 클래임을 추가하는 것은 클레임 규칙으로 수행됩니다. "수신 클레임 통과 또는 필터링"템플릿에서 클레임 규칙을 추가합니다. 이름을 지정하고 들어오는 클레임 ​​유형에 대해 "기본 SID"를 선택하고 "모든 클레임 값 통과"가 선택되었는지 확인하십시오. 안심할 수 있도록 AD FS 서비스를 다시 시작하십시오. 또한 SharePoint의 신뢰할 수있는 ID 토큰 발급자가 SID 클레임 매핑으로 만들어 졌다고 가정합니다.

필자의 경우 AD 보안 그룹의 사용자 이름으로 변경되어 BCS 콘텐츠 소스에서 다른 크롤링을 실행해야했습니다. 아직 테스트하지는 않았지만 AD 보안 그룹도 같은 방식으로 작동해야하지만 그룹 SID를 통과해야합니다. 희망이 사람을 미래에 도움이됩니다. 건배!